LedgerBee Developer
  • Getting started
  • Conventions
  • Products
  • Advisor firms
  • Configuration
  • API Reference
Information
Accounts
    List accountsgetCreate an accountpostGet an accountgetDelete an accountdeleteUpdate an accountpatch
Advisor Authority Extracts
    Submit authority extract data for an advisor firm's clientspost
Advisor Clients
    List the advisor firm's clientsget
API Key
    Get current API keyget
Authority Extracts
    Submit authority extract datapost
Bank Reconciliations
    Reconcile bank lines against entriespostUndo a bank reconciliationpostCheck what undoing a reconciliation would dopostReconcile a batch of matchespostCheck what reconciling a batch of matches would dopostCheck what reconciling bank lines against entries would dopost
Bank Transactions
    List bank linesgetGet a bank linegetDismiss bank lines from reconciliationpostCheck which bank lines a dismiss would changepostRestore dismissed bank lines to reconciliationpostCheck which bank lines a restore would changepost
Billing Groups
    Form a billing grouppostGet a billing groupgetAdd members to a billing grouppostRemove a member from a billing groupdeleteCheck billing group eligibilitypost
Budgets
    List budgetsgetGet a budgetgetGet the budget vs actuals comparisongetExport a budget's Excel workbookgetOverwrite a budget's figures from an edited workbookpostList a budget's frozen baselinesgetGet a frozen baseline with its snapshot cellsgetList a budget's re-baseline proposalsgetList a budget's scenariosgetResolve a budget's grid under a scenariogetGet the variance report vs a frozen baselinegetGet the runway headlineget
Checkout
    Confirm the checkoutpostQuote a first periodpostIntegration readinessgetMint a checkout sessionpostRehydrate a sessiongetRelease the card hold (edit-after-card)postPoll card statusgetOpen the card windowpostOpen a card window for a live subscriptionpost
Company
    Get company detailsget
Connected app OAuth
    JSON Web Key Set used to verify OAuth access-token signaturesgetRFC 8414 authorization-server metadata for the connected-app OAuth servergetRFC 9728 protected-resource metadata for an MCP resourcegetRFC 9728 protected-resource metadata for an MCP resourcegetOpenID Connect discovery document for the connected-app OAuth serverget
Credit Note Links
    Link a credit note to the invoice it creditspostCheck a credit note’s links and the invoices it can be linked topostDetach a credit note from the invoices it is applied topost
Credit Notes
    List credit notesgetCreate a credit notepostGet a credit notegetGet the delivery status of a credit notegetDownload the credit note PDFgetSend a credit note to the customerpostCredit a whole invoicepost
Customers
    List customersgetCreate a customerpostGet a customergetDelete a customerdeleteUpdate a customerpatchList a customer's contactsgetList a customer's departmentsgetList customer groupsget
Dimensions
    List all dimensionsgetCreate a new dimension categorypostGet a dimensiongetUpdate a dimension categoryputDelete a dimension categorydeleteList distribution keys (paginated)getCreate a distribution keypostGet a distribution keygetList dimension values (paginated)getCreate a new dimension valuepostUpdate a dimension valueputDelete a dimension valuedelete
Discounts
    List discountsgetCreate a discountpostGet a discountgetDelete a discountdeleteUpdate a discountpatchSet a discount's amount in one currencyputRemove a discount's amount in one currencydeleteCheck whether a discount applies to a product for a customer on a daygetAssign a discountpostRemove an assignmentdeleteUpdate an assignmentpatchList a discount's codesgetAdd a code to a discountpostDelete a codedeleteUpdate a codepatchList the discounts that apply to a product for a customer on a daygetCheck a cartpostLook up a discount codeget
Document Templates
    List document templatesget
Document Upload Links
    Upload a file through a minted linkpost
Download Links
    Mint a download link for a document PDFgetDownload a minted linkget
Draft Journal Entries
    Create multiple draft journal entries in batchpostList draft journal entriesgetCreate a draft journal entrypostGet a draft journal entrygetDelete a draft journal entrydeleteBook a draft journal entrypost
Draft Journal Entries (v2)
    Create draft journal entries in batch (v2)postList draft journal entries (v2)getCreate a draft journal entry (v2)postGet a draft journal entry (v2)getDelete a draft journal entry (v2)deleteUpdate a draft journal entry (v2)patchGet attachments for a draft journal entry (v2)getAdd a document to a draft journal entry (v2)postRemove a document from a draft journal entry (v2)deleteBook a draft journal entry (v2)post
Entitlements
    List entitlementsgetCreate an entitlementpostGet an entitlementgetDelete an entitlementdeleteUpdate an entitlementpatch
