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

Invoices

Download schema

List invoices

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

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

Returns a paginated list of invoices for your company, optionally filtered by status, customer, billing group and subscription.

Filtering by subscriptionId returns every invoice the subscription was billed on — including the invoices addressed to another subscription that carry its lines, which is how an add-on is billed: on its parent's invoice. Each line of a single invoice names the subscription it was billed for in its own subscriptionId.

Required Scope

  • invoices-read

List invoices › query Parameters

cursor
​string

Opaque cursor from the previous response's nextCursor. Returns the rows after it, in the same order. Send the same filters and sort as the request that produced it, and do not send page. The preferred way to page through a list.

page
​number · min: 1 · deprecated

Deprecated: page with cursor instead. Page number (1-indexed). From 2026-12-31, a page past the first of a list with more than 10,000 matching rows is refused.

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

Number of items per page

Example: 25
Default: 25
search
​string

Free-text search (invoice number, description)

status
​string · enum

Filter invoices by status

Enum values:
draft
scheduled
sending
sent
paid
partially_paid
cancelled
uncollectible
customerId
​string

Filter invoices for a specific customer

Example: 0197A943-2325-7829-B835-B6C71A293065
billingGroupId
​string

Filter to the shared invoices issued to one billing group

Example: 0197A943-2325-7829-B835-B6C71A293065
subscriptionId
​string

Filter to the invoices a subscription was billed on: the ones addressed to it, and the ones that carry its lines while addressed to another subscription or to a billing group. An add-on bills on its parent’s invoice, so filtering by the add-on returns the parent’s invoices that carry the add-on’s lines. An unknown subscription returns an empty list.

Example: 0197A943-2325-7829-B835-B6C71A293065

List invoices › Responses

Paginated list of invoices

PublicListInvoicesResponse
​PublicInvoiceListItem[] · required

Invoices on this page (line items omitted; GET one invoice for lines)

total
​number · required

Total invoices matching the query

Example: 42
limit
​number · required

Items per page

Example: 25
nextCursor
​string | null · required

Cursor for the next page; pass it as cursor. null on the last page, and on every page of a sort that cannot page by cursor — hasMore then says whether another page follows by page number.

Example: eyJ2IjoxLCJmIjoiOWMxZjQyYWIzMTA4ZDc2ZSIsImsiOlsiMjAyNi0wMS0yMCJdfQ
hasMore
​boolean · required

Whether more rows follow this page.

Example: true
page
​number · deprecated

Deprecated: page with nextCursor instead. Current page (1-indexed).

Example: 1
totalPages
​number · deprecated

Deprecated: page with nextCursor instead. Total pages.

