Request Headers
- Auth:
X-API-Key: h3k_... - Content type:
Content-Type: application/json - Browser sessions are carried by httpOnly cookie automatically (web UI only)
Pagination
List endpoints use:
page: page number, starting at 1page_size: items per page, default 20, usually capped at 50 or 100
Response shape:
{
"items": [],
"total": 100,
"page": 1,
"page_size": 20
}
Time Format
Timestamps are ISO 8601 UTC strings, for example:
2026-08-20T12:00:00.000000+00:00
Convert to local time on the client; the API does not localize.
Idempotency
- Repeated writes do not create duplicates or double charge.
- Task completion is called by workers; duplicate completion does not double charge or refund.
Error Structure
All errors use:
{ "detail": "message" }
Some responses include a Retry-After header, such as rate limits.
Rate Limits
- Default is 20 requests per minute, counted by API key hash and IP.
- On limit, return
429and wait forRetry-After.