LedgerBee Developer
  • Getting started
  • Conventions
  • Products
  • Configuration
  • API Reference
Information
Accounts
    List accountsget
API Key
    Get current API keyget
Company
    Get company detailsget
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 customerpost
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 categorydeleteCreate a new dimension valuepostUpdate a dimension valueputDelete a dimension valuedelete
Document Templates
    List document templatesget
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 categoriesget
Journal Entries
    Create multiple journal entries in batchpostList journal entriesgetCreate a journal entrypostGet a journal entrygetUpdate a journal entry — correct the reference and/or set your external system idpatchGet attachments for a journal entrygetReverse 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
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 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 productpatch
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
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

Entitlements

Download schema

List entitlements

GET
https://api.ledgerbee.com/api
/v1/entitlements
x-api-key (header)
or
OAuth 2.0

List entitlements › query Parameters

page
​number · min: 1

Page number

Default: 1
limit
​number · min: 1 · max: 100

Maximum items per page

Default: 25
search
​string · maxLength: 255

Search by name or key

sortOrder
​string · enum

Sort direction

Enum values:
ASC
DESC
Default: ASC

List entitlements › Responses

ListEntitlementsResponse
​EntitlementResponse[] · required
total
​number · required
page
​number · required
limit
​number · required
totalPages
​number · required
GET/v1/entitlements
curl https://api.ledgerbee.com/api/v1/entitlements \ --header 'x-api-key: <api-key>'
Example Responses
{ "data": [ { "id": "id", "name": "Advanced reporting", "key": "advanced_reporting", "managedExternally": false, "externalSource": "api", "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" } ], "total": 0, "page": 0, "limit": 0, "totalPages": 0 }
json
application/json

Create an entitlement

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

Create an entitlement › Headers

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

Optional idempotency key for safely retrying mutating requests.

Create an entitlement › Request Body

CreateEntitlementRequest
name
​string · required

Entitlement name

Example: Advanced reporting
key
​string | null

Stable integration key

Example: advanced_reporting

Create an entitlement › Responses

Entitlement created

EntitlementResponse
id
​string · required

Entitlement ID

name
​string · required

Entitlement name

Example: Advanced reporting
managedExternally
​boolean · required

True when the entitlement is maintained by an external system rather than created by an operator in the app. Only rows with externalSource "api" can be modified through this API.

Example: false
externalSource
​string | null · enum · required

Which system maintains the entitlement: "api" (created via this API), "platform" (managed by LedgerBee, read-only here), or null for operator-created rows.

Enum values:
api
platform
Example: api
createdAt
​string · date-time · required

When the entitlement was created

updatedAt
​string · date-time · required

When the entitlement was last updated

key
​string | null

Stable integration key

Example: advanced_reporting
POST/v1/entitlements
curl https://api.ledgerbee.com/api/v1/entitlements \ --request POST \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "name": "Advanced reporting", "key": "advanced_reporting" }'
Example Request Body
{ "name": "Advanced reporting", "key": "advanced_reporting" }
json
application/json
Example Responses
{ "id": "id", "name": "Advanced reporting", "key": "advanced_reporting", "managedExternally": false, "externalSource": "api", "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" }
json
application/json

Get an entitlement

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

Get an entitlement › path Parameters

id
​string · required

Get an entitlement › Responses

EntitlementResponse
id
​string · required

Entitlement ID

name
​string · required

Entitlement name

Example: Advanced reporting
managedExternally
​boolean · required

True when the entitlement is maintained by an external system rather than created by an operator in the app. Only rows with externalSource "api" can be modified through this API.

Example: false
externalSource
​string | null · enum · required

Which system maintains the entitlement: "api" (created via this API), "platform" (managed by LedgerBee, read-only here), or null for operator-created rows.

Enum values:
api
platform
Example: api
createdAt
​string · date-time · required

When the entitlement was created

updatedAt
​string · date-time · required

When the entitlement was last updated

key
​string | null

Stable integration key

Example: advanced_reporting
GET/v1/entitlements/{id}
curl https://api.ledgerbee.com/api/v1/entitlements/:id \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "id", "name": "Advanced reporting", "key": "advanced_reporting", "managedExternally": false, "externalSource": "api", "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" }
json
application/json

Delete an entitlement

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

Delete an entitlement › path Parameters

id
​string · required

Delete an entitlement › Headers

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

Optional idempotency key for safely retrying mutating requests.

Delete an entitlement › Responses

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

Update an entitlement

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

Update an entitlement › path Parameters

id
​string · required

Update an entitlement › Headers

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

Optional idempotency key for safely retrying mutating requests.

Update an entitlement › Request Body

UpdateEntitlementRequest
name
​string

Entitlement name

key
​string | null

Stable integration key

Update an entitlement › Responses

EntitlementResponse
id
​string · required

Entitlement ID

name
​string · required

Entitlement name

Example: Advanced reporting
managedExternally
​boolean · required

True when the entitlement is maintained by an external system rather than created by an operator in the app. Only rows with externalSource "api" can be modified through this API.

Example: false
externalSource
​string | null · enum · required

Which system maintains the entitlement: "api" (created via this API), "platform" (managed by LedgerBee, read-only here), or null for operator-created rows.

Enum values:
api
platform
Example: api
createdAt
​string · date-time · required

When the entitlement was created

updatedAt
​string · date-time · required

When the entitlement was last updated

key
​string | null

Stable integration key

Example: advanced_reporting
PATCH/v1/entitlements/{id}
curl https://api.ledgerbee.com/api/v1/entitlements/:id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "name": "string", "key": "string" }'
Example Request Body
{ "name": "string", "key": "string" }
json
application/json
Example Responses
{ "id": "id", "name": "Advanced reporting", "key": "advanced_reporting", "managedExternally": false, "externalSource": "api", "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" }
json
application/json

Draft Journal Entries (v2)Invoices