apyhub
Back
▣ DOCUMENT INTELLIGENCE KIT · VERIFICATION KIT

Validate, Generate & Send Peppol E-Invoice API

What it does

E Invoicing API lets you validate, generate, and track electronic invoices, then submit them to Peppol for delivery. Send an invoice body with seller, buyer, line items, and required references; get back validation results, totals, and, when generating, downloadable UBL or CII documents.

Use it when you need to build compliant invoicing workflows without hand-coding the document rules. The invoice payload supports invoice and credit note documents, profiles such as basic, en16931, and extended, plus billing details like payment terms, delivery, references, VAT breakdowns, discounts, and charges. The generated response includes the invoice id, number, issue date, due date, currency, status, totals, and a validation summary with any rule violations.

If you only need checks, call the validation endpoint and get a boolean valid response plus the validation object and totals. If you already have an invoice id, submit it with sellerEndpoint and buyerEndpoint to Peppol, optionally including a webhookUrl for status callbacks. The status endpoint returns the current sending state for that id, including status history with timestamps and details.

This is a fit for ERP integrations, billing platforms, and back-office automation where invoice structure, validation, and delivery status all need to stay machine-readable.

▣ ENDPOINT 01 / 04
POST
Generate an electronic invoice
https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices/v1/invoices

QUICKSTART

GUIDE

Quickstart

Create a generated e-invoice from the required invoice, seller, buyer, and line item details.

curl -X POST "https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices/v1/invoices" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "INV-2026-0042",
    "issueDate": "2026-01-15",
    "currency": "EUR",
    "buyerReference": "PO-2026-0150",
    "seller": {
      "name": "Acme Supplies SAS",
      "vatId": "FR12345678901",
      "address": {
        "city": "Paris",
        "postalCode": "75010",
        "countryCode": "FR"
      }
    },
    "buyer": {
      "name": "Bluebird Retail SARL",
      "vatId": "FR10987654321",
      "address": {
        "city": "Lyon",
        "postalCode": "69002",
        "countryCode": "FR"
      }
    },
    "lines": [
      {
        "name": "Consulting services",
        "quantity": 10,
        "unitPrice": "100.00",
        "vatRate": "20"
      }
    ]
  }'

What you'll get back

Returns a JSON object with invoice metadata, generated document files, totals, and validation details. Top-level fields include createdAt, currency, documentType, documents, dueDate, id, issueDate, number, profile, status, totals, and validation.

