Skip to main content
Premium report operations can return a PDF immediately or run asynchronously. For production integrations, use asynchronous mode so your request path stays short and observable.

1. Estimate the capability

2. Enqueue a report

Set async to true. Send an idempotency key from your system when a user action may be retried.
A 202 response includes job_id and a polling path. Credits are debited when a job is accepted; a terminal generation failure is refunded automatically.

3. Poll for completion

When status becomes succeeded, use result.url before its signed expiry. Do not persist a signed URL as a permanent asset reference. When status is failed, inspect the safe error_code; the response also states refunded credits where applicable.

White-label fields

Report endpoints support request-level branding where the endpoint schema exposes branding. Reuse the same branding object from your application and keep logo URLs publicly reachable by the report renderer.