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

Customers

Download schema

Customer and customer group management endpoints


List customers

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

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

Retrieves all customers for your company, sorted by customer number.

Pass ?search= to find customers by what was typed, the way the Customers list in LedgerBee does: ?search=jens hansen&limit=20. Pass ?customerNumber= for an exact-match lookup of a single customer by its human-readable number (useful when you only know the number shown on an invoice, not the UUID), and ?vatNumber=, ?email= or ?isActive= to narrow by those exactly.

The unfiltered list is cached for 5 seconds; a search or a filter always reads fresh data, so a just-created or just-updated customer is immediately visible through it.

Searching

search is split on spaces, and every word must appear, ignoring upper and lower case, in at least one of the customer's name, customerNumber, vatNumber, email, externalSystemId and phone, or in the name of its customer group. A word matches anywhere in a value, so 5678 finds the VAT number DK12345678, and %, _ and [ match those characters. phone is matched with its spaces and dashes removed, so 12345678 finds the phone number +45 12 34 56 78, and so does 12 34 56 78. Only the first ten different words count. Results keep customer-number order; they are not ranked by how well they match.

A search with at least one word answers one page, as if limit were sent, so a short search on a large customer list cannot return most of it at once. An empty search, or one of only spaces, is no search. A client that searches as the user types should send the search about 250 ms after the last keystroke rather than on every one.

Pagination

The list is returned in full, as an array, unless you send cursor, page or limit. Sending any of them switches the response to a paginated object (data, total, page, limit, totalPages, nextCursor, hasMore); page and limit take their defaults when omitted. A paginated read is never cached.

To walk the whole list, send limit and then pass each response's nextCursor back as cursor, with the same filters, until hasMore is false. Paging by page is deprecated, and page cannot be sent with cursor (400 PAGINATION_CURSOR_WITH_PAGE). A cursor replayed with other filters is refused with 400 PAGINATION_INVALID_CURSOR. From 2026-12-31, a page past the first of a list with more than 10,000 items is refused with 400 PAGINATION_OFFSET_TOO_DEEP.

On this list, a search with at least one word also switches the response to the paginated object.

Required Scope

  • customers-read

List customers › query Parameters

customerNumber
​string

Optional exact-match filter on customerNumber. Tenant scoping is enforced regardless of the filter.

externalSystemId
​string

Optional exact-match filter on externalSystemId. The value is unique per company, so at most one customer can match.

parentCustomerId
​string · uuid

Optional filter to the child customers of one parent: every customer whose parentCustomerId is this id.

​object · style: deepObject · explode: true

Exact-match metadata filters in the form metadata[key]=value. Multiple pairs combine with AND semantics — a record matches only if it carries every given key with exactly the given value. At most 10 pairs per request.

isActive
​string · enum

true for active customers only, false for deactivated ones only. Any other value is refused.

Enum values:
true
false
email
​string

Optional exact-match filter on email, ignoring upper and lower case and any whitespace around it.

vatNumber
​string

Optional exact-match filter on vatNumber. Whitespace, dots, dashes, slashes and upper or lower case are ignored, and a Danish number matches with or without its DK prefix, so DK12345678 and 12 34 56 78 find the same customers.

search
​string · maxLength: 200

Every word must appear, ignoring case, in the name, customerNumber, vatNumber, email, externalSystemId or phone, or in the customer group name; see the Searching section of this operation. Sending at least one word switches the response to one page.

cursor
​string · maxLength: 4096

Opaque cursor from the previous response's nextCursor. Returns the items after it, in the same order. Send the same filters as the request that produced it, and do not send page. The preferred way to page through the list. Sending cursor, page or limit switches the response from the full array to a paginated object.

page
​integer · min: 1 · max: 100000 · deprecated

Deprecated: page with cursor instead. Page number (1-indexed). Sending cursor, page or limit switches the response from the full array to a paginated object. When only limit or cursor is sent, page is 1.

limit
​integer · min: 1 · max: 100

Number of items per page. Sending cursor, page or limit switches the response from the full array to a paginated object. When limit is omitted from a paginated request, it is 25.

List customers › Responses