{
  "createdAt": "2026-01-15T10:30:00Z",
  "currency": "EUR",
  "documentType": "invoice",
  "documents": [],
  "dueDate": "2026-02-14",
  "id": "inv_12345",
  "issueDate": "2026-01-15",
  "number": "INV-2026-0042",
  "profile": "en16931",
  "status": "generated",
  "totals": {},
  "validation": {}
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
buyer*
address*
contact
legalId
electronicAddress
lines*
lines-1*
charge
discount
itemCode
seller*
address*
contact
legalId
electronicAddress
payment
delivery
address

About this endpoint

What it does

Generates an electronic invoice from the invoice data in the request body and returns the created document metadata, totals, and validation results. The response also includes downloadable document descriptors for the generated invoice files.

Request Body

ParameterTypeMandatoryDescription
numberStringYesInvoice number.
issueDateStringYesIssue date in date format.
currencyStringYesInvoice currency.
buyerReferenceStringYesBuyer reference.
sellerObjectYesSeller details. Include name, address, and vatId; see nested fields below.
seller.nameStringYesSeller name.
seller.taxIdStringNoSeller tax ID.
seller.vatIdStringYesSeller VAT ID.
seller.addressObjectYesSeller address. Include city, postalCode, and countryCode; see nested fields below.
seller.address.cityStringYesCity.
seller.address.streetStringNoStreet.
seller.address.postalCodeStringYesPostal code.
seller.address.countryCodeStringYesCountry code.
seller.address.additionalStreetStringNoAdditional street line.
seller.address.countrySubdivisionStringNoCountry subdivision.
seller.contactObjectNoSeller contact details.
seller.contact.nameStringNoContact name.
seller.contact.emailStringNoContact email.
seller.contact.phoneStringNoContact phone.
seller.legalIdObjectNoSeller legal identifier. Include value; see nested fields below.
seller.legalId.valueStringYesLegal identifier value.
seller.legalId.schemeStringNoLegal identifier scheme.
seller.tradingNameStringNoSeller trading name.
seller.identificationsObject ArrayNoSeller identification entries. Each item includes value and optional scheme.
seller.identifications[].valueStringYesIdentification value.
seller.identifications[].schemeStringNoIdentification scheme.
seller.electronicAddressObjectNoSeller electronic address. Include scheme and value; see nested fields below.
seller.electronicAddress.valueStringYesElectronic address value.
seller.electronicAddress.schemeStringYesElectronic address scheme.
buyerObjectYesBuyer details. Include name, address, and vatId; see nested fields below.
buyer.nameStringYesBuyer name.
buyer.taxIdStringNoBuyer tax ID.
buyer.vatIdStringYesBuyer VAT ID.
buyer.addressObjectYesBuyer address. Include city, postalCode, and countryCode; see nested fields below.
buyer.address.cityStringYesCity.
buyer.address.streetStringNoStreet.
buyer.address.postalCodeStringYesPostal code.
buyer.address.countryCodeStringYesCountry code.
buyer.address.additionalStreetStringNoAdditional street line.
buyer.address.countrySubdivisionStringNoCountry subdivision.
buyer.contactObjectNoBuyer contact details.
buyer.contact.nameStringNoContact name.
buyer.contact.emailStringNoContact email.
buyer.contact.phoneStringNoContact phone.
buyer.legalIdObjectNoBuyer legal identifier. Include value; see nested fields below.
buyer.legalId.valueStringYesLegal identifier value.
buyer.legalId.schemeStringNoLegal identifier scheme.
buyer.tradingNameStringNoBuyer trading name.
buyer.identificationsObject ArrayNoBuyer identification entries. Each item includes value and optional scheme.
buyer.identifications[].valueStringYesIdentification value.
buyer.identifications[].schemeStringNoIdentification scheme.
buyer.electronicAddressObjectNoBuyer electronic address. Include scheme and value; see nested fields below.
buyer.electronicAddress.valueStringYesElectronic address value.
buyer.electronicAddress.schemeStringYesElectronic address scheme.
linesObject ArrayYesInvoice line items. At least one item is required. Each item includes name, quantity, unitPrice, and vatRate; see nested fields below.
lines[].idStringNoLine identifier.
lines[].nameStringYesLine item name.
lines[].noteStringNoLine note.
lines[].chargeObjectNoCharge details for the line. Include amount, reason, and percent as defined in the schema.
lines[].vatRateNumber/StringYesVAT rate.
lines[].discountObjectNoDiscount details for the line. Include amount, reason, and percent as defined in the schema.
lines[].itemCodeObjectNoItem code. Include value; see nested fields below.
lines[].itemCode.valueStringYesItem code value.
lines[].itemCode.schemeStringNoItem code scheme.
lines[].quantityNumber/StringYesQuantity.
lines[].unitCodeStringNoUnit code. Default: C62.
lines[].unitPriceNumber/StringYesUnit price.
lines[].descriptionStringNoLine description.
lines[].vatCategoryENUMNoVAT category. Allowed values: S, Z, E, AE, K, G, O, L, M.
lines[].exemptionReasonStringNoVAT exemption reason.
lines[].exemptionReasonCodeStringNoVAT exemption reason code.
noteStringNoInvoice note.
dueDateStringNoDue date in date format.
paymentObjectNoPayment details.
payment.bicStringNoBIC.
payment.ibanStringNoIBAN.
payment.meansCodeStringNoPayment means code. Default: 30.
payment.referenceStringNoPayment reference.
payment.accountNameStringNoAccount name.
profileENUMNoInvoice profile. Allowed values: basic, en16931, extended.
deliveryObjectNoDelivery details.
delivery.dateStringNoDelivery date in date format.
delivery.addressObjectNoDelivery address. Include city, postalCode, and countryCode; see nested fields below.
delivery.address.cityStringNoCity.
delivery.address.streetStringNoStreet.
delivery.address.postalCodeStringNoPostal code.
delivery.address.countryCodeStringNoCountry code.
delivery.address.additionalStreetStringNoAdditional street line.
delivery.address.countrySubdivisionStringNoCountry subdivision.
delivery.partyNameStringNoDelivery party name.
documentTypeENUMNoDocument type. Allowed values: invoice, credit_note.
paymentTermsStringNoPayment terms.
orderReferenceStringNoOrder reference.
projectReferenceStringNoProject reference.
contractReferenceStringNoContract reference.

Response

Returns a JSON object with createdAt, currency, documentType, documents, dueDate, id, issueDate, number, profile, status, totals, and validation fields. The status field is generated on success, and documents, totals, and validation contain the generated document metadata, invoice totals, and validation outcome.

Success status code: 200

AttributeTypeMandatoryDescription
createdAtStringNoCreation timestamp in date-time format.
currencyStringNoInvoice currency.
documentTypeENUMNoDocument type. Allowed values: invoice, credit_note.
documentsObject ArrayNoGenerated document descriptors. Each item may include url, kind, bytes, sha256, filename, and mediaType.
documents[].urlStringNoDocument URL.
documents[].kindENUMNoDocument kind. Allowed values: ubl, cii.
documents[].bytesIntegerNoDocument size in bytes.
documents[].sha256StringNoSHA-256 hash.
documents[].filenameStringNoDocument filename.
documents[].mediaTypeStringNoMedia type.
dueDateStringNoDue date in date format.
idStringNoGenerated invoice identifier.
issueDateStringNoIssue date in date format.
numberStringNoInvoice number.
profileENUMNoInvoice profile. Allowed values: basic, en16931, extended.
statusENUMNoGeneration status. Allowed values: generated.
totalsObjectNoTotals summary. Includes vatBreakdown and amount fields.
totals.vatBreakdownObject ArrayNoVAT breakdown entries. Each item may include tax, rate, taxable amount, category, and exemption details.
totals.vatBreakdown[].taxStringNoVAT tax amount.
totals.vatBreakdown[].rateStringNoVAT rate.
totals.vatBreakdown[].taxableStringNoTaxable amount.
totals.vatBreakdown[].categoryENUMNoVAT category. Allowed values: S, Z, E, AE, K, G, O, L, M.
totals.vatBreakdown[].exemptionReasonStringNoVAT exemption reason.
totals.vatBreakdown[].exemptionReasonCodeStringNoVAT exemption reason code.
totals.lineNetAmountStringNoLine net amount.
totals.payableAmountStringNoPayable amount.
totals.prepaidAmountStringNoPrepaid amount.
totals.taxTotalAmountStringNoTax total amount.
totals.chargeTotalAmountStringNoCharge total amount.
totals.taxExclusiveAmountStringNoTax exclusive amount.
totals.taxInclusiveAmountStringNoTax inclusive amount.
totals.allowanceTotalAmountStringNoAllowance total amount.
validationObjectNoValidation result summary.
validation.validBooleanNoIndicates whether validation passed.
validation.rulesetStringNoValidation ruleset used.
validation.errorCountIntegerNoNumber of validation errors.
validation.violationsObject ArrayNoValidation violations. Each item may include path, rule, message, and severity.
validation.violations[].pathStringNoViolation path.
validation.violations[].ruleStringNoViolated rule.
validation.violations[].messageStringNoViolation message.
validation.violations[].severityENUMNoViolation severity. Allowed values: error, warning.
validation.warningCountIntegerNoNumber of validation warnings.
▣ ENDPOINT 02 / 04
POST
Validate an invoice without generating it
https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices

QUICKSTART

GUIDE

Quickstart

Validate an invoice by sending the required invoice fields as JSON.

curl -X POST "https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "INV-2026-0042",
    "issueDate": "2026-01-15",
    "currency": "EUR",
    "buyerReference": "PO-2026-0150",
    "seller": {
      "name": "Acme Supplies SAS",
      "vatId": "FR12345678901",
      "address": {
        "city": "Paris",
        "postalCode": "75001",
        "countryCode": "FR"
      }
    },
    "buyer": {
      "name": "Northwind Trading Ltd",
      "vatId": "FR12345678901",
      "address": {
        "city": "Lyon",
        "postalCode": "69002",
        "countryCode": "FR"
      }
    },
    "lines": [
      {
        "name": "Consulting services",
        "quantity": 10,
        "unitPrice": "100.00",
        "vatRate": "20"
      }
    ]
  }'

