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… "
}
}| Status | Meaning | Description |
|---|---|---|
200 | OK | Everything worked. |
201 | Created | A new resource was created. |
400 | Bad request | Request is malformed or missing required parameters. |
401 | Unauthorized | Missing or invalid API key. |
402 | Payment failed | Provider declined the charge. |
403 | Forbidden | Key kind is not allowed for this endpoint. |
404 | Not found | Resource does not exist. |
409 | Conflict | Idempotency-Key reused with a different request body. |
422 | Unprocessable entity | No provider in the cascade can accept this charge. |
429 | Too many requests | Rate limit exceeded — back off and retry with jitter. |
500 | Server error | Internal failure. Safe to retry idempotently. |