LedgerBee Developer
  • Getting started
  • Conventions
  • Products
  • Configuration
  • API Reference
Information
Accounts
    List accountsget
API Key
    Get current API keyget
Authority Extracts
    Submit authority extract datapost
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 comparisongetList 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-update 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 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 customergetUpdate 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
Document Templates
    List document templatesget
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)patchBook a draft journal entry (v2)post
Entitlements
    List entitlementsgetCreate an entitlementpostGet an entitlementgetDelete an entitlementdeleteUpdate an entitlementpatch
Invoices
    List invoicesgetCreate a draft invoicepostGet an invoicegetGet 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 entrygetPreview a correction without posting itpostMove postings to different accounts, keeping the document intactpostReverse a posted entry and open a draft to re-enter itpostReverse posted journal entries in batchpostReverse 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 settlementgetCheck what settling these entries would dopost
Subscriptions
    List customer subscriptionsgetAssign a subscription to a customerpostGet a customer subscription by its stable idgetUpdate a customer subscriptionpatchRetry a failed card paymentpostList a subscription's pending scheduled changesgetCancel a single pending scheduled changedeleteCancel a customer subscriptionpostList subscription plansgetCreate a subscription planpostArchive a subscription planpost
Suppliers
    List suppliersgetCreate a supplierpostList supplier contactsgetList supplier departmentsgetList supplier groupsget
VAT Codes
    List VAT codesget
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

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
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, "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

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
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, "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

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

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

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
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, "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

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
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, "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

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
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, "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

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
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, "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

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
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, "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