What you'll get back

Returns a JSON object with valid and validation fields, plus an optional totals object. valid is a boolean; validation is an object with its own valid, ruleset, errorCount, violations, and warningCount fields; totals contains invoice amount breakdown fields such as lineNetAmount, taxTotalAmount, and payableAmount.

{
  "valid": true,
  "validation": {
    "valid": true,
    "ruleset": "en16931",
    "errorCount": 0,
    "violations": [],
    "warningCount": 0
  },
  "totals": {
    "lineNetAmount": "1000.00",
    "taxTotalAmount": "200.00",
    "payableAmount": "1200.00"
  }
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
buyer*
address*
contact
legalId
electronicAddress
lines*
lines-1*
charge
discount
itemCode
seller*
address*
contact
legalId
electronicAddress
payment
delivery
address

About this endpoint

What it does

Validates an invoice payload without generating the invoice. It accepts the invoice details in the request body and returns validation outcome data plus calculated totals.

Request Body

ParameterTypeMandatoryDescription
numberStringYesInvoice number.
issueDateStringYesIssue date in date format.
currencyStringYesInvoice currency code.
buyerReferenceStringYesBuyer reference.
sellerObjectYesSeller details; see nested fields below.
seller.nameStringYesSeller name.
seller.taxIdStringNoSeller tax identifier.
seller.vatIdStringYesSeller VAT ID.
seller.addressObjectYesSeller address; see nested fields below.
seller.address.cityStringYesCity.
seller.address.streetStringNoStreet.
seller.address.postalCodeStringYesPostal code.
seller.address.countryCodeStringYesCountry code.
seller.address.additionalStreetStringNoAdditional street line.
seller.address.countrySubdivisionStringNoCountry subdivision.
seller.contactObjectNoSeller contact details; see nested fields below.
seller.contact.nameStringNoContact name.
seller.contact.emailStringNoContact email.
seller.contact.phoneStringNoContact phone.
seller.legalIdObjectNoSeller legal identifier; see nested fields below.
seller.legalId.valueStringYesLegal identifier value.
seller.legalId.schemeStringNoLegal identifier scheme.
seller.tradingNameStringNoSeller trading name.
seller.identificationsObject ArrayNoSeller identifications; each item contains value and optionally scheme.
seller.identifications[].valueStringYesIdentification value.
seller.identifications[].schemeStringNoIdentification scheme.
seller.electronicAddressObjectNoSeller electronic address; see nested fields below.
seller.electronicAddress.valueStringYesElectronic address value.
seller.electronicAddress.schemeStringYesElectronic address scheme.
buyerObjectYesBuyer details; see nested fields below.
buyer.nameStringYesBuyer name.
buyer.taxIdStringNoBuyer tax identifier.
buyer.vatIdStringYesBuyer VAT ID.
buyer.addressObjectYesBuyer address; see nested fields below.
buyer.address.cityStringYesCity.
buyer.address.streetStringNoStreet.
buyer.address.postalCodeStringYesPostal code.
buyer.address.countryCodeStringYesCountry code.
buyer.address.additionalStreetStringNoAdditional street line.
buyer.address.countrySubdivisionStringNoCountry subdivision.
buyer.contactObjectNoBuyer contact details; see nested fields below.
buyer.contact.nameStringNoContact name.
buyer.contact.emailStringNoContact email.
buyer.contact.phoneStringNoContact phone.
buyer.legalIdObjectNoBuyer legal identifier; see nested fields below.
buyer.legalId.valueStringYesLegal identifier value.
buyer.legalId.schemeStringNoLegal identifier scheme.
buyer.tradingNameStringNoBuyer trading name.
buyer.identificationsObject ArrayNoBuyer identifications; each item contains value and optionally scheme.
buyer.identifications[].valueStringYesIdentification value.
buyer.identifications[].schemeStringNoIdentification scheme.
buyer.electronicAddressObjectNoBuyer electronic address; see nested fields below.
buyer.electronicAddress.valueStringYesElectronic address value.
buyer.electronicAddress.schemeStringYesElectronic address scheme.
linesObject ArrayYesInvoice lines; at least one line is required.
lines[].idStringNoLine identifier.
lines[].nameStringYesLine name.
lines[].noteStringNoLine note.
lines[].chargeObjectNoCharge details; see nested fields below.
lines[].charge.amountNumberNoCharge amount.
lines[].charge.reasonStringNoCharge reason.
lines[].charge.percentNumberNoCharge percentage.
lines[].vatRateNumberYesVAT rate.
lines[].discountObjectNoDiscount details; see nested fields below.
lines[].discount.amountNumberNoDiscount amount.
lines[].discount.reasonStringNoDiscount reason.
lines[].discount.percentNumberNoDiscount percentage.
lines[].itemCodeObjectNoItem code; see nested fields below.
lines[].itemCode.valueStringYesItem code value.
lines[].itemCode.schemeStringNoItem code scheme.
lines[].quantityNumberYesQuantity.
lines[].unitCodeStringNoUnit code; default C62.
lines[].unitPriceNumberYesUnit price.
lines[].descriptionStringNoLine description.
lines[].vatCategoryENUMNoVAT category. Allowed values: S, Z, E, AE, K, G, O, L, M.
lines[].exemptionReasonStringNoVAT exemption reason.
lines[].exemptionReasonCodeStringNoVAT exemption reason code.
noteStringNoInvoice note.
dueDateStringNoDue date in date format.
paymentObjectNoPayment details; see nested fields below.
payment.bicStringNoBIC.
payment.ibanStringNoIBAN.
payment.meansCodeStringNoPayment means code; default 30.
payment.referenceStringNoPayment reference.
payment.accountNameStringNoAccount name.
profileENUMNoInvoice profile. Allowed values: basic, en16931, extended.
deliveryObjectNoDelivery details; see nested fields below.
delivery.dateStringNoDelivery date in date format.
delivery.addressObjectNoDelivery address; see nested fields below.
delivery.address.cityStringYesCity.
delivery.address.streetStringNoStreet.
delivery.address.postalCodeStringYesPostal code.
delivery.address.countryCodeStringYesCountry code.
delivery.address.additionalStreetStringNoAdditional street line.
delivery.address.countrySubdivisionStringNoCountry subdivision.
delivery.partyNameStringNoDelivery party name.
documentTypeENUMNoDocument type. Allowed values: invoice, credit_note.
paymentTermsStringNoPayment terms.
orderReferenceStringNoOrder reference.
projectReferenceStringNoProject reference.
contractReferenceStringNoContract reference.

Response

Returns a JSON object with totals, valid, and validation fields. totals is an object containing calculated amount fields and a vatBreakdown array, valid is a boolean indicating whether the invoice is valid, and validation is an object with rule-check details.

ParameterTypeMandatoryDescription
totalsObjectYesCalculated totals for the invoice, including vatBreakdown and amount fields.
totals.vatBreakdownObject ArrayNoVAT breakdown entries.
totals.vatBreakdown[].taxStringNoTax amount.
totals.vatBreakdown[].rateStringNoVAT rate.
totals.vatBreakdown[].taxableStringNoTaxable amount.
totals.vatBreakdown[].categoryENUMNoVAT category. Allowed values: S, Z, E, AE, K, G, O, L, M.
totals.vatBreakdown[].exemptionReasonStringNoVAT exemption reason.
totals.vatBreakdown[].exemptionReasonCodeStringNoVAT exemption reason code.
totals.lineNetAmountStringNoLine net amount.
totals.payableAmountStringNoPayable amount.
totals.prepaidAmountStringNoPrepaid amount.
totals.taxTotalAmountStringNoTotal tax amount.
totals.chargeTotalAmountStringNoTotal charge amount.
totals.taxExclusiveAmountStringNoTax-exclusive amount.
totals.taxInclusiveAmountStringNoTax-inclusive amount.
totals.allowanceTotalAmountStringNoTotal allowance amount.
validBooleanYestrue when the invoice is valid, false otherwise.
validationObjectYesValidation details, including rule set, counts, and violations.
validation.validBooleanNoValidation result at the validation-object level.
validation.rulesetStringNoRuleset used for validation.
validation.errorCountIntegerNoNumber of validation errors.
validation.violationsObject ArrayNoValidation violations.
validation.violations[].pathStringNoField path related to the violation.
validation.violations[].ruleStringNoRule identifier.
validation.violations[].messageStringNoViolation message.
validation.violations[].severityENUMNoSeverity of the violation. Allowed values: error, warning.
validation.warningCountIntegerNoNumber of validation warnings.
▣ ENDPOINT 03 / 04
POST
Submit an invoice to Peppol
https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices/send

QUICKSTART

GUIDE

Quickstart

Send an invoice dispatch request with the invoice ID in the path and the required invoice details in the JSON body.

curl -X POST "https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices/send" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "invoiceNumber": "FAC-2026-0042",
    "sellerEndpoint": "0192:55210854117",
    "buyerEndpoint": "0002:DE999999999"
  }'

