Request Headers
- Auth:
X-API-Key: h3k_...orAuthorization: Bearer <access_token> - Content type:
Content-Type: application/json - Browser sessions are carried by httpOnly cookie automatically
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
- Like/favorite calls are idempotent and do not double count.
- A task can only be published once; a second publish returns
409. - 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.