Skip to content

Get the e-invoicing settings

The einvoice.settings.get operation: GET /api/v1/einvoice/settings in the REST API and the einvoice_settings_get tool in the MCP server.

GET/api/v1/einvoice/settings

Returns the legal entity's e-invoicing settings in the mode of the request: its routes (which provider sends the e-invoices of documents to buyers in a country, for a transaction type b2b, b2g or b2c), its electronic address (its Peppol participant ID; else the one derived from its VAT ID), the providers that can be used here, and what the knowledge base's e-invoicing mandates of its home country suggest configuring.

homeMandate is the home country's domestic B2B mandate in force, if there is one; its configured must be true in live mode before a brand of the entity can go live (the go-live checklist item einvoice_home). Test and live mode have their own settings. Mandates are shown whatever their review status in the knowledge base (status).

At a glance

  • REST: GET /api/v1/einvoice/settings
  • MCP tool: einvoice_settings_get
  • Operation ID: einvoice.settings.get
  • Scope: Legal entity
  • Permission: entities:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Plan feature: einvoicing.enabled
  • Authentication: API key with the entities:read scope
  • Since: M13

Request

Query parameters

This operation takes no query parameters.

Response

200 OK with a JSON object:

FieldTypeDescription
object"einvoice_settings"
entityIdent_… ID
livemodeboolean
versioninteger (at least 0)0 while nothing is configured; pass it as expectedVersion.
routesarray of object
routes[].countrystringISO 3166-1 alpha-2 country of the buyers this route serves.
routes[].transactionTypeone of b2b, b2g, b2c
routes[].providerstring
routes[].formatone of UBL_2_1_PEPPOL_BIS_3, CII, national
routes[].providerAvailablebooleanWhether the provider can be used here (the fake provider only in development and test).
endpointstring or nullThe entity's electronic address (<scheme>:<identifier>) as configured.
derivedEndpointstring or nullThe address derived from the entity's VAT ID, used when endpoint is null.
homeMandateobject or nullThe home country's domestic B2B e-invoicing mandate in force, and whether a usable route covers it (a go-live requirement).
suggestionsarray of object
suggestions[].countrystring
suggestions[].transactionTypeone of b2b, b2g, b2c
suggestions[].mandatestring
suggestions[].scopestring
suggestions[].startDatestring
suggestions[].inForceboolean
suggestions[].configuredboolean
suggestions[].knowledgeIdstring
suggestions[].statusstringThe mandate record's review status in the knowledge base.
providersarray of object
providers[].idstring
providers[].namestring
providers[].descriptionstring
providers[].formatsarray of one of UBL_2_1_PEPPOL_BIS_3, CII, national
providers[].countries"*" or array of string
providers[].devOnlyboolean
providers[].availableboolean
updatedAtdate-time or null

Examples

A Croatian entity before configuration

The home country requires e-invoices for domestic B2B sales; nothing is configured yet.

HTTP
GET /api/v1/einvoice/settings
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "einvoice_settings",
  "entityId": "ent_01jacq4m3xf0v8w9zq2y7k5n6h",
  "livemode": false,
  "version": 0,
  "routes": [],
  "endpoint": null,
  "derivedEndpoint": "9934:HR12345678903",
  "homeMandate": {
    "country": "HR",
    "name": "Fiscalization 2.0, domestic B2B e-invoicing",
    "startDate": "2026-01-01",
    "configured": false
  },
  "suggestions": [
    {
      "country": "HR",
      "transactionType": "b2g",
      "mandate": "B2G e-invoicing",
      "scope": "b2g",
      "startDate": "2019-07-01",
      "inForce": true,
      "configured": false,
      "knowledgeId": "kn_01jacq4m3xf0v8w9zq2y7k5n80",
      "status": "researched"
    },
    {
      "country": "HR",
      "transactionType": "b2b",
      "mandate": "Fiscalization 2.0, domestic B2B e-invoicing",
      "scope": "b2b_domestic",
      "startDate": "2026-01-01",
      "inForce": true,
      "configured": false,
      "knowledgeId": "kn_01jacq4m3xf0v8w9zq2y7k5n81",
      "status": "researched"
    }
  ],
  "providers": [
    {
      "id": "fake",
      "name": "Fake provider",
      "description": "Development and test only: records each e-invoice and reports it queued, delivered after a minute and accepted after five.",
      "formats": ["UBL_2_1_PEPPOL_BIS_3"],
      "countries": "*",
      "devOnly": true,
      "available": true
    }
  ],
  "updatedAt": null
}

Domestic B2B e-invoices routed to a provider

HTTP
GET /api/v1/einvoice/settings
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "einvoice_settings",
  "entityId": "ent_01jacq4m3xf0v8w9zq2y7k5n6h",
  "livemode": false,
  "version": 1,
  "routes": [
    {
      "country": "HR",
      "transactionType": "b2b",
      "provider": "fake",
      "format": "UBL_2_1_PEPPOL_BIS_3",
      "providerAvailable": true
    }
  ],
  "endpoint": null,
  "derivedEndpoint": "9934:HR12345678903",
  "homeMandate": {
    "country": "HR",
    "name": "Fiscalization 2.0, domestic B2B e-invoicing",
    "startDate": "2026-01-01",
    "configured": true
  },
  "suggestions": [
    {
      "country": "HR",
      "transactionType": "b2g",
      "mandate": "B2G e-invoicing",
      "scope": "b2g",
      "startDate": "2019-07-01",
      "inForce": true,
      "configured": false,
      "knowledgeId": "kn_01jacq4m3xf0v8w9zq2y7k5n80",
      "status": "researched"
    },
    {
      "country": "HR",
      "transactionType": "b2b",
      "mandate": "Fiscalization 2.0, domestic B2B e-invoicing",
      "scope": "b2b_domestic",
      "startDate": "2026-01-01",
      "inForce": true,
      "configured": true,
      "knowledgeId": "kn_01jacq4m3xf0v8w9zq2y7k5n81",
      "status": "researched"
    }
  ],
  "providers": [
    {
      "id": "fake",
      "name": "Fake provider",
      "description": "Development and test only: records each e-invoice and reports it queued, delivered after a minute and accepted after five.",
      "formats": ["UBL_2_1_PEPPOL_BIS_3"],
      "countries": "*",
      "devOnly": true,
      "available": true
    }
  ],
  "updatedAt": "2026-10-20T09:00:00.000Z"
}

Errors

CodeHTTP statusWhenWhat to do
scope_required400The request names no legal entity.Call the operation with credentials or a target at its level: an organization, a legal entity, a brand or the platform (details.required_scope).
resource_not_found404The entity doesn't exist in this organization.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
permission_denied403You can't see this entity.Ask an organization owner or admin for a role or scope that allows this action.

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