Skip to main content
Platform API Docs

Pagination, Idempotency, and Rate Limits

Apply operation-specific collection, replay, and quota controls safely.

Version Public contract v1 Generated references follow approved public contract hashes Reviewed Jul 26, 2026 Next review Oct 26, 2026

The free Developer workspace is for non-production building and learning under published limits. External API or MCP client credentials use a separate scoped request and approval process.

Owner: Batoi Developer Experience Reviewed by: Batoi Platform Security Source revision: upgrade-jul-26-2026

Browse Batoi Platform API Documentation Pagination, Idempotency, and Rate Limits

Pagination, Idempotency, and Rate Limits

Pagination

Pagination fields are operation-specific and appear only when declared by the published request and response schemas. Do not assume page numbers, cursors, totals, or unrestricted result sizes when they are absent from the contract.

Idempotency

Current certified public operations are reads. Any future non-read operation requires an Idempotency-Key header. Use a unique, stable key for one logical attempt and reuse it only when retrying that same attempt.

The Platform binds replay records to the client binding and operation. Reusing a key for a different action is invalid.

Rate limits

Each operation carries an approved per-minute rate policy. Successful responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. A response with status 429 includes Retry-After and means the binding exceeded that policy. Back off, add jitter, and retry after the applicable window. Do not create additional clients to evade policy.

Safe retries

Retry transient 429 and selected 5xx responses with bounded exponential backoff. Do not retry authentication, scope, schema, unpublished-operation, or approval errors without correcting the underlying state.