Core

Errors

Standard HTTP status codes plus a typed JSON envelope.

json
{
  "error": {
    "code": "card_declined",
    "type": "invalid_request_error",
    "message": "The card was declined by the issuer.",
    "param": "source.number",
    "decline_code": "insufficient_funds",
    "requestId": "req_3kf91… "
  }
}
StatusMeaningDescription
200OKEverything worked.
201CreatedA new resource was created.
400Bad requestRequest is malformed or missing required parameters.
401UnauthorizedMissing or invalid API key.
402Payment failedProvider declined the charge.
403ForbiddenKey kind is not allowed for this endpoint.
404Not foundResource does not exist.
409ConflictIdempotency-Key reused with a different request body.
422Unprocessable entityNo provider in the cascade can accept this charge.
429Too many requestsRate limit exceeded — back off and retry with jitter.
500Server errorInternal failure. Safe to retry idempotently.