Limits and retries

Plan

The API is part of the paid plans Plus and Neomezeně. Documents issued through the API count against the plan limit like in the app.

Requests

The limits are per company (all keys and tokens together) and depend on the plan:

PlanA minuteA calendar month
Plus12020,000
Neomezeně240200,000

Every answer carries what is left in X-RateLimit-Limit, X-RateLimit-Remaining (the minute) and X-Quota-Limit, X-Quota-Remaining (the month). Over the minute the next request gets 429 TooManyRequests, over the month 429 MonthlyQuotaExceeded; both with Retry-After (seconds until the next attempt). The month follows Czech time and starts again on its first day.

When syncing, use pageSize=100 and updatedSince, and let webhooks tell you about changes instead of polling often.

Safe retries (Idempotency-Key)

When a connection breaks during a create, you do not know whether the invoice was made. Send the Idempotency-Key header with your own unique string on POST, e.g. your order number:

POST /api/v1/invoices
Idempotency-Key: order-2026-1042

A repeated request with the same key within 24 hours gets the first answer (with Idempotent-Replayed: true) and no second document is made. The same key with another body ends with 422 IdempotencyKeyReused. A refused request (validation, limit) does not take the key; once fixed it may use it again. It works for creating documents, contacts, products and payments.

Retrying after an error