Usage API¶
Check your current billing period's render usage and quota.
Get Usage¶
Response:
{
"data": {
"period": {
"start": "2026-07-01T00:00:00Z",
"end": "2026-07-31T23:59:59Z"
},
"renders": {
"used": 47,
"quota": 1000
}
}
}
Try it
List Usage Events¶
A paginated, itemised log of every metered event (one per PDF render), newest first — the audit trail behind the Get Usage counter.
Query parameters:
| Parameter | Default | Description |
|---|---|---|
limit |
50 |
Items per page (1–100) |
cursor |
— | Pagination cursor from a previous response's next_cursor |
Response:
{
"data": [
{ "id": "evt_01ABC", "render_id": "rnd_01ABC", "created_at": "2026-07-20T10:00:00Z" },
{ "id": "evt_02DEF", "render_id": "rnd_02DEF", "created_at": "2026-07-19T14:30:00Z" }
],
"pagination": {
"has_more": true,
"next_cursor": "eyJjcmVhdGVkX2F0Ijoi..."
}
}
Try it
Get Limits¶
Your plan's limits alongside current consumption: the monthly render quota (with
how many remain this period) and the request rate limit. Use it to render a
usage meter or to back off before hitting 402/429.
Response:
{
"data": {
"renders": {
"used": 47,
"limit": 1000,
"remaining": 953
},
"rate_limit": {
"requests_per_second": 25
}
}
}
rate_limit.requests_per_second is the limit that applies to your plan, so the value
differs by plan rather than being a fixed number. Exceeding it returns
rate_limited.
overage describes renders past the monthly quota. Overage billing is off until
you enable it (PATCH /api/v1/billing/overage); until then, renders past the
quota return quota_exceeded and nothing is charged.
estimated_cost_cents is rounded up, so it is never lower than the invoice.
Try it
Quota Enforcement¶
When you exceed your monthly render quota, render endpoints return 402 Payment Required:
{
"error": {
"status": 429,
"code": "quota_exceeded",
"message": "Monthly render quota exceeded"
}
}
Quota resets at the beginning of each calendar month (UTC).