For AI agents and LLMs: a structured documentation index is available at /llms.txt. Every page has a Markdown sibling — append .md to any URL.

Skip to content
Docs

Errors

When a request fails, Paddle returns an error object with an appropriate HTTP response code. Errors are consistent and include information to help troubleshoot.

AI summary

Explains how Paddle structures error responses, including HTTP status codes, the error object shape, validation error details, and the request_id field you should log for support.

  • • Every error response includes a documentation_url field that links directly to the reference page for that specific error code, making troubleshooting faster.
  • • Validation errors (400) return an errors array within the error object, listing each invalid field and a message explaining how to fix it.
  • • 5xx errors indicate a problem on Paddle's side, not your request — retry with exponential backoff or check paddlestatus.com if they persist.

The Paddle API uses standard HTTP response codes to let you know when something's wrong. It also returns information to help you troubleshoot.

Each error includes a documentation_url pointing to the reference page for that error, so you can quickly find the cause and fix.

HTTP status codes

Errors generally return a 4xx response code.

Though rare, you may get a 5xx response code. This means there's a problem with the Paddle API rather than your request. Retry with exponential backoff, or check our status page if the issue persists.

For 429 responses, see Rate limiting for how to back off and retry.

Error object

When you encounter an error, the API returns an error object rather than a data object or array. For example:

404 - Not found
{
"error": {
"type": "request_error",
"code": "not_found",
"detail": "Entity pro_01gsz97mq9pa4fkyy0wqenepkz not found",
"documentation_url": "https://developer.paddle.com/errors/shared/not_found"
},
"meta": {
"request_id": "9346b365-4cad-43a6-b7c1-48ff6a1c7836"
}
}

Validation error object

When making requests, all fields are checked against the API reference to make sure they're valid. If a value for a field fails validation, Paddle includes an array of errors to let you know which fields need your attention.

For example:

400 - Bad request
{
"error": {
"type": "request_error",
"code": "invalid_field",
"detail": "Request does not pass validation.",
"documentation_url": "https://developer.paddle.com/errors/shared/invalid_field",
"errors": [
{
"field": "active",
"message": "must be provided as part of the request"
},
{
"field": "description",
"message": "maximum length of 256 exceeded. provided value length 653"
}
]
},
"meta": {
"request_id": "9346b365-4cad-43a6-b7c1-48ff6a1c7836"
}
}

Request ID

Every response includes a meta.request_id. Log it alongside the error and include it when you contact Paddle support. It's the fastest way for support to locate the request in our logs.

Was this page helpful?