Example: 2
GET/v1/invoices
curl https://api.ledgerbee.com/api/v1/invoices \ --header 'x-api-key: <api-key>'
Example Responses
{ "data": [ { "id": "0197A943-2325-7829-B835-B6C71A293065", "number": "number", "status": "sent", "date": "2024-01-15", "dueDate": "dueDate", "customerId": "customerId", "customerSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "billingGroupId": "0197A943-2325-7829-B835-B6C71A293065", "isConsolidated": false, "currency": "DKK", "subtotal": "2166.65", "vat": "541.66", "amount": "2708.31", "reference": "reference", "ourReference": "ourReference", "subject": "Website maintenance, March", "notes": "notes", "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T10:30:00.000Z" } ], "total": 42, "page": 1, "limit": 25, "totalPages": 2, "nextCursor": "eyJ2IjoxLCJmIjoiOWMxZjQyYWIzMTA4ZDc2ZSIsImsiOlsiMjAyNi0wMS0yMCJdfQ", "hasMore": true }
json
application/json

Create a draft invoice

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

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

Creates a draft invoice. The invoice number is allocated at booking time (when sent), so a draft has no number yet.

Negative totals

An invoice cannot have a negative total. When the lines add up to less than 0 (VAT included), the request fails with 400 and INVOICE_INVALID_SIGN, and no invoice is created. The document for a negative total is a credit note — create it with POST /v1/credit-notes. A total of exactly 0 is accepted.

Required Scope

  • invoices-write

Create a draft invoice › Headers

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

Optional idempotency key for safely retrying mutating requests.

Create a draft invoice › Request Body

PublicCreateInvoice
customerId
​string · required

Customer ID this invoice is for. Required — every invoice must reference a customer (this mirrors the gated app, which also requires a customer).

Example: 0197A943-2325-7829-B835-B6C71A293065
date
​string · required

Invoice date (ISO date, YYYY-MM-DD)

Example: 2024-01-15
​PublicCreateInvoiceLine[] · required

Invoice lines

customerDepartmentId
​string

Customer department ID (for EAN-based e-invoicing and address override)

Example: 0197A943-2325-7829-B835-B6C71A293065
customerContactId
​string

Customer contact ID (invoice recipient)

Example: 0197A943-2325-7829-B835-B6C71A293065
dueDate
​string

Due date for payment (ISO date). Derived from payment terms when omitted.

Example: 2024-02-15
currency
​string · minLength: 3 · maxLength: 3

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

Example: DKK
paymentTerms
​number

Payment terms in days

Example: 30
reference
​string

Reference / PO number ("PO-nr.")

Example: PO-12345
ourReference
​string

Our reference ("Vores ref.")

Example: Jane Doe
description
​string

Internal description for your own reference. Never printed on the PDF or shown to the customer: put text for the customer in subject and notes.

Example: Monthly service invoice
subject
​string · maxLength: 255

Heading printed in bold on the PDF, directly above notes. The customer sees it on the document.

Example: Website maintenance, March
notes
​string

Message printed on the PDF under subject. The customer sees it on the document.

Example: Thank you for your business!
tagIds
​string[]

Tag/Dimension value IDs to attach to the journal entry when this invoice is booked. A dimension value here applies to every line, and counts toward a dimension the line's account requires. Use the per-line tagIds for a dimension that differs between lines.

Example: ["550e8400-e29b-41d4-a716-446655440003"]
discountIds
​string[] · maxItems: 20

Document-scope discount records to apply once to the whole document, after every line discount, reducing the lines whose product each applies to (every line when it names no product). Each id is a discount record (see GET /discounts). The order sent is the order they apply in. Each is checked for the line's product, the document's customer and the document date; a document converted from a quote is checked at the quote's date. A fixed or per-unit discount takes its amount in the document's currency: a discount with no amount in that currency is refused, never converted at an exchange rate. One applies when it applies to the customer and to at least one line's product. Refused with: DISCOUNT_NOT_APPLICABLE (no such discount in your company, inactive, not assigned to this product and customer, or outside its dates on the document date; details.reason says which), DISCOUNT_WRONG_SCOPE, DISCOUNT_REFERENCED_TWICE, DISCOUNT_NOT_COMBINABLE, DISCOUNT_NO_AMOUNT_IN_CURRENCY, DISCOUNT_LINE_WITHOUT_PRODUCT, DISCOUNT_EXCEEDS_LINE and DISCOUNT_EXCEEDS_DOCUMENT.

Example: ["0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c"]
discountCodes
​string[] · maxItems: 20

Discount codes the customer gave, the same list sent to POST /discounts/check, matched without regard to case or surrounding spaces and applied after discountIds in the order sent. A code claims its discount, which then applies as if named by id, including one that applies only through a code: a line-scope discount lands on every line whose product it applies to, a document-scope one on the document. The code's own limit is counted when the invoice is booked, refused there with DISCOUNT_CODE_REDEMPTION_LIMIT_REACHED. A code naming a discount already named is applied once. Refused with: DISCOUNT_CODE_INVALID (empty, spaces or too long) and DISCOUNT_NOT_APPLICABLE with details.reason codeUnknown, codeInactive, codeExpired or codeCustomerMismatch and details.code, beside every refusal discountIds lists.

Example: ["SUMMER10"]

Create a draft invoice › Responses

Invoice created successfully

PublicInvoice
id
​string · required

Invoice ID

Example: 0197A943-2325-7829-B835-B6C71A293065
status
​string · enum · required

Invoice status

Enum values:
draft
scheduled
sending
sent
paid
partially_paid
cancelled
uncollectible
Example: sent
date
​string · required

Invoice date (ISO date)

Example: 2024-01-15
isConsolidated
​boolean · required

True when this invoice consolidates several subscriptions onto one document: a billing group’s shared invoice, or a parent customer’s invoice covering its child customers’ subscriptions. With both customerSubscriptionId and billingGroupId null it is the parent-paid kind.

Example: false
currency
​string · required

Currency code (ISO 4217)

Example: DKK
subtotal
​string · required

Subtotal before VAT (decimal string)

Example: 2166.65
vat
​string · required

VAT amount (decimal string)

Example: 541.66
amount
​string · required

Total amount including VAT (decimal string)

Example: 2708.31
​PublicInvoiceLine[] · required

Invoice lines

​PublicAppliedDocumentDiscount[] · required

The document-scope discount records the document referenced, in the order they applied, each applied once after every line discount. Empty when it referenced none.

totalDiscounted
​string | null · required

What the document's discounts took off in all, in the document's currency: each line's amount before discounts less its amount after them, plus the document discounts. A line discount typed by hand in LedgerBee counts too. Null when the document references no discount record.

Example: 250.00
createdAt
​string · required

Creation timestamp (ISO)

Example: 2024-01-15T10:30:00.000Z
updatedAt
​string · required

Last update timestamp (ISO)

Example: 2024-01-15T10:30:00.000Z
number
​string | null

Invoice number. Null while the invoice is still a draft (allocated at booking).

dueDate
​string | null

Due date (ISO date)

customerId
​string | null

Customer ID

customerSubscriptionId
​string | null

The subscription this invoice bills, when it bills exactly one. Its lines may also include the subscriptions billed as part of that subscription’s section, which carry no section of their own. Null on a billing group’s shared invoice (see billingGroupId), on a parent-paid consolidated invoice (see isConsolidated) and on a manually created invoice.

Example: 0197A943-2325-7829-B835-B6C71A293065
billingGroupId
​string | null

The billing group this invoice is issued to, when several of one customer’s subscriptions bill onto it. Set instead of customerSubscriptionId, never alongside it. Filter the list by billingGroupId to find a group’s documents.

Example: 0197A943-2325-7829-B835-B6C71A293065
reference
​string | null

Reference / PO number

ourReference
​string | null

Our reference ("Vores ref.")

subject
​string | null

Heading printed in bold on the PDF, directly above notes. The customer sees it on the document.

Example: Website maintenance, March
notes
​string | null

Message printed on the PDF under subject. The customer sees it on the document.

POST/v1/invoices
curl https://api.ledgerbee.com/api/v1/invoices \ --request POST \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "customerId": "0197A943-2325-7829-B835-B6C71A293065", "customerDepartmentId": "0197A943-2325-7829-B835-B6C71A293065", "customerContactId": "0197A943-2325-7829-B835-B6C71A293065", "date": "2024-01-15", "dueDate": "2024-02-15", "currency": "DKK", "paymentTerms": 30, "reference": "PO-12345", "ourReference": "Jane Doe", "description": "Monthly service invoice", "subject": "Website maintenance, March", "notes": "Thank you for your business!", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "lines": [ { "priceId": "0197A943-2325-7829-B835-B6C71A293065", "lineType": "subscription", "description": "Premium widget - Blue color", "quantity": 2, "unitPrice": "1083.32", "recognitionPeriodDays": 365, "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ] } ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ], "discountCodes": [ "SUMMER10" ] }'
Example Request Body
{ "customerId": "0197A943-2325-7829-B835-B6C71A293065", "customerDepartmentId": "0197A943-2325-7829-B835-B6C71A293065", "customerContactId": "0197A943-2325-7829-B835-B6C71A293065", "date": "2024-01-15", "dueDate": "2024-02-15", "currency": "DKK", "paymentTerms": 30, "reference": "PO-12345", "ourReference": "Jane Doe", "description": "Monthly service invoice", "subject": "Website maintenance, March", "notes": "Thank you for your business!", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "lines": [ { "priceId": "0197A943-2325-7829-B835-B6C71A293065", "lineType": "subscription", "description": "Premium widget - Blue color", "quantity": 2, "unitPrice": "1083.32", "recognitionPeriodDays": 365, "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ] } ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ], "discountCodes": [ "SUMMER10" ] }
json
application/json
Example Responses
{ "id": "0197A943-2325-7829-B835-B6C71A293065", "number": "number", "status": "sent", "date": "2024-01-15", "dueDate": "dueDate", "customerId": "customerId", "customerSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "billingGroupId": "0197A943-2325-7829-B835-B6C71A293065", "isConsolidated": false, "currency": "DKK", "subtotal": "2166.65", "vat": "541.66", "amount": "2708.31", "reference": "reference", "ourReference": "ourReference", "subject": "Website maintenance, March", "notes": "notes", "lines": [ { "id": "0197A943-2325-7829-B835-B6C71A293065", "priceId": "priceId", "description": "description", "lineType": "subscription", "quantity": 2, "unitPrice": "1083.32", "totalPrice": "2166.65", "vatAmount": "vatAmount", "vatRate": "vatRate", "subscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "addonOfSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "appliedDiscounts": [ { "discountId": "discountId", "position": 0, "name": "name", "type": "percentage", "percentagePct": "10", "originalDiscountAmount": "originalDiscountAmount", "originalReductionAmount": "200.00", "code": "SUMMER10" } ] } ], "documentDiscounts": [ { "discountId": "discountId", "position": 0, "name": "name", "type": "percentage", "percentagePct": "percentagePct", "originalDiscountAmount": "originalDiscountAmount", "originalReductionAmount": "originalReductionAmount", "vatSplit": [ { "vatRatePct": "25.00", "taxCategory": "taxCategory", "originalReductionAmount": "originalReductionAmount", "originalVatReductionAmount": "originalVatReductionAmount" } ], "code": "SUMMER10" } ], "totalDiscounted": "250.00", "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T10:30:00.000Z" }
json
application/json

Get an invoice

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

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

Retrieves a single invoice by its unique identifier. Returns 404 when the invoice does not exist in your company. For the rendered document, use the PDF endpoint.

Required Scope

  • invoices-read

Get an invoice › path Parameters

id
​string · required

Invoice ID

Get an invoice › Responses

The invoice

PublicInvoice
id
​string · required

Invoice ID

Example: 0197A943-2325-7829-B835-B6C71A293065
status
​string · enum · required

Invoice status

Enum values:
draft
scheduled
sending
sent
paid
partially_paid
cancelled
uncollectible
Example: sent
date
​string · required

Invoice date (ISO date)

Example: 2024-01-15
isConsolidated
​boolean · required

True when this invoice consolidates several subscriptions onto one document: a billing group’s shared invoice, or a parent customer’s invoice covering its child customers’ subscriptions. With both customerSubscriptionId and billingGroupId null it is the parent-paid kind.

Example: false
currency
​string · required

Currency code (ISO 4217)

Example: DKK
subtotal
​string · required

Subtotal before VAT (decimal string)

Example: 2166.65
vat
​string · required

VAT amount (decimal string)

Example: 541.66
amount
​string · required

Total amount including VAT (decimal string)

Example: 2708.31
​PublicInvoiceLine[] · required

Invoice lines

​PublicAppliedDocumentDiscount[] · required

The document-scope discount records the document referenced, in the order they applied, each applied once after every line discount. Empty when it referenced none.

totalDiscounted
​string | null · required

What the document's discounts took off in all, in the document's currency: each line's amount before discounts less its amount after them, plus the document discounts. A line discount typed by hand in LedgerBee counts too. Null when the document references no discount record.

Example: 250.00
createdAt
​string · required

Creation timestamp (ISO)

Example: 2024-01-15T10:30:00.000Z
updatedAt
​string · required

Last update timestamp (ISO)

Example: 2024-01-15T10:30:00.000Z
number
​string | null

Invoice number. Null while the invoice is still a draft (allocated at booking).

dueDate
​string | null

Due date (ISO date)

customerId
​string | null

Customer ID

customerSubscriptionId
​string | null

The subscription this invoice bills, when it bills exactly one. Its lines may also include the subscriptions billed as part of that subscription’s section, which carry no section of their own. Null on a billing group’s shared invoice (see billingGroupId), on a parent-paid consolidated invoice (see isConsolidated) and on a manually created invoice.

Example: 0197A943-2325-7829-B835-B6C71A293065
billingGroupId
​string | null

The billing group this invoice is issued to, when several of one customer’s subscriptions bill onto it. Set instead of customerSubscriptionId, never alongside it. Filter the list by billingGroupId to find a group’s documents.

Example: 0197A943-2325-7829-B835-B6C71A293065
reference
​string | null

Reference / PO number

ourReference
​string | null

Our reference ("Vores ref.")

subject
​string | null

Heading printed in bold on the PDF, directly above notes. The customer sees it on the document.

Example: Website maintenance, March
notes
​string | null

Message printed on the PDF under subject. The customer sees it on the document.

GET/v1/invoices/{id}
curl https://api.ledgerbee.com/api/v1/invoices/:id \ --header 'x-api-key: <api-key>'
Example Responses
{ "id": "0197A943-2325-7829-B835-B6C71A293065", "number": "number", "status": "sent", "date": "2024-01-15", "dueDate": "dueDate", "customerId": "customerId", "customerSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "billingGroupId": "0197A943-2325-7829-B835-B6C71A293065", "isConsolidated": false, "currency": "DKK", "subtotal": "2166.65", "vat": "541.66", "amount": "2708.31", "reference": "reference", "ourReference": "ourReference", "subject": "Website maintenance, March", "notes": "notes", "lines": [ { "id": "0197A943-2325-7829-B835-B6C71A293065", "priceId": "priceId", "description": "description", "lineType": "subscription", "quantity": 2, "unitPrice": "1083.32", "totalPrice": "2166.65", "vatAmount": "vatAmount", "vatRate": "vatRate", "subscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "addonOfSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "appliedDiscounts": [ { "discountId": "discountId", "position": 0, "name": "name", "type": "percentage", "percentagePct": "10", "originalDiscountAmount": "originalDiscountAmount", "originalReductionAmount": "200.00", "code": "SUMMER10" } ] } ], "documentDiscounts": [ { "discountId": "discountId", "position": 0, "name": "name", "type": "percentage", "percentagePct": "percentagePct", "originalDiscountAmount": "originalDiscountAmount", "originalReductionAmount": "originalReductionAmount", "vatSplit": [ { "vatRatePct": "25.00", "taxCategory": "taxCategory", "originalReductionAmount": "originalReductionAmount", "originalVatReductionAmount": "originalVatReductionAmount" } ], "code": "SUMMER10" } ], "totalDiscounted": "250.00", "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T10:30:00.000Z" }
json
application/json

Delete a draft invoice

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

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

Deletes a draft or scheduled invoice.

Only an invoice that has not been sent can be deleted: a draft, or a scheduled one waiting for its send time. An invoice in any other status answers 400 with INVOICE_DELETION_FORBIDDEN; correct a sent invoice with a credit note (POST /v1/credit-notes).

A draft is also kept when it is waiting for an approver (INVOICE_APPROVAL_PENDING), when a shipment refers to its lines (INVOICE_DELETION_BLOCKED_BY_SHIPMENT), when a card payment for it took money, may still take it, or holds an amount on the buyer's card (INVOICE_DELETION_BLOCKED_BY_CARD_CHARGE), or when revenue recognition has already posted for it (INVOICE_DELETION_FORBIDDEN).

Deleting a draft that subscription billing created does not bill that period again.

Required Scope

  • invoices-write

Delete a draft invoice › path Parameters

id
​string · required

Invoice ID

Delete a draft invoice › Headers

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

Optional idempotency key for safely retrying mutating requests.

Delete a draft invoice › Responses

Invoice deleted

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

Update an unsent invoice

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

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

Changes an invoice that has not been sent: a draft, or one scheduled to send. Send null to clear a clearable field (customerDepartmentId, customerContactId, reference, ourReference, description, notes, tagIds). Returns the updated invoice.

A field you leave out keeps its stored value, with these exceptions:

  • A request with date or paymentTerms and no dueDate sets the due date from the payment terms, when the invoice has payment terms.
  • A new customerId removes the department and contact unless the request states new ones, and removes any extra email recipients.
  • An approved invoice whose content changes loses its approval. If it was scheduled to send, it returns to draft.

Lines

lines replaces every stored line, so send the full intended set. Leave it out to keep the lines as they are. Prices, totals and VAT are worked out server-side: prices in the invoice's currency, VAT from the customer's VAT zone.

Changing customerId or currency requires lines in the same request (INVOICE_CUSTOMER_OR_CURRENCY_CHANGE_REQUIRES_LINES), so the lines are priced and taxed for the new values.

INVOICE_LINE_UPDATE_NOT_SUPPORTED refuses lines on these invoices, and details.reason says which:

  • subscription: subscription billing created the invoice, or a line bills a subscription.
  • self_billing: a self-billed invoice.
  • shipment: a shipment refers to the invoice's lines.

The other fields of such an invoice can be changed, except customerId and currency, which require lines.

A line that defers its revenue (recognitionPeriodDays) can be replaced like any other: its revenue schedule is written again from the lines and the date the invoice ends up with.

Sent invoices

An invoice that has been sent is booked and cannot be changed (INVOICE_MODIFICATION_FORBIDDEN). Correct it with a credit note (POST /v1/credit-notes).

Required Scope

  • invoices-write

Update an unsent invoice › path Parameters

id
​string · required

Invoice ID

Update an unsent invoice › Headers

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

Optional idempotency key for safely retrying mutating requests.

Update an unsent invoice › Request Body

PublicUpdateInvoice
customerId
​string

Customer the invoice is for. Changing it requires lines in the same request, because each line's VAT is worked out from the customer's VAT zone. A change removes the department and contact unless the request states new ones, and removes any extra email recipients.

Example: 0197A943-2325-7829-B835-B6C71A293065
customerDepartmentId
​string | null

Customer department ID (for EAN-based e-invoicing and address override). Send null to remove the department.

Example: 0197A943-2325-7829-B835-B6C71A293065
customerContactId
​string | null

Customer contact ID (invoice recipient). Send null to remove the contact.

Example: 0197A943-2325-7829-B835-B6C71A293065
date
​string

Invoice date (ISO date, YYYY-MM-DD). The due date follows it when the invoice has payment terms and the request states no dueDate.

Example: 2024-01-15
dueDate
​string

Due date for payment (ISO date). Must not be before the invoice date.

Example: 2024-02-15
currency
​string · minLength: 3 · maxLength: 3

Currency code (ISO 4217). Changing it requires lines in the same request, so the amounts are priced in the new currency.

Example: DKK
paymentTerms
​number

Payment terms in days. The due date follows it when the request states no dueDate.

Example: 30
reference
​string | null

Reference / PO number ("PO-nr."). Send null to clear it.

Example: PO-12345
ourReference
​string | null

Our reference ("Vores ref."). Send null to clear it.

Example: Jane Doe
description
​string | null

Internal description for your own reference. Never printed on the PDF or shown to the customer: put text for the customer in subject and notes. Send null to clear it.

Example: Monthly service invoice
subject
​string | null · maxLength: 255

Heading printed in bold on the PDF, directly above notes. The customer sees it on the document. Leave it out to keep the stored subject; send null to clear it.

Example: Website maintenance, March
notes
​string | null

Message printed on the PDF under subject. The customer sees it on the document. Send null to clear them.

Example: Thank you for your business!
tagIds
​array | null · maxItems: 100

Tag/Dimension value IDs to attach to the journal entry when this invoice is booked. Replaces the stored set; send null or an empty array to remove every value. At most 100 ids.

Example: ["550e8400-e29b-41d4-a716-446655440003"]
​PublicCreateInvoiceLine[] · maxItems: 1000

Invoice lines, at most 1000. Replaces every stored line, so send the full intended set. Leave it out to keep the lines as they are. Refused on an invoice billed for a subscription, a self-billed invoice, an invoice a shipment refers to, and when a stored or sent line defers its revenue (recognitionPeriodDays).

discountIds
​string[] · maxItems: 20

Document-scope discount records to apply once to the whole document, after every line discount, reducing the lines whose product each applies to (every line when it names no product). Each id is a discount record (see GET /discounts). The order sent is the order they apply in. Each is checked for the line's product, the document's customer and the document date; a document converted from a quote is checked at the quote's date. A fixed or per-unit discount takes its amount in the document's currency: a discount with no amount in that currency is refused, never converted at an exchange rate. One applies when it applies to the customer and to at least one line's product. On an update, leaving it out keeps the discounts the document has; an empty array removes them. A change to them is sent with lines, which they are priced from: without the lines it is refused with DISCOUNT_REPRICE_NEEDS_LINES, and so is a change of the customer, the date or the currency of an invoice that carries discounts. Refused with: DISCOUNT_NOT_APPLICABLE (no such discount in your company, inactive, not assigned to this product and customer, or outside its dates on the document date; details.reason says which), DISCOUNT_WRONG_SCOPE, DISCOUNT_REFERENCED_TWICE, DISCOUNT_NOT_COMBINABLE, DISCOUNT_NO_AMOUNT_IN_CURRENCY, DISCOUNT_LINE_WITHOUT_PRODUCT, DISCOUNT_EXCEEDS_LINE and DISCOUNT_EXCEEDS_DOCUMENT.

Example: ["0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c"]
discountCodes
​string[] · maxItems: 20

Discount codes the customer gave, the same list sent to POST /discounts/check, matched without regard to case or surrounding spaces and applied after discountIds in the order sent. A code claims its discount, which then applies as if named by id, including one that applies only through a code: a line-scope discount lands on every line whose product it applies to, a document-scope one on the document. The code's own limit is counted when the invoice is booked, refused there with DISCOUNT_CODE_REDEMPTION_LIMIT_REACHED. A code naming a discount already named is applied once. On an update, a discount the document carries through a code keeps that code when the update names the discount again without it. Codes are sent with lines, which they are priced from; without the lines they are refused with DISCOUNT_REPRICE_NEEDS_LINES. Refused with: DISCOUNT_CODE_INVALID (empty, spaces or too long) and DISCOUNT_NOT_APPLICABLE with details.reason codeUnknown, codeInactive, codeExpired or codeCustomerMismatch and details.code, beside every refusal discountIds lists.

Example: ["SUMMER10"]

Update an unsent invoice › Responses

The updated invoice

PublicInvoice
id
​string · required

Invoice ID

Example: 0197A943-2325-7829-B835-B6C71A293065
status
​string · enum · required

Invoice status

Enum values:
draft
scheduled
sending
sent
paid
partially_paid
cancelled
uncollectible
Example: sent
date
​string · required

Invoice date (ISO date)

Example: 2024-01-15
isConsolidated
​boolean · required

True when this invoice consolidates several subscriptions onto one document: a billing group’s shared invoice, or a parent customer’s invoice covering its child customers’ subscriptions. With both customerSubscriptionId and billingGroupId null it is the parent-paid kind.

Example: false
currency
​string · required

Currency code (ISO 4217)

Example: DKK
subtotal
​string · required

Subtotal before VAT (decimal string)

Example: 2166.65
vat
​string · required

VAT amount (decimal string)

Example: 541.66
amount
​string · required

Total amount including VAT (decimal string)

Example: 2708.31
​PublicInvoiceLine[] · required

Invoice lines

​PublicAppliedDocumentDiscount[] · required

The document-scope discount records the document referenced, in the order they applied, each applied once after every line discount. Empty when it referenced none.

totalDiscounted
​string | null · required

What the document's discounts took off in all, in the document's currency: each line's amount before discounts less its amount after them, plus the document discounts. A line discount typed by hand in LedgerBee counts too. Null when the document references no discount record.

Example: 250.00
createdAt
​string · required

Creation timestamp (ISO)

Example: 2024-01-15T10:30:00.000Z
updatedAt
​string · required

Last update timestamp (ISO)

Example: 2024-01-15T10:30:00.000Z
number
​string | null

Invoice number. Null while the invoice is still a draft (allocated at booking).

dueDate
​string | null

Due date (ISO date)

customerId
​string | null

Customer ID

customerSubscriptionId
​string | null

The subscription this invoice bills, when it bills exactly one. Its lines may also include the subscriptions billed as part of that subscription’s section, which carry no section of their own. Null on a billing group’s shared invoice (see billingGroupId), on a parent-paid consolidated invoice (see isConsolidated) and on a manually created invoice.

Example: 0197A943-2325-7829-B835-B6C71A293065
billingGroupId
​string | null

The billing group this invoice is issued to, when several of one customer’s subscriptions bill onto it. Set instead of customerSubscriptionId, never alongside it. Filter the list by billingGroupId to find a group’s documents.

Example: 0197A943-2325-7829-B835-B6C71A293065
reference
​string | null

Reference / PO number

ourReference
​string | null

Our reference ("Vores ref.")

subject
​string | null

Heading printed in bold on the PDF, directly above notes. The customer sees it on the document.

Example: Website maintenance, March
notes
​string | null

Message printed on the PDF under subject. The customer sees it on the document.

PATCH/v1/invoices/{id}
curl https://api.ledgerbee.com/api/v1/invoices/:id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "customerId": "0197A943-2325-7829-B835-B6C71A293065", "customerDepartmentId": "0197A943-2325-7829-B835-B6C71A293065", "customerContactId": "0197A943-2325-7829-B835-B6C71A293065", "date": "2024-01-15", "dueDate": "2024-02-15", "currency": "DKK", "paymentTerms": 30, "reference": "PO-12345", "ourReference": "Jane Doe", "description": "Monthly service invoice", "subject": "Website maintenance, March", "notes": "Thank you for your business!", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "lines": [ { "priceId": "0197A943-2325-7829-B835-B6C71A293065", "lineType": "subscription", "description": "Premium widget - Blue color", "quantity": 2, "unitPrice": "1083.32", "recognitionPeriodDays": 365, "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ] } ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ], "discountCodes": [ "SUMMER10" ] }'
Example Request Body
{ "customerId": "0197A943-2325-7829-B835-B6C71A293065", "customerDepartmentId": "0197A943-2325-7829-B835-B6C71A293065", "customerContactId": "0197A943-2325-7829-B835-B6C71A293065", "date": "2024-01-15", "dueDate": "2024-02-15", "currency": "DKK", "paymentTerms": 30, "reference": "PO-12345", "ourReference": "Jane Doe", "description": "Monthly service invoice", "subject": "Website maintenance, March", "notes": "Thank you for your business!", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "lines": [ { "priceId": "0197A943-2325-7829-B835-B6C71A293065", "lineType": "subscription", "description": "Premium widget - Blue color", "quantity": 2, "unitPrice": "1083.32", "recognitionPeriodDays": 365, "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ] } ], "discountIds": [ "0199b6d2-3c1a-7a40-9f00-1d2e3f4a5b6c" ], "discountCodes": [ "SUMMER10" ] }
json
application/json
Example Responses
{ "id": "0197A943-2325-7829-B835-B6C71A293065", "number": "number", "status": "sent", "date": "2024-01-15", "dueDate": "dueDate", "customerId": "customerId", "customerSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "billingGroupId": "0197A943-2325-7829-B835-B6C71A293065", "isConsolidated": false, "currency": "DKK", "subtotal": "2166.65", "vat": "541.66", "amount": "2708.31", "reference": "reference", "ourReference": "ourReference", "subject": "Website maintenance, March", "notes": "notes", "lines": [ { "id": "0197A943-2325-7829-B835-B6C71A293065", "priceId": "priceId", "description": "description", "lineType": "subscription", "quantity": 2, "unitPrice": "1083.32", "totalPrice": "2166.65", "vatAmount": "vatAmount", "vatRate": "vatRate", "subscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "addonOfSubscriptionId": "0197A943-2325-7829-B835-B6C71A293065", "tagIds": [ "550e8400-e29b-41d4-a716-446655440003" ], "appliedDiscounts": [ { "discountId": "discountId", "position": 0, "name": "name", "type": "percentage", "percentagePct": "10", "originalDiscountAmount": "originalDiscountAmount", "originalReductionAmount": "200.00", "code": "SUMMER10" } ] } ], "documentDiscounts": [ { "discountId": "discountId", "position": 0, "name": "name", "type": "percentage", "percentagePct": "percentagePct", "originalDiscountAmount": "originalDiscountAmount", "originalReductionAmount": "originalReductionAmount", "vatSplit": [ { "vatRatePct": "25.00", "taxCategory": "taxCategory", "originalReductionAmount": "originalReductionAmount", "originalVatReductionAmount": "originalVatReductionAmount" } ], "code": "SUMMER10" } ], "totalDiscounted": "250.00", "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T10:30:00.000Z" }
json
application/json

Get the delivery status of an invoice

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

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

Returns an aggregate send summary plus a per-attempt delivery log for the invoice.

Required Scope

  • invoices-read

Get the delivery status of an invoice › path Parameters

id
​string · required

Invoice ID

Get the delivery status of an invoice › Responses

Delivery status

PublicDeliveryStatusResponse
​object · required

Aggregate send summary

​PublicDeliveryLogEntry[] · required

Per-attempt delivery log entries

GET/v1/invoices/{id}/delivery-status
curl https://api.ledgerbee.com/api/v1/invoices/:id/delivery-status \ --header 'x-api-key: <api-key>'
Example Responses
{ "summary": { "sendCount": 2, "lastDeliveryType": "Email", "lastRecipientEmail": "lastRecipientEmail", "lastRecipientEan": "lastRecipientEan", "lastSentAt": "lastSentAt" }, "entries": [ { "id": "id", "status": "success", "deliveryType": "Email", "recipientEmail": "recipientEmail", "recipientEan": "recipientEan", "sentAt": "2024-01-15T10:30:00.000Z", "errorCode": "errorCode" } ] }
json
application/json

Download the invoice PDF

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

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

Streams the rendered invoice PDF. Pass draft=true to render a draft watermark version (generated on the fly).

Required Scope

  • invoices-read

Download the invoice PDF › path Parameters

id
​string · required

Invoice ID

Download the invoice PDF › query Parameters

draft
​boolean

Render a draft watermark version

Download the invoice PDF › Responses

Bad Request

statusCode
​number
timestamp
​string
path
​string
message
​string
GET/v1/invoices/{id}/pdf
curl https://api.ledgerbee.com/api/v1/invoices/:id/pdf \ --header 'x-api-key: <api-key>'
Example Responses
{ "statusCode": 400, "timestamp": "2025-10-09T15:07:32.736Z", "path": "/company", "message": "Bad Request" }
text
application/pdf

Send an invoice to the customer

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

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

Sends the invoice over the chosen delivery channel (Email, Sproom e-invoicing, or Manual). Sending books the invoice and allocates its number.

Required Scope

  • invoices-write

Send an invoice to the customer › path Parameters

id
​string · required

Invoice ID

Send an invoice to the customer › Headers

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

Optional idempotency key for safely retrying mutating requests.

Send an invoice to the customer › Request Body

PublicSendInvoice
deliveryType
​string · enum · required

Delivery channel

Enum values:
Email
Sproom
Manual
Leverandorservice
Example: Email
overrideEmail
​string

Override recipient email for this send only

overrideEanNumber
​string

Override EAN number for this send only

updateCustomerRecord
​boolean

Persist the override email / EAN onto the customer record

Default: false
documentTemplateId
​string

Override document template for PDF generation

Send an invoice to the customer › Responses

Invoice send accepted

PublicSendInvoiceResponse
success
​boolean · required

Whether the send was accepted

Example: true
deliveryType
​string · enum · required

The delivery channel the document was sent through

Enum values:
Email
Sproom
Manual
Leverandorservice
Factoring
Example: Email
sproomDocumentId
​string | null

Sproom document ID when sent via e-invoicing

POST/v1/invoices/{id}/send
curl https://api.ledgerbee.com/api/v1/invoices/:id/send \ --request POST \ --header 'Content-Type: application/json' \ --header 'x-api-key: <api-key>' \ --data '{ "deliveryType": "Email", "overrideEmail": "string", "overrideEanNumber": "string", "updateCustomerRecord": false, "documentTemplateId": "string" }'
Example Request Body
{ "deliveryType": "Email", "overrideEmail": "string", "overrideEanNumber": "string", "updateCustomerRecord": false, "documentTemplateId": "string" }
json
application/json
Example Responses
{ "success": true, "deliveryType": "Email", "sproomDocumentId": "sproomDocumentId" }
json
application/json

EntitlementsJournal Categories