The full list of customers matching the given filters, or one page of it when cursor, page, limit or a search with at least one word is sent

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = array
type = object · requires: data, total, page +4 more
Properties for Variant 1:
​CustomerResponse[]
CustomerResponse
id
​string · required

The unique identifier of the customer

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

Customer number

Example: C001
customerType
​string · enum · required

Customer type

Enum values:
BUSINESS
PRIVATE_PERSON
Example: BUSINESS
name
​string · required

Name of the customer

Example: Acme Corporation
vatZone
​string · enum · required

VAT zone classification

Enum values:
domestic
eu
abroad
domestic_without_vat
eu_at
eu_be
eu_bg
eu_cy
Example: domestic
customerGroupId
​string · required

Customer group ID

Example: 550e8400-e29b-41d4-a716-446655440001
isActive
​boolean · required

Whether the customer is active

Example: true
billingRelationship
​string · enum · required

Billing relationship. self = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.

Enum values:
self
parent_pays
Example: self
includeChildDetailsPdf
​boolean · required

Whether to attach a zip of per-child detail PDFs when sending consolidated invoices. Only relevant for parent customers in single_invoice mode.

Example: false
selfServiceDetailsEnabled
​boolean · required

Whether this customer's portal users may fill in their own billing details (VAT number, street, postal code, city), both on the portal's Company settings page and during checkout, instead of only confirming a read-only copy of the record. Country and customer type stay operator-owned either way, which is what keeps them inside the VAT regime the operator assigned.

Example: false
customerGroupNumber
​string

Customer group number

Example: 1
customerGroupName
​string

Customer group name

Example: Domestic Customers
email
​string

Email address

Example: contact@acme.com
phone
​string

Phone number

Example: +45 12345678
address
​string

Street address

Example: 123 Main Street
city
​string

City

Example: Copenhagen
postalCode
​string

Postal code

Example: 2100
countryCode
​string

Two-letter country code (ISO 3166-1 alpha-2)

Example: DK
vatNumber
​string

VAT registration number

Example: DK12345678
website
​string

Website URL

Example: https://acme.com
externalSystemId
​string

External system identifier for tracking the customer across other systems

Example: crm-12345
eanNumber
​string

EAN number for e-invoicing. Absent when the customer has none.

Example: 5790000000001
creditLimit
​number

Credit limit

Example: 50000
openingBalance
​number

Opening balance in the company base currency (signed: positive = the customer owes us)

Example: 1000
paymentTerms
​number

Payment terms in days

Example: 30
paymentTermType
​string · enum

Payment term type

Enum values:
NET_DAYS
CASH
RUNNING_MONTH_PLUS_DAYS
Example: NET_DAYS
defaultCurrency
​string

Default currency code

Example: DKK
parentCustomerId
​string | null

Parent customer ID. When set, this customer is a child in a parent-child billing relationship. Set together with billingRelationship to change how this customer is billed.

Example: 550e8400-e29b-41d4-a716-446655440000
consolidationMode
​string | null · enum

Consolidation mode for a parent customer. single_invoice = all child subscriptions are consolidated onto one parent invoice on billingDay. per_child_invoice = each child receives its own invoice. Only meaningful on parent customers.

Enum values:
single_invoice
per_child_invoice
billingDay
​number | null

Day of month (1-28) when the parent consolidated invoice is generated. Required for single_invoice consolidation mode.

Example: 1
parentInvoiceTemplateId
​string | null

Parent single invoice PDF template override

​object

Key-value metadata attached to the customer

Example: {"crmSegment":"enterprise","accountOwner":"jane"}
GET/v1/customers
curl https://api.ledgerbee.com/api/v1/customers \ --header 'x-api-key: <api-key>'
Example Responses
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "customerNumber": "C001", "customerType": "BUSINESS", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "customerGroupNumber": "1", "customerGroupName": "Domestic Customers", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": false, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "parentInvoiceTemplateId", "metadata": { "crmSegment": "enterprise", "accountOwner": "jane" } } ]
json
application/json

Create a customer

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

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

Creates a customer in your company. The response contains the new id and the auto-assigned customerNumber — fetch the full record via GET /v1/customers/{customerId} if you need it.

  • customerType defaults to BUSINESS when omitted.
  • externalSystemId lets you store your own system's identifier for deduplication. It must be unique within your company — reusing one returns 409 EXTERNAL_SYSTEM_ID_ALREADY_EXISTS. Empty or whitespace-only values are treated as unset.

