Docs
Usage billing, limits, and receipts
Estimate reservations, cap per-job spending, and reconcile exact successful-job charges.
Estimate reservations, cap per-job spending, and reconcile exact successful-job charges.
Units and available credit
All billing API microdollar fields are integer millionths of a US dollar: 1,000,000 = $1. Available credit excludes active job reservations. Legacy balanceMillicents fields use $0.001 units and may omit the sub-unit remainder; use GET /v1/billing/limits availableMicrodollars for the precise spendable amount.
Estimate before submitting
GET /v1/billing/estimate?source=html returns currency, quote, and estimated: true. It freezes an indicative rate snapshot and reservation policy, not actual runtime or guaranteed wallet availability. Use source=convert for new native operations, source=template_ai for AI generation, or source=pdf_data for AI extraction.
curl "https://api.relaypdf.com/v1/billing/estimate?source=convert" -H "Authorization: Bearer $RELAYPDF_API_KEY"Set a per-job cap
PATCH /v1/billing/limits accepts maxJobMicrodollars as null (remove the account cap), or an integer from 1 to 1,000,000,000. This is a per-job limit, not a monthly budget. A request can set a lower cap using X-RelayPDF-Max-Charge-Microdollars. The lower applicable cap wins. A cap below the minimum fee fails before processing.
curl -X PATCH https://api.relaypdf.com/v1/billing/limits \
-H "Authorization: Bearer $RELAYPDF_API_KEY" \
-H "Content-Type: application/json" \
--data '{"maxJobMicrodollars":1000000}'Reservation, settlement, and failure
Admission reserves credit. Success settles the actual charge once and returns the unused reservation. Failure releases the reservation without charging. A reservation is not a completed charge. Missing required usage measurements or a charge exceeding authorization fails without billing in metered mode.
Read receipts
GET /v1/billing/usage returns currency: USD and the latest 100 jobs with id, status, quote, receipt, reserved_microdollars, charged_microdollars, and created_at. A null charged_microdollars value is not a completed charge. Reconcile by job ID; this endpoint is a recent-history view, not a paginated accounting export.
curl https://api.relaypdf.com/v1/billing/usage -H "Authorization: Bearer $RELAYPDF_API_KEY"Understand measured usage
Receipts can include browserMs, nativeExecutionMs, containerMs, containerCpuMs, and AI token usage. The final native charge uses execution time, excluding input transfer and queue/startup time. Container wall time is not CPU time. These measurements determine RelayPDF charges; they are not an allocation of an AWS or Cloudflare invoice.
Immutable rate versions
Final release rate relay-volume-2026-09-v2: browser/native base $0.0004/job; browser $0.0003/second; native $0.0005/second; basic Worker tools $0.002/job; AI $0.002 + 8× versioned provider token cost + rendering. Charges round up once to a whole microdollar. Existing accounts retain their assignment, and accepted quotes keep their rate snapshot.
AI token accounting
The final model card pins grok-4.6. Customer rates per million tokens are $16 input, $4 cached input, and $48 output. At 200,000 or more input tokens in a call, token rates double for that call. Model, cache, and token measurements must match the accepted card; missing evidence fails unbilled. Large extraction jobs can use multiple calls.
Dashboard controls
Open Billing & credit to see available credit, add funds, configure auto-reload, review your assigned rate, set the account spending limit, and inspect recent receipts. Jobs & usage supports status and operation filters, pagination, error codes, and exact fees.