Documentation Index
Fetch the complete documentation index at: https://dev.openfiskal.com/llms.txt
Use this file to discover all available pages before exploring further.
API scope
API key creation
Create API keys in the tenant dashboard. Each key is tenant-scoped and country-scoped.Key format
Keys follow the patternof_{environment}_{country}_{random} where:
environmentistest(sandbox) orlive(production)countryis the lowercase ISO 3166-1 alpha-3 country code (e.g.deu,aut)randomis the opaque secret portion
of_test_deu_abcdefgh12345678— sandbox key for Germanyof_live_deu_…— production key for Germanyof_test_aut_…— sandbox key for Austria
deu key cannot create merchants in Austria.
Use the standard authorization header
Although the credential is an API key, the API uses the standard HTTP bearer pattern:Merchant scoping
For every merchant-scoped request, also send:- Locations
- Registers
- Operations
X-OpenFiskal-Merchant when you create, update, delete, or read the merchant itself.
Idempotency
For mutating requests that create or finalize state, send anIdempotency-Key header so retries remain safe:
POST /operations, PATCH /operations/{id}/complete, and PATCH /operations/{id}/void request.
The platform retains keys for at least 24 hours. Reusing the same key with a different payload returns 409 idempotency_key_conflict.
Recommended handling
- Return
401when authentication is missing or invalid. - Return
403when the API key is valid but not allowed to access the requested tenant, country, or merchant. - Return
412 Precondition Failedwhen an operation update, completion, or cancellation uses a staleIf-Matchvalue. - Return
429 Too Many RequestswithRetry-Afterwhen the caller exceeds500 requests/secondper API key.