# OpenFiskal API > OpenFiskal API docs. ## Docs - [Retrieve an export](https://dev.openfiskal.com/api-reference/exports/retrieve-an-export.md): Returns the export job. When `status` is `completed`, `download_url` is a signed URL to fetch the artifact. When `status` is `failed`, `error.message` (and optional `error.details`) describe why. - [Trigger an export](https://dev.openfiskal.com/api-reference/exports/trigger-an-export.md): Enqueues an asynchronous export job and returns immediately with `202 Accepted` and `status: pending`. Poll `GET /exports/{exportId}` until `status` is `completed` (then `download_url` is set) or `failed`. - [Create location](https://dev.openfiskal.com/api-reference/locations/create-location.md) - [Delete location](https://dev.openfiskal.com/api-reference/locations/delete-location.md) - [Get location](https://dev.openfiskal.com/api-reference/locations/get-location.md) - [List locations](https://dev.openfiskal.com/api-reference/locations/list-locations.md) - [Update location](https://dev.openfiskal.com/api-reference/locations/update-location.md) - [Create merchant](https://dev.openfiskal.com/api-reference/merchants/create-merchant.md) - [Get merchant](https://dev.openfiskal.com/api-reference/merchants/get-merchant.md) - [List merchants](https://dev.openfiskal.com/api-reference/merchants/list-merchants.md) - [Update merchant](https://dev.openfiskal.com/api-reference/merchants/update-merchant.md) - [Complete operation](https://dev.openfiskal.com/api-reference/operations/complete-operation.md): Finalizes an operation and attaches the typed payment contract used for fiscalization and reconciliation. - [Create operation](https://dev.openfiskal.com/api-reference/operations/create-operation.md): Starts a new operation. The body is a discriminated union on `type`: goods movement (sale / return / exchange) or session lifecycle (session_open / session_cash_adjustment / session_close). - [Get operation](https://dev.openfiskal.com/api-reference/operations/get-operation.md): Returns a single operation. The response is a discriminated union on `type`: goods movement (sale / return / exchange) or session lifecycle (session_open / session_cash_adjustment / session_close). - [Void operation](https://dev.openfiskal.com/api-reference/operations/void-operation.md): Voids an open operation before completion. Use a return operation after completion. - [Download receipt PDF](https://dev.openfiskal.com/api-reference/receipts/download-receipt-pdf.md): Download a rendered PDF for the hosted receipt. - [Get receipt](https://dev.openfiskal.com/api-reference/receipts/get-receipt.md): Read a hosted receipt by receipt ID. - [Get receipt by operation](https://dev.openfiskal.com/api-reference/receipts/get-receipt-by-operation.md): Read the hosted receipt generated for a completed operation. - [Send receipt](https://dev.openfiskal.com/api-reference/receipts/send-receipt.md): Send a hosted receipt by email or SMS. - [Create register](https://dev.openfiskal.com/api-reference/registers/create-register.md) - [Decommission register](https://dev.openfiskal.com/api-reference/registers/decommission-register.md) - [Delete register](https://dev.openfiskal.com/api-reference/registers/delete-register.md) - [Fiscalize register](https://dev.openfiskal.com/api-reference/registers/fiscalize-register.md): Enqueues fiscalization for the register and returns immediately with `202 Accepted`. Fiscalization happens asynchronously in the background. - [Get register](https://dev.openfiskal.com/api-reference/registers/get-register.md) - [List registers](https://dev.openfiskal.com/api-reference/registers/list-registers.md) - [Update register](https://dev.openfiskal.com/api-reference/registers/update-register.md) - [Authentication](https://dev.openfiskal.com/auth.md): How authentication, merchant scoping, idempotency, and conditional writes work in the OpenFiskal API. - [Changelog](https://dev.openfiskal.com/changelog.md): API contract updates to the OpenFiskal Fiscalization API. - [Errors and limits](https://dev.openfiskal.com/errors-and-limits.md): Platform guarantees, rate limits, idempotency rules, and the stable API error catalog. - [Getting started](https://dev.openfiskal.com/getting-started.md): Pick the country you're integrating for. Each guide walks you through the country-specific fiscal contract end to end. - [Getting started · 🇦🇹 Austria](https://dev.openfiskal.com/getting-started/at.md): Onboard an Austrian merchant, fiscalize a register under RKSV, and complete a sale with an SCU-signed receipt. - [Getting started · 🇩🇪 Germany](https://dev.openfiskal.com/getting-started/de.md): Onboard a German merchant, fiscalize a register under KassenSichV, and complete a sale with a TSS-signed receipt. - [Getting started · 🇮🇹 Italy](https://dev.openfiskal.com/getting-started/it.md): Onboard an Italian merchant, fiscalize a register under RT, and complete a sale that emits a DCW-numbered receipt. - [Hosted Receipts API](https://dev.openfiskal.com/hosted-receipts-api.md): Retrieve, render, and deliver hosted receipts for completed fiscalized operations. - [Integration topology](https://dev.openfiskal.com/integration-topology.md): How to integrate OpenFiskal through your backend. - [Offline and recovery](https://dev.openfiskal.com/offline-guidance.md): How to operate within the documented offline boundaries, issue provisional receipts, and recover safely. - [Payment lifecycle](https://dev.openfiskal.com/payment-lifecycle.md): How to report payments, split tender, and asynchronous settlement in the current v1 contract. - [Transaction lifecycle](https://dev.openfiskal.com/pos-operation-ingestion.md): How your backend creates, completes, voids, and returns fiscalized operations. - [Register lifecycle](https://dev.openfiskal.com/register-lifecycle.md): How to create, fiscalize, update, and retire registers in the OpenFiskal API. - [Getting Started](https://dev.openfiskal.com/reporting-api-getting-started.md): How to use export jobs and obtain country-specific fiscal exports. - [Sandbox and go-live](https://dev.openfiskal.com/sandbox-and-go-live.md): How to test and prepare for production safely. - [Sessions](https://dev.openfiskal.com/sessions.md): How register sessions group POS operations into a cash-drawer shift, from open to close. ## OpenAPI Specs - [reporting-openapi](https://dev.openfiskal.com/api-reference/reporting-openapi.yaml) - [openapi](https://dev.openfiskal.com/api-reference/openapi.yaml) - [hosted-receipts-openapi](https://dev.openfiskal.com/api-reference/hosted-receipts-openapi.yaml)