Invoices
    List invoicesgetCreate a draft invoicepostGet an invoicegetDelete a draft invoicedeleteUpdate an unsent invoicepatchGet the delivery status of an invoicegetDownload the invoice PDFgetSend an invoice to the customerpost
Journal Categories
    List journal categoriesgetCreate a journal categorypostUpdate a journal categoryputDelete a journal categorydelete
Journal Entries
    List journal entriesgetGet a journal entrygetUpdate a journal entry — correct the reference and/or set your external system idpatchGet attachments for a journal entrygetAdd a document to a journal entrypostRemove a document from a journal entrydeletePreview a correction without posting itpostMove postings to different accounts, keeping the document intactpostRebuild the entry a reversal undid, as a draftpostPreview rebuilding the entry a reversal undidpostReverse a posted entry and open a draft to re-enter itpostReverse posted journal entries in batchpostPreview reversing posted journal entries in batchpostReverse a posted journal entrypostPreview reversing a posted journal entrypost
Journal Entries (v2)
    Create a journal entry (v2)postCreate journal entries in batch (v2)post
MCP
    LedgerBee Developer MCP Serverpost
Meters
    List meter subscriptions by IDgetReport usagepostList meter subscriptions by nameget
Open Entries
    List a counterparty’s open entriesget
Order Confirmations
    List order confirmationsgetCreate a draft order confirmationpostGet an order confirmationgetUpdate a draft order confirmationpatchConvert an order confirmation into an invoicepostDownload an order confirmation as PDFgetSend an order confirmationpost
Payment Methods
    List saved payment methods for a customergetCancel a saved card on the payment providerdeleteUnassign a payment method from a customerdeleteGenerate a link for the customer to save a card for future paymentspostSet a saved payment method as the customer defaultput
Portal Plans
    List the full plan cataloguegetGet a plangetResolve the gated pricing catalogue for an identified buyer (partner display)post
Portal SSO
    Get a tenant's SSO signing keys (JWKS)getMint a checkout-vouch token (partner-vouched anonymous checkout)postMint a customer-portal SSO handoff referencepostProvision a customer + grant portal access (partner JIT provisioning)postRevoke (force-refresh) a user's customer-portal sessionspost
Product Groups
    List product groupsgetCreate a product grouppostGet a product groupgetDelete a product groupdeleteUpdate a product grouppatch
Product Prices
    Create a product pricepostGet a product pricegetDelete a product pricedeleteUpdate a product pricepatchActivate a product pricepostArchive a product pricepostDisable a product pricepostSet a price as the product defaultpost
Products
    List productsgetCreate a productpostGet a productgetDelete a productdeleteUpdate a productpatchArchive a productpost
Projects
    List all projectsgetCreate or update a project by external referenceputCreate a projectpostGet a projectgetUpdate a projectputGet project profitgetAdd a subprojectpostUpdate a subprojectputDelete a subprojectdelete
Quotes
    List quotesgetCreate a draft quotepostGet a quotegetUpdate a draft quotepatchConvert a quotepostDownload a quote as PDFgetSend a quotepost
Settlements
    List a counterparty’s settlementsgetSettle open entries against each otherpostGet a settlementgetUndo a settlementpostCheck what undoing a settlement would dopostCheck what settling these entries would dopost
Shipments
    List shipmentsgetCreate a shipment from an orderpostGet a shipmentgetCancel a shipmentpostDispatch a shipmentpost
Stock
    List stock movementsgetList on-hand stockgetOn-hand for one productget
Subscriptions
    List customer subscriptionsgetAssign a subscription to a customerpostGet a customer subscription by its stable idgetUpdate a customer subscriptionpatchAdd an add-on to a customer subscriptionpostAttach existing subscriptions as add-onspostCheck whether subscriptions can become add-onspostChange the products on a customer subscriptionpostRetry a failed card paymentpostList a subscription's pending scheduled changesgetCancel a single pending scheduled changedeleteGet a subscription's unbilled usagegetCancel a customer subscriptionpostList subscription plansgetCreate a subscription planpostArchive a subscription planpost
Suppliers
    List suppliersgetCreate a supplierpostDelete a supplierdeleteList supplier contactsgetList supplier departmentsgetList supplier groupsget
VAT Codes
    List VAT codesgetCreate a VAT codepostGet a VAT codegetDelete a VAT codedeleteUpdate a VAT codepatch
VAT periods
    Record a VAT return filed outside LedgerBeepostPreview recording a VAT return filed outside LedgerBeepostSettle a filed VAT periodpostPreview a VAT period settlementpost
Vendors
    List vendorsgetCreate a vendorpostList vendor contactsgetList vendor departmentsgetList vendor groupsget
