Skip to content

List e-invoices

The einvoices.list operation: GET /api/v1/einvoices in the REST API and the einvoices_list tool in the MCP server.

GET/api/v1/einvoices

Lists the brand's e-invoices in the mode of the request, newest first: one per invoice or credit note whose case (the buyer's country and transaction type) the entity's e-invoicing settings route to a provider, with its status (pending, queued, delivered, accepted, rejected, failed), the provider's ID and the stored document. Filter by documentId (an invoice's or credit note's e-invoice) or status. Paginate with limit (1–100, default 10) and starting_after.

At a glance

  • REST: GET /api/v1/einvoices
  • MCP tool: einvoices_list
  • Operation ID: einvoices.list
  • Scope: Brand
  • Permission: invoices:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Pagination: limit (at most 100) and starting_after
  • Authentication: API key with the invoices:read scope
  • Since: M13

Request

Query parameters

FieldTypeRequiredDescription
documentIdstringNoThe e-invoice of one invoice (inv_…) or credit note (cn_…).
statusone of pending, queued, delivered, accepted, rejected, failedNoOnly e-invoices in this status.
limitinteger (1 to 100)NoPage size, 1 to 100 (default 10).
starting_aftereinv_… IDNoThe next_cursor of the previous page.

Response

200 OK with a JSON object, a page of the list (newest first):

FieldTypeDescription
object"list"
dataarray of object
data[].ideinv_… ID
data[].object"einvoice"
data[].livemodeboolean
data[].orgIdorg_… ID
data[].entityIdent_… ID
data[].brandIdbrd_… ID
data[].documentKindone of invoice, credit_note
data[].documentIdstringThe invoice (inv_…) or credit note (cn_…) it was generated from.
data[].documentNumberstring
data[].customerIdstring or null
data[].countrystring
data[].transactionTypeone of b2b, b2g, b2c
data[].providerstring
data[].formatone of UBL_2_1_PEPPOL_BIS_3, CII, national
data[].statusone of pending, queued, delivered, accepted, rejected, failedpending (queued for sending), queued (the provider took it), delivered, accepted, rejected (by the receiver) or failed (couldn't be generated or sent).
data[].externalIdstring or nullThe provider's ID of the transmission.
data[].buyerEndpointstring or null
data[].sellerEndpointstring or null
data[].buyerReferencestring or null
data[].fileobject or nullThe generated document as stored (UBL XML) and the generator version that wrote it.
data[].errorobject or null
data[].attemptsinteger
data[].sentAtdate-time or null
data[].lastCheckedAtdate-time or null
data[].historyarray of object
data[].history[].statusone of pending, queued, delivered, accepted, rejected, failed
data[].history[].atdate-time
data[].history[].reasonstring or null
data[].createdAtdate-time
data[].updatedAtdate-time
has_moreboolean
next_cursoreinv_… ID or null

Examples

The e-invoice of an invoice

HTTP
GET /api/v1/einvoices?documentId=inv_01jacq4m3xf0v8w9zq2y7k5n70
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "einv_01jbxa6qk3f0v8w9zq2y7k5n70",
      "object": "einvoice",
      "livemode": false,
      "orgId": "org_01jacq4m3xf0v8w9zq2y7k5n6a",
      "entityId": "ent_01jacq4m3xf0v8w9zq2y7k5n6h",
      "brandId": "brd_01jacq4m3xf0v8w9zq2y7k5n6j",
      "documentKind": "invoice",
      "documentId": "inv_01jacq4m3xf0v8w9zq2y7k5n70",
      "documentNumber": "ACME-2026-000101",
      "customerId": "cus_01jacq4m3xf0v8w9zq2y7k5n6k",
      "country": "HR",
      "transactionType": "b2b",
      "provider": "fake",
      "format": "UBL_2_1_PEPPOL_BIS_3",
      "status": "accepted",
      "externalId": "fake_einv_000001_inv_01jacq4m3xf0v8w9zq2y7k5n70",
      "buyerEndpoint": null,
      "sellerEndpoint": null,
      "buyerReference": null,
      "file": {
        "fileId": "file_01jbxa6qk3f0v8w9zq2y7k5n71",
        "sha256": "3f0c1e9b7a2d4c6e8f0a1b3c5d7e9f1a2b4c6d8e0f1a3b5c7d9e1f2a4b6c8d0e",
        "size": 4211,
        "generator": "ubl_peppol_bis_3@1"
      },
      "error": null,
      "attempts": 1,
      "sentAt": "2026-10-14T09:31:02.000Z",
      "lastCheckedAt": "2026-10-14T09:45:00.000Z",
      "history": [
        {
          "status": "pending",
          "at": "2026-10-14T09:30:05.000Z",
          "reason": null
        },
        {
          "status": "queued",
          "at": "2026-10-14T09:31:02.000Z",
          "reason": null
        },
        {
          "status": "accepted",
          "at": "2026-10-14T09:45:00.000Z",
          "reason": null
        }
      ],
      "createdAt": "2026-10-14T09:30:05.000Z",
      "updatedAt": "2026-10-14T09:45:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400A filter is malformed.Fix the fields listed in details.issues and send the request again.
scope_required400The request names no brand.Call the operation with credentials or a target at its level: an organization, a legal entity, a brand or the platform (details.required_scope).
permission_denied403You can't see this brand's invoices.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, resource_not_found, dry_run_not_supported, rate_limited, internal_error.