What you'll get back

Returns a JSON object with dispatchedAt, invoiceId, messageId, mode, and status fields. dispatchedAt is a date-time string, invoiceId and messageId are strings, mode is a string, and status is either "pending" or "sent".

{
  "dispatchedAt": "2026-01-15T10:30:00Z",
  "invoiceId": "inv_12345",
  "messageId": "msg_67890",
  "mode": "production",
  "status": "sent"
}
TRY ITLIVE · 10 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Optional outbound webhook URL for status callbacks

About this endpoint

What it does

Submits an invoice to Peppol for dispatch. It takes a path id and a request body containing the invoice and endpoint details, then returns dispatch metadata for the submitted invoice.

Path Parameter(s)

AttributeTypeMandatoryDescription
idStringYesIdentifies the target resource for the submission.

Request Body

ParameterTypeMandatoryDescription
invoiceNumberStringYesInvoice number.
sellerEndpointStringYesSeller endpoint identifier.
buyerEndpointStringYesBuyer endpoint identifier.
webhookUrlStringNoOptional outbound webhook URL for status callbacks.

Response

Returns a JSON object with dispatchedAt, invoiceId, messageId, mode, and status fields. dispatchedAt is a date-time string; the remaining fields are strings, and status is limited to pending or sent.

ParameterTypeMandatoryDescription
dispatchedAtStringNoDispatch timestamp in date-time format.
invoiceIdStringNoInvoice identifier returned by the service.
messageIdStringNoMessage identifier returned by the service.
modeStringNoDispatch mode returned by the service.
statusENUMNoDispatch status. Allowed values: pending, sent.
▣ ENDPOINT 04 / 04
GET
Retrieve the sending status
https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices/status