Webhook Endpoints
    List webhook endpointsgetCreate a webhook endpointpostRetrieve a webhook endpointgetUpdate a webhook endpointputDelete a webhook endpointdeleteRoll the signing secretpostSend a test eventpost
Schemas
LedgerBee Public API
LedgerBee Public API

Product Prices

Download schema

Prices for catalogue products. A price ID is what an invoice / quote / order-confirmation line references to bill a real product. Covers flat-rate, package, volume, graduated and usage-based (metered) pricing.


Create a product price

POST
https://api.ledgerbee.com/api
/v1/product-prices
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Creates a price on a product (productId). currency defaults to the company default currency when omitted.

The price is created active (usable on invoices and subscriptions immediately). Pass status: "draft" to stage it instead, then publish it later with the activate endpoint.

Required Scope

  • products-write

Create a product price › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Create a product price › Request Body

CreateProductPriceRequest
productId
​string · required

The product this price belongs to

Example: 550e8400-e29b-41d4-a716-446655440000
billingPeriodType
​string · enum · required

Billing period type. RECURRING and USAGE both require a Subscription license.

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
nickname
​string

Optional nickname (e.g. "Monthly")

Example: Monthly
status
​string · enum

Initial status. Defaults to active, so the price is usable immediately. Pass draft to stage it and publish it later via the activate endpoint.

Enum values:
active
draft
Default: active
unitAmount
​string

Unit amount. Required for FLAT_RATE pricing; for tiered models (PACKAGE/VOLUME/GRADUATED) the amounts live in tiers.

Example: 99.99
billingInterval
​string · enum