Required Scope

  • customers-write

Create a customer › Headers

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

Optional idempotency key for safely retrying mutating requests.

Create a customer › Request Body

CreateCustomerRequest
customerType
​string · enum · required

Specifies whether the customer is a business or a private person

Enum values:
BUSINESS
PRIVATE_PERSON
Example: BUSINESS
Default: BUSINESS
name
​string · required

Customer name

Example: Acme Corporation
vatZone
​string · enum · required

VAT zone classification

Enum values:
domestic
eu
abroad
domestic_without_vat
eu_at
eu_be
eu_bg
eu_cy
Example: domestic
customerGroupId
​string · required

Customer group ID

Example: 550e8400-e29b-41d4-a716-446655440001
countryCode
​string · required

Two-letter country code

Example: DK
defaultCurrency
​string · pattern: ^[A-Za-z]{3}$ · required

The currency this customer is invoiced in, ISO 4217 alpha-3.

Example: DKK
customerNumber
​string

Unique customer number. Omit it, or send an empty value, to have the next number assigned from the company customer sequence; the assigned number comes back on the response.

Example: 1042
email
​string

Email address

Example: contact@acme.com
phone
​string

Phone number

Example: +45 12345678
address
​string · maxLength: 510

Street address

Example: 123 Main Street
city
​string

City

Example: Copenhagen
postalCode
​string

Postal code

Example: 2100
vatNumber
​string

VAT registration number

Example: DK12345678
website
​string

Website URL

Example: https://acme.com
externalSystemId
​string

External system identifier for tracking the customer across other systems

Example: crm-12345
eanNumber
​string · maxLength: 15

EAN number for e-invoicing. Digits only.

Example: 5790000000001
notes
​string

Additional notes

Example: Key account customer
creditLimit
​number · min: 0

Credit limit

Example: 50000
openingBalance
​number

Opening balance in the company base currency, seeding receivables that predate LedgerBee. Signed: positive = the customer owes us, negative = a credit position.

Example: 1000
paymentTerms
​number · min: 0

Payment terms in days

Example: 30
paymentTermType
​string · enum

Payment term type

Enum values:
NET_DAYS
CASH
RUNNING_MONTH_PLUS_DAYS
Example: NET_DAYS
isActive
​boolean

Whether the customer is active

Example: true
Default: true
parentCustomerId
​string | null

Parent customer ID. Set when creating this customer as a child in a parent-child billing relationship. Must be combined with billingRelationship = parent_pays to route billing to the parent. Send null to create a standalone customer.

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

Billing relationship. self (default) = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.

Enum values:
self
parent_pays
consolidationMode
​string | null · enum

Consolidation mode (parent customers only). single_invoice = all child subscriptions consolidated onto one invoice on billingDay. per_child_invoice = each child receives its own invoice.

Enum values:
single_invoice
per_child_invoice
billingDay
​number | null

Day of month (1-28) for the parent consolidated invoice. Required for single_invoice consolidation.

Example: 1
includeChildDetailsPdf
​boolean

Whether to attach a zip of per-child detail PDFs when sending consolidated invoices

selfServiceDetailsEnabled
​boolean

Whether this customer's portal users may fill in their own billing details (VAT number, street, postal code, city), both on the portal's Company settings page and during checkout, instead of only confirming a read-only copy of the record. Country and customer type stay operator-owned either way, which is what keeps them inside the VAT regime the operator assigned.

Example: false
parentInvoiceTemplateId
​string | null

Parent single invoice PDF template override. Send null to clear.

​object

Key-value metadata to attach to the customer. At most 50 entries; keys up to 128 characters, string values up to 500 characters.

Example: {"crmSegment":"enterprise"}

Create a customer › Responses

Customer created successfully

CreateCustomerResponse
id
​string · required

The unique identifier of the created customer

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

Customer number

