Chartquery

Status Codes

HTTP status codes returned by the Chartquery API and how to handle them.

Synchronous calls are billed on 200. Asynchronous calls (is_async=true) return 202 (not billed) and are billed when the job completes successfully — recorded as 201 in your request logs. Polling GET /jobs/{job_id} is always free. Failed jobs (500) are never billed. 404 billing varies by endpoint (check each endpoint page). All other 4xx/5xx responses are free.

CodeBilledStatusAction
200YesSuccessful API Call (sync)No action required.
201YesAsync Job CompletedAppears in your request logs when an async job finishes successfully — this is when the job is billed. Not returned as an HTTP response.
202NoAccepted (Async)The job was accepted and queued. Poll GET /jobs/{job_id} for the result — polling is always free.
400NoBad RequestVerify your parameters and their types. Check the documentation for more information.
401NoInvalid API KeyCheck your API key (x-api-key header or x_api_key query string).
401NoInactive API KeyActivate your API key in the API Keys section of your account settings.
401NoExpired API KeyUpdate your API key or generate a new one.
401NoRate limit exceededBack off and retry. Upgrade your plan or raise per-key quotas if this happens often.
402NoPayment requiredTop up credits, upgrade your plan, enable Auto Top-Up, or settle any open invoices.
403NoForbiddenVerify your permissions. For API Stats, HTTP 403 means the endpoint is not enabled on your account: contact support to activate it.
404VariesNot FoundBilling is endpoint-specific. Check the individual endpoint documentation.
413NoPayload Too LargeThe uploaded file or request body exceeds the size limit. Check the API documentation for maximum sizes.
500NoInternal ErrorRetry the action or contact our support team.