Billing interval (required unless one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number

Billing interval count

Example: 1
currency
​string · minLength: 3 · maxLength: 3

Currency code (ISO 4217). Defaults to the company default.

Example: DKK
meterId
​string

Meter ID (required for USAGE pricing)

​CreateProductPriceTierRequest[]

Pricing tiers. Required for tiered models: PACKAGE (exactly 1), VOLUME / GRADUATED (one or more, last tier open-ended). Omit for FLAT_RATE.

Create a product price › Responses

Product price created successfully

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

POST/v1/product-prices
curl https://api.ledgerbee.com/api/v1/product-prices \ --request POST \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "productId": "550e8400-e29b-41d4-a716-446655440000", "nickname": "Monthly", "status": "active", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "meterId": "string", "tiers": [ { "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ] }'
Example Request Body
{ "productId": "550e8400-e29b-41d4-a716-446655440000", "nickname": "Monthly", "status": "active", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "meterId": "string", "tiers": [ { "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ] }
json
application/json
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Get a product price

GET
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Returns a single product price.

Pass ?currency= to get the amount in another ISO 4217 currency — the amount is converted on the fly when no price-history entry exists for that currency.

Required Scope

  • products-read

Get a product price › path Parameters

priceId
​string · required

Product price ID

Get a product price › query Parameters

currency
​string

ISO 4217 currency to return the amount in. Converts on the fly when no history entry exists.

Get a product price › Responses

Product price details

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

GET/v1/product-prices/{priceId}
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Delete a product price

DELETE
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Deletes a product price. A price that is locked (in use by a subscription or invoice) cannot be deleted.

Required Scope

  • products-write

Delete a product price › path Parameters

priceId
​string · required

Product price ID

Delete a product price › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Delete a product price › Responses

Product price deleted successfully

No data returned
DELETE/v1/product-prices/{priceId}
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId \ --request DELETE \ --header 'x-api-key: <api-key>'
Example Responses
No example specified for this content type

Update a product price

PATCH
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Updates a product price. Only the fields provided in the request are changed.

Required Scope

  • products-write

Update a product price › path Parameters

priceId
​string · required

Product price ID

Update a product price › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Update a product price › Request Body

UpdateProductPriceRequest
nickname
​string

Optional nickname

Example: Monthly
unitAmount
​string

Unit amount for flat-rate pricing. A FLAT_RATE price other than a surcharge must end up with an amount: an update that leaves it without one, or that turns a price FLAT_RATE without sending one, is refused with PRODUCT_SELLING_PRICE_REQUIRED_FOR_FLAT_RATE. A surcharge carries a percentage and no amount. A VOLUME or GRADUATED price left with no tiers is refused with PRODUCT_PRICING_TIERS_REQUIRED. Disabling or archiving is not refused for a missing amount or missing tiers.

Example: 99.99
billingPeriodType
​string · enum

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum

Pricing model

Enum values:
flat_rate
package
volume
graduated
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number

Billing interval count

Example: 1
currency
​string · minLength: 3 · maxLength: 3

Currency code (ISO 4217)

Example: DKK
status
​string · enum

Price status

Enum values:
draft
active
inactive
archived
meterId
​string

Meter ID for usage-based pricing

​CreateProductPriceTierRequest[]

Pricing tiers

Update a product price › Responses

Product price updated successfully

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

PATCH/v1/product-prices/{priceId}
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "nickname": "Monthly", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "status": "draft", "meterId": "string", "tiers": [ { "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ] }'
Example Request Body
{ "nickname": "Monthly", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "status": "draft", "meterId": "string", "tiers": [ { "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ] }
json
application/json
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Activate a product price

POST
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}/activate
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Sets the price's status to active. Returns the price's new state.

Required Scope

  • products-write

Activate a product price › path Parameters

priceId
​string · required

Product price ID

Activate a product price › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Activate a product price › Responses

Product price activated

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

POST/v1/product-prices/{priceId}/activate
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId/activate \ --request POST \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Archive a product price

POST
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}/archive
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Sets the price's status to archived. Returns the price's new state.

Required Scope

  • products-write

Archive a product price › path Parameters

priceId
​string · required

Product price ID

Archive a product price › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Archive a product price › Responses

Product price archived

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

POST/v1/product-prices/{priceId}/archive
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId/archive \ --request POST \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Disable a product price

POST
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}/disable
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Sets the price's status to inactive. Returns the price's new state.

Required Scope

  • products-write

Disable a product price › path Parameters

priceId
​string · required

Product price ID

Disable a product price › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Disable a product price › Responses

Product price disabled (set to inactive)

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

POST/v1/product-prices/{priceId}/disable
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId/disable \ --request POST \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Set a price as the product default

POST
https://api.ledgerbee.com/api
/v1/product-prices/{priceId}/set-default
x-api-key (header)
or
OAuth 2.0

Credential: a company's API key or OAuth token.

Makes this price the default price for its product. Returns the price's new state.

Required Scope

  • products-write

Set a price as the product default › path Parameters

priceId
​string · required

Product price ID

Set a price as the product default › Headers

x-api-idempotency-key
​string · maxLength: 255

Optional idempotency key for safely retrying mutating requests.

Set a price as the product default › Responses

Product price set as the default for its product

ProductPriceResponse
id
​string · required

The unique identifier of the price (use as a line priceId)

Example: 550e8400-e29b-41d4-a716-446655440000
productId
​string · required

The product this price belongs to

billingPeriodType
​string · enum · required

Billing period type

Enum values:
recurring
usage
one_time
surcharge
pricingModel
​string · enum · required

Pricing model

Enum values:
flat_rate
package
volume
graduated
currency
​string · required

Currency of the displayed unitAmount (ISO 4217)

Example: DKK
baseCurrency
​string · required

Base currency (source of truth for conversions)

Example: DKK
status
​string · enum · required

Price status

Enum values:
draft
active
inactive
archived
isDefault
​boolean · required

Whether this is the default price for the product

Example: false
isLocked
​boolean · required

Whether the price is locked (in use by a subscription/invoice)

Example: false
allowFreePrice
​boolean · required

The owning product's allowFreePrice: whether a 0 on this price is a deliberate free price rather than no price set.

Example: false
vatRatesByZone
​object · required

VAT rates by zone (derived from the product group), e.g. { domestic: "25", eu: "0", abroad: "0", domestic_without_vat: "0" }

nickname
​string | null

Optional nickname (e.g. "Monthly")

unitAmount
​string | null

Unit amount for flat-rate pricing in currency

Example: 99.99
billingInterval
​string | null · enum

Billing interval (null for one-time)

Enum values:
day
week
month
year
billingIntervalCount
​number | null

Billing interval count

Example: 1
availableCurrencies
​string[]

Currencies with a price-history entry

meterId
​string | null

Meter ID for usage-based pricing

​ProductPriceTierResponse[]

Pricing tiers (package/volume/graduated)

POST/v1/product-prices/{priceId}/set-default
curl https://api.ledgerbee.com/api/v1/product-prices/:priceId/set-default \ --request POST \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "productId": "productId", "nickname": "nickname", "unitAmount": "99.99", "billingPeriodType": "recurring", "pricingModel": "flat_rate", "billingInterval": "day", "billingIntervalCount": 1, "currency": "DKK", "baseCurrency": "DKK", "availableCurrencies": [ "string" ], "status": "draft", "isDefault": false, "isLocked": false, "allowFreePrice": false, "meterId": "meterId", "tiers": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "fromQuantity": 1, "toQuantity": 10, "unitAmount": "99.99", "flatFee": "10.00" } ], "vatRatesByZone": {} }
json
application/json

Product GroupsProducts