Example: C001
POST/v1/customers
curl https://api.ledgerbee.com/api/v1/customers \ --request POST \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "customerType": "BUSINESS", "customerNumber": "1042", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "notes": "Key account customer", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": true, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "string", "metadata": { "crmSegment": "enterprise" } }'
Example Request Body
{ "customerType": "BUSINESS", "customerNumber": "1042", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "notes": "Key account customer", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": true, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "string", "metadata": { "crmSegment": "enterprise" } }
json
application/json
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "customerNumber": "C001" }
json
application/json

Get a customer

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

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

Retrieves a customer by its unique identifier. Returns 404 when the customer does not exist (or belongs to another company).

Required Scope

  • customers-read

Get a customer › path Parameters

customerId
​string · required

Customer ID

Get a customer › Responses

Customer details

CustomerResponse
id
​string · required

The unique identifier of the customer

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

Customer number

Example: C001
customerType
​string · enum · required

Customer type

Enum values:
BUSINESS
PRIVATE_PERSON
Example: BUSINESS
name
​string · required

Name of the customer

Example: Acme Corporation
vatZone
​string · enum · required

VAT zone classification

Enum values:
domestic
eu
abroad
domestic_without_vat
eu_at
eu_be
eu_bg
eu_cy
Example: domestic
customerGroupId
​string · required

Customer group ID

Example: 550e8400-e29b-41d4-a716-446655440001
isActive
​boolean · required

Whether the customer is active

Example: true
billingRelationship
​string · enum · required

Billing relationship. self = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.

Enum values:
self
parent_pays
Example: self
includeChildDetailsPdf
​boolean · required

Whether to attach a zip of per-child detail PDFs when sending consolidated invoices. Only relevant for parent customers in single_invoice mode.

Example: false
selfServiceDetailsEnabled
​boolean · required

Whether this customer's portal users may fill in their own billing details (VAT number, street, postal code, city), both on the portal's Company settings page and during checkout, instead of only confirming a read-only copy of the record. Country and customer type stay operator-owned either way, which is what keeps them inside the VAT regime the operator assigned.

Example: false
customerGroupNumber
​string

Customer group number

Example: 1
customerGroupName
​string

Customer group name

Example: Domestic Customers
email
​string

Email address

Example: contact@acme.com
phone
​string

Phone number

Example: +45 12345678
address
​string

Street address

Example: 123 Main Street
city
​string

City

Example: Copenhagen
postalCode
​string

Postal code

Example: 2100
countryCode
​string

Two-letter country code (ISO 3166-1 alpha-2)

Example: DK
vatNumber
​string

VAT registration number

Example: DK12345678
website
​string

Website URL

Example: https://acme.com
externalSystemId
​string

External system identifier for tracking the customer across other systems

Example: crm-12345
eanNumber
​string

EAN number for e-invoicing. Absent when the customer has none.

Example: 5790000000001
creditLimit
​number

Credit limit

Example: 50000
openingBalance
​number

Opening balance in the company base currency (signed: positive = the customer owes us)

Example: 1000
paymentTerms
​number

Payment terms in days

Example: 30
paymentTermType
​string · enum

Payment term type

Enum values:
NET_DAYS
CASH
RUNNING_MONTH_PLUS_DAYS
Example: NET_DAYS
defaultCurrency
​string

Default currency code

Example: DKK
parentCustomerId
​string | null

Parent customer ID. When set, this customer is a child in a parent-child billing relationship. Set together with billingRelationship to change how this customer is billed.

Example: 550e8400-e29b-41d4-a716-446655440000
consolidationMode
​string | null · enum

Consolidation mode for a parent customer. single_invoice = all child subscriptions are consolidated onto one parent invoice on billingDay. per_child_invoice = each child receives its own invoice. Only meaningful on parent customers.

Enum values:
single_invoice
per_child_invoice
billingDay
​number | null

Day of month (1-28) when the parent consolidated invoice is generated. Required for single_invoice consolidation mode.

Example: 1
parentInvoiceTemplateId
​string | null

Parent single invoice PDF template override

​object

Key-value metadata attached to the customer

Example: {"crmSegment":"enterprise","accountOwner":"jane"}
GET/v1/customers/{customerId}
curl https://api.ledgerbee.com/api/v1/customers/:customerId \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "customerNumber": "C001", "customerType": "BUSINESS", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "customerGroupNumber": "1", "customerGroupName": "Domestic Customers", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": false, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "parentInvoiceTemplateId", "metadata": { "crmSegment": "enterprise", "accountOwner": "jane" } }
json
application/json

