Combined
API reference

Errors

Error envelope, public codes, HTTP status meanings, and safe recovery behavior.

All REST errors use one envelope:

{
  "error": {
    "code": "query_rejected",
    "message": "Only one read-only SELECT is accepted.",
    "correlationId": "cor_01K2A000000000000000000101",
    "details": {}
  }
}

details is optional and machine-readable. For request validation it can contain an issues array with field paths. Do not parse the human message to make program decisions; branch on HTTP status and code.

HTTP status guide

StatusMeaningCaller action
400Invalid JSON or malformed requestCorrect serialization; do not retry unchanged.
401Missing, expired, invalid, or revoked credentialReauthenticate or rotate the credential.
403Principal lacks the required Account capability or grantAsk an authorized owner/deployer for the narrow grant.
404Visible resource does not existVerify account and identifier; hidden resources are not disclosed.
409State or idempotency conflictInspect state; reuse a key only with the identical request.
413Body or query-worker payload bound exceededReduce the request or result shape.
422Structurally valid request failed validation or query policyUse details, catalogue, and SQL rules to correct it.
429Rate, concurrency, budget, or grant limit reachedHonor Retry-After; narrow or defer work.
500Unexpected server failurePreserve correlation ID and contact support if repeatable.
503Required dependency temporarily unavailableHonor Retry-After and use bounded backoff.

Public error codes

The stable contract includes bad_request, unauthenticated, forbidden, not_found, conflict, rate_limited, limit_reached, needs_authorization, needs_review, query_rejected, query_timeout, invalid_credentials, payload_too_large, temporarily_unavailable, and internal_error. A more specific code may be returned as a capability evolves; clients should preserve unknown strings and still use the HTTP class.

needs_authorization means the Source must be authorized again. needs_review means a schema decision is required. query_rejected means SQL, relation scope, or a grant bound failed before a successful result. query_timeout is not proof that the request never started; inspect the query receipt when available.

Safe diagnostic report

Record the UTC time, HTTP status, error code, correlation ID, operation ID or method/path, SDK version, and whether the request was a retry. Redact bearer tokens, provider credentials, SQL literal values, returned rows, and private Source content. See Safe diagnostics.

On this page