Skip to main content

API Reference

FiscalAPI is a RESTful API that accepts JSON request bodies and returns JSON responses. All endpoints are versioned under /v1/.

Base URL

https://api.fiscalapi.com

Endpoints

MethodPathAuthDescription
GET/healthNoHealth check
GET/versionNoAPI version information
POST/v1/accountsNoCreate account
POST/v1/locationsYesCreate location
GET/v1/locationsYesList locations
GET/v1/locations/{id}YesGet location
PATCH/v1/locations/{id}YesUpdate location
DELETE/v1/locations/{id}YesDelete location
POST/v1/transactionsYesCreate transaction
GET/v1/transactionsYesList transactions
GET/v1/transactions/{id}YesGet transaction
POST/v1/transactions/{id}/cancelYesCancel transaction
POST/v1/certificatesYesUpload certificate
GET/v1/certificatesYesList certificates
DELETE/v1/certificates/{id}YesDelete certificate
POST/v1/webhooksYesCreate webhook
GET/v1/webhooksYesList webhooks
GET/v1/webhooks/{id}YesGet webhook
PATCH/v1/webhooks/{id}YesUpdate webhook
DELETE/v1/webhooks/{id}YesDelete webhook
POST/v1/webhooks/{id}/rotate-secretYesRotate webhook secret
GET/v1/retry-queueYesList retry queue entries
GET/v1/retry-queue/statsYesRetry queue stats
POST/v1/admin/process-pendingYesTrigger batch processing
GET/v1/admin/batch-statsYesBatch statistics

Request format

All POST and PATCH requests must include:

Content-Type: application/json

Response format

All responses return JSON with appropriate HTTP status codes:

CodeMeaning
200Success
201Resource created
204Success, no content (e.g., delete)
400Validation error
401Authentication failed
403Forbidden (inactive account or live mode not enabled)
404Resource not found
207Multi-Status (partial success in batch operations)
409Conflict (duplicate resource or non-cancellable transaction)
500Internal server error

Pagination

List endpoints support pagination with limit and offset query parameters:

ParameterDefaultMaxDescription
limit20100Items per page
offset010000Number of items to skip

Paginated responses include metadata:

{
"data": [...],
"total": 42,
"limit": 20,
"offset": 0
}

Error format

All errors return a JSON object with an error field:

{
"error": "human-readable error message"
}

See the Error handling guide for details.