QUICKSTART

GUIDE

Quickstart

Fetch the status for a specific invoice by replacing the path parameter value in the URL.

curl -X GET "https://api.eu.apyhub.com/corsair96/validate-generate-send-peppol-e-invoices/status" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with these top-level fields: createdAt, id, invoiceNumber, status, statusHistory, and updatedAt.

  • createdAt, updatedAt: date-time strings
  • id, invoiceNumber: strings
  • status: one of pending, sent, delivered, accepted, or rejected
  • statusHistory: an array of objects with at, detail, and status fields
{
  "createdAt": "2026-10-29T12:00:00Z",
  "id": "inv_12345",
  "invoiceNumber": "INV-1001",
  "status": "sent",
  "statusHistory": [
    {
      "at": "2026-10-29T12:05:00Z",
      "detail": "Invoice sent to recipient",
      "status": "sent"
    }
  ],
  "updatedAt": "2026-10-29T12:05:00Z"
}
TRY ITLIVE · 1 ATOM
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the sending status for a specific invoice sending resource identified by id. The response returns the current status plus timestamp and history fields for that resource.

Path Parameter(s)

AttributeTypeMandatoryDescription
idStringYesIdentifies the sending status resource in the /status path.

Response

Returns a JSON object with createdAt, id, invoiceNumber, status, statusHistory, and updatedAt fields. The status field indicates the current sending state, and statusHistory provides an array of past status entries.

AttributeTypeMandatoryDescription
createdAtStringNoDate-time when the resource was created.
idStringNoResource identifier.
invoiceNumberStringNoInvoice number associated with the sending record.
statusENUMNoCurrent sending status. Allowed values: pending, sent, delivered, accepted, rejected.
statusHistoryObject ArrayNoHistory of status changes. Each item contains at, detail, and status.
updatedAtStringNoDate-time when the resource was last updated.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.