Delete a customer

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

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

Deletes a customer, following the same rules as deleting one in LedgerBee.

  • A customer with no bookings, invoices or subscriptions is deleted, together with its metadata. The response says result: DELETED.
  • A customer with any of those is not deleted. It is deactivated instead, so its history stays intact: it remains readable through GET /v1/customers/{customerId} with isActive: false, and keeps its metadata. The response says result: DEACTIVATED.

Either way, the customer's sub-customers are detached from it and become self-billing (parentCustomerId: null, billingRelationship: SELF).

A parent customer is refused with 400 and the code CUSTOMER_CANNOT_DELETE_PARENT_CHILD_NO_DELIVERY when a sub-customer billed through it (billingRelationship: PARENT_PAYS) has an active subscription and no way to receive its own documents. details.childCustomerId names that sub-customer. Give it an email address (or, where your company sends e-invoices, a number it can receive them on), then delete again.

Returns 404 with the code CUSTOMER_NOT_FOUND when the customer does not exist in your company.

Deletes in one company run one at a time, so calls sent in parallel wait for each other. A delete that waits more than 30 seconds is refused with 409 and the code CUSTOMER_DELETE_BUSY. Nothing is deleted, so send it again.

Required Scope

  • customers-write

Delete a customer › path Parameters

customerId
​string · required

Customer ID

Delete a customer › Headers

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

Optional idempotency key for safely retrying mutating requests.

Delete a customer › Responses

Customer deleted or deactivated

DeleteCustomerResponse
id
​string · required

The unique identifier of the customer

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

Customer number

Example: C001
result
​string · enum · required

DELETED when the customer had no history and is gone. DEACTIVATED when bookings, invoices or subscriptions kept it: it stays readable with isActive: false, so its history is intact.

Enum values:
DELETED
DEACTIVATED
Example: DELETED
DELETE/v1/customers/{customerId}
curl https://api.ledgerbee.com/api/v1/customers/:customerId \ --request DELETE \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "customerNumber": "C001", "result": "DELETED" }
json
application/json

Update a customer

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

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

Partially updates a customer — only the fields you send are changed; send null to clear a clearable field. Returns the full updated customer.

externalSystemId follows the same rules as on create: unique within your company (409 EXTERNAL_SYSTEM_ID_ALREADY_EXISTS on conflict), empty values treated as unset.

Required Scope

  • customers-write

Update a customer › path Parameters

customerId
​string · required

Customer ID

Update a customer › Headers

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

Optional idempotency key for safely retrying mutating requests.

Update a customer › Request Body

UpdateCustomerRequest
customerType
​string · enum

Customer type

Enum values:
BUSINESS
PRIVATE_PERSON
Example: BUSINESS
customerNumber
​string

Unique customer number

Example: C001
name
​string

Customer name

Example: Acme Corporation
vatZone
​string · enum

VAT zone classification

Enum values:
domestic
eu
abroad
domestic_without_vat
eu_at
eu_be
eu_bg
eu_cy
Example: domestic
customerGroupId
​string

Customer group ID

Example: 550e8400-e29b-41d4-a716-446655440001
email
​string | null

Email address. Send null or empty string to clear.

Example: contact@acme.com
phone
​string

Phone number

Example: +45 12345678
address
​string · maxLength: 510

Street address

Example: 123 Main Street
city
​string

City

Example: Copenhagen
postalCode
​string

Postal code

Example: 2100
countryCode
​string

Two-letter country code

Example: DK
vatNumber
​string

VAT registration number

Example: DK12345678
website
​string

Website URL

Example: https://acme.com
externalSystemId
​string

External system identifier for tracking the customer across other systems

Example: crm-12345
eanNumber
​string | null · maxLength: 15

EAN number for e-invoicing. Digits only. Send null or empty string to clear.

Example: 5790000000001
notes
​string

Additional notes

Example: Key account customer
creditLimit
​number · min: 0

Credit limit

Example: 50000
openingBalance
​number

Opening balance in the company base currency, seeding receivables that predate LedgerBee. Signed: positive = the customer owes us, negative = a credit position.

Example: 1000
paymentTerms
​number · min: 0

Payment terms in days

Example: 30
paymentTermType
​string · enum

Payment term type

Enum values:
NET_DAYS
CASH
RUNNING_MONTH_PLUS_DAYS
Example: NET_DAYS
defaultCurrency
​string · pattern: ^[A-Za-z]{3}$

The currency this customer is invoiced in, ISO 4217 alpha-3. Omit it, or send a blank one, to leave the stored currency alone.

Example: DKK
isActive
​boolean

Whether the customer is active

Example: true
parentCustomerId
​string | null

Parent customer ID. Send null to detach from parent. Changing this field on a customer with active subscriptions will transition those subscriptions to the parent's billing day with a clean cut at today's date: advance-billed subscriptions receive a credit note for the remaining days of the current period, and arrears-billed subscriptions are invoiced up to the transition date. When transitioning, subscriptionTransitions must list every active subscription on this customer as explicit acknowledgement that they will be migrated.

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

Billing relationship. Change to parent_pays together with parentCustomerId to route billing to the parent.

Enum values:
self
parent_pays
consolidationMode
​string | null · enum

Consolidation mode (parent customers only). Send null to clear.

Enum values:
single_invoice
per_child_invoice
billingDay
​number | null

Day of month (1-28) for the parent consolidated invoice. Send null to clear.

Example: 1
includeChildDetailsPdf
​boolean

Whether to attach a zip of per-child detail PDFs when sending consolidated invoices

selfServiceDetailsEnabled
​boolean

Whether this customer's portal users may fill in their own billing details (VAT number, street, postal code, city), both on the portal's Company settings page and during checkout, instead of only confirming a read-only copy of the record. Country and customer type stay operator-owned either way, which is what keeps them inside the VAT regime the operator assigned.

Example: false
parentInvoiceTemplateId
​string | null

Parent single invoice PDF template override. Send null to clear.

​SubscriptionTransitionItem[]

Subscription transitions — required when changing parentCustomerId, billingRelationship, or consolidationMode on a customer with active subscriptions, and when changing billingDay or consolidationMode on a single_invoice parent (then it must cover every child customer's subscriptions). Lists every active subscription as explicit acknowledgement that each one is migrated to the new billing arrangement with a clean cut at today's date. Entries for subscriptions that need no transition are accepted and ignored.

​object

Key-value metadata. When provided, REPLACES the customer metadata wholesale — send the complete desired map; an empty object clears all entries. Omit the field to leave metadata unchanged. At most 50 entries; keys up to 128 characters, string values up to 500 characters.

Example: {"crmSegment":"enterprise"}

Update a customer › Responses

Customer updated successfully

CustomerResponse
id
​string · required

The unique identifier of the customer

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

Customer number

Example: C001
customerType
​string · enum · required

Customer type

Enum values:
BUSINESS
PRIVATE_PERSON
Example: BUSINESS
name
​string · required

Name of the customer

Example: Acme Corporation
vatZone
​string · enum · required

VAT zone classification

Enum values:
domestic
eu
abroad
domestic_without_vat
eu_at
eu_be
eu_bg
eu_cy
Example: domestic
customerGroupId
​string · required

Customer group ID

Example: 550e8400-e29b-41d4-a716-446655440001
isActive
​boolean · required

Whether the customer is active

Example: true
billingRelationship
​string · enum · required

Billing relationship. self = this customer is billed directly. parent_pays = the parent customer (set via parentCustomerId) is billed instead.

Enum values:
self
parent_pays
Example: self
includeChildDetailsPdf
​boolean · required

Whether to attach a zip of per-child detail PDFs when sending consolidated invoices. Only relevant for parent customers in single_invoice mode.

Example: false
selfServiceDetailsEnabled
​boolean · required

Whether this customer's portal users may fill in their own billing details (VAT number, street, postal code, city), both on the portal's Company settings page and during checkout, instead of only confirming a read-only copy of the record. Country and customer type stay operator-owned either way, which is what keeps them inside the VAT regime the operator assigned.

Example: false
customerGroupNumber
​string

Customer group number

Example: 1
customerGroupName
​string

Customer group name

Example: Domestic Customers
email
​string

Email address

Example: contact@acme.com
phone
​string

Phone number

Example: +45 12345678
address
​string

Street address

Example: 123 Main Street
city
​string

City

Example: Copenhagen
postalCode
​string

Postal code

Example: 2100
countryCode
​string

Two-letter country code (ISO 3166-1 alpha-2)

Example: DK
vatNumber
​string

VAT registration number

Example: DK12345678
website
​string

Website URL

Example: https://acme.com
externalSystemId
​string

External system identifier for tracking the customer across other systems

Example: crm-12345
eanNumber
​string

EAN number for e-invoicing. Absent when the customer has none.

Example: 5790000000001
creditLimit
​number

Credit limit

Example: 50000
openingBalance
​number

Opening balance in the company base currency (signed: positive = the customer owes us)

Example: 1000
paymentTerms
​number

Payment terms in days

Example: 30
paymentTermType
​string · enum

Payment term type

Enum values:
NET_DAYS
CASH
RUNNING_MONTH_PLUS_DAYS
Example: NET_DAYS
defaultCurrency
​string

Default currency code

Example: DKK
parentCustomerId
​string | null

Parent customer ID. When set, this customer is a child in a parent-child billing relationship. Set together with billingRelationship to change how this customer is billed.

Example: 550e8400-e29b-41d4-a716-446655440000
consolidationMode
​string | null · enum

Consolidation mode for a parent customer. single_invoice = all child subscriptions are consolidated onto one parent invoice on billingDay. per_child_invoice = each child receives its own invoice. Only meaningful on parent customers.

Enum values:
single_invoice
per_child_invoice
billingDay
​number | null

Day of month (1-28) when the parent consolidated invoice is generated. Required for single_invoice consolidation mode.

Example: 1
parentInvoiceTemplateId
​string | null

Parent single invoice PDF template override

​object

Key-value metadata attached to the customer

Example: {"crmSegment":"enterprise","accountOwner":"jane"}
PATCH/v1/customers/{customerId}
curl https://api.ledgerbee.com/api/v1/customers/:customerId \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "customerType": "BUSINESS", "customerNumber": "C001", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "notes": "Key account customer", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": true, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "string", "subscriptionTransitions": [ { "customerSubscriptionId": "550e8400-e29b-41d4-a716-446655440000" } ], "metadata": { "crmSegment": "enterprise" } }'
Example Request Body
{ "customerType": "BUSINESS", "customerNumber": "C001", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "notes": "Key account customer", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": true, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "string", "subscriptionTransitions": [ { "customerSubscriptionId": "550e8400-e29b-41d4-a716-446655440000" } ], "metadata": { "crmSegment": "enterprise" } }
json
application/json
Example Responses
{ "id": "550e8400-e29b-41d4-a716-446655440000", "customerNumber": "C001", "customerType": "BUSINESS", "name": "Acme Corporation", "vatZone": "domestic", "customerGroupId": "550e8400-e29b-41d4-a716-446655440001", "customerGroupNumber": "1", "customerGroupName": "Domestic Customers", "email": "contact@acme.com", "phone": "+45 12345678", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK", "vatNumber": "DK12345678", "website": "https://acme.com", "externalSystemId": "crm-12345", "eanNumber": "5790000000001", "creditLimit": 50000, "openingBalance": 1000, "paymentTerms": 30, "paymentTermType": "NET_DAYS", "defaultCurrency": "DKK", "isActive": true, "parentCustomerId": "550e8400-e29b-41d4-a716-446655440000", "billingRelationship": "self", "consolidationMode": "single_invoice", "billingDay": 1, "includeChildDetailsPdf": false, "selfServiceDetailsEnabled": false, "parentInvoiceTemplateId": "parentInvoiceTemplateId", "metadata": { "crmSegment": "enterprise", "accountOwner": "jane" } }
json
application/json

List a customer's contacts

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

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

Retrieves the contact persons registered on a customer. The customer's default contact is returned first, then the rest alphabetically.

Required Scope

  • customers-read

List a customer's contacts › path Parameters

customerId
​string · required

Customer ID

List a customer's contacts › Responses

List of contacts for a customer

​CustomerContactResponse[]
CustomerContactResponse
id
​string · required

The unique identifier of the contact

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

Name of the contact

Example: John Doe
isDefaultForCustomer
​boolean · required

Whether this is the default contact for the customer

Example: true
email
​string

Email address

Example: john.doe@acme.com
phone
​string

Phone number

Example: +45 12345678
GET/v1/customers/{customerId}/contacts
curl https://api.ledgerbee.com/api/v1/customers/:customerId/contacts \ --header 'x-api-key: <api-key>'
Example Responses
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "John Doe", "email": "john.doe@acme.com", "phone": "+45 12345678", "isDefaultForCustomer": true } ]
json
application/json

List a customer's departments

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

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

Retrieves the departments of a customer — sub-units with their own address, EAN number (for e-invoicing), and purchase-order number, typically used to route invoices within larger organizations.

The default department is returned first, then the rest alphabetically.

Required Scope

  • customers-read

List a customer's departments › path Parameters

customerId
​string · required

Customer ID

List a customer's departments › Responses

List of departments for a customer

​CustomerDepartmentResponse[]
CustomerDepartmentResponse
id
​string · required

The unique identifier of the department

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

Name of the department

Example: Headquarters
isDefault
​boolean · required

Whether this is the default department for the customer

Example: true
isActive
​boolean · required

Whether the department is active

Example: true
poNumber
​string

Purchase order number

Example: PO-12345
eanNumber
​string

EAN number for e-invoicing

Example: 5790000000000
address
​string

Street address

Example: 123 Main Street
city
​string

City

Example: Copenhagen
postalCode
​string

Postal code

Example: 2100
countryCode
​string

Two-letter country code (ISO 3166-1 alpha-2)

Example: DK
GET/v1/customers/{customerId}/departments
curl https://api.ledgerbee.com/api/v1/customers/:customerId/departments \ --header 'x-api-key: <api-key>'
Example Responses
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Headquarters", "isDefault": true, "isActive": true, "poNumber": "PO-12345", "eanNumber": "5790000000000", "address": "123 Main Street", "city": "Copenhagen", "postalCode": "2100", "countryCode": "DK" } ]
json
application/json

List customer groups

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

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

Retrieves all customer groups for your company, sorted by group number. Groups carry a discount percentage and the ledger account customers in the group post to — assign a customer to a group via the customerGroupId field when creating or updating the customer.

Results are cached for 5 seconds.

Required Scope

  • customers-read — the full group configuration, or
  • checkout — the partner checkout surface requires a customerGroupId on every session, so a checkout-scoped key can discover the groups without a customer-data grant. With ONLY the checkout scope, each entry is slimmed to id, number and name — the tenant's accounting configuration (ledger account wiring, metadata) stays behind customers-read.

List customer groups › query Parameters

​object · style: deepObject · explode: true

Exact-match metadata filters in the form metadata[key]=value. Multiple pairs combine with AND semantics — a record matches only if it carries every given key with exactly the given value. At most 10 pairs per request.

List customer groups › Responses

List of customer groups for the company matching the given filters

​CustomerGroupResponse[]
CustomerGroupResponse
id
​string · required

The unique identifier of the customer group

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

Customer group number

Example: 1
name
​string · required

Name of the customer group

Example: Domestic Customers
accountId
​string

The ledger account ID associated with this customer group. Present with the customers-read scope; omitted for checkout-only keys.

Example: 550e8400-e29b-41d4-a716-446655440001
accountNumber
​number

The ledger account number associated with this customer group

Example: 1100
accountName
​string

The ledger account name associated with this customer group

Example: Trade Debtors
​object

Key-value metadata attached to the customer group

Example: {"segment":"enterprise"}
discount
​number · deprecated

Deprecated - always 0. No pricing path applies it. Present with the customers-read scope; omitted for checkout-only keys.

Example: 0
GET/v1/customers/groups
curl https://api.ledgerbee.com/api/v1/customers/groups \ --header 'x-api-key: <api-key>'
Example Responses
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "number": "1", "name": "Domestic Customers", "discount": 0, "accountId": "550e8400-e29b-41d4-a716-446655440001", "accountNumber": 1100, "accountName": "Trade Debtors", "metadata": { "segment": "enterprise" } } ]
json
application/json

Credit NotesDimensions