HTTP Response Status Codes
Overview
This page documents the meanings, causes, and recommended client handling of the HTTP response status codes returned by the platform API.
HTTP codes
| Status code | Name | Description | Retry behavior |
|---|---|---|---|
| 2xx successful | |||
| 200 | OK | The request was successful. If an action was requested, it was performed synchronously. Data has been returned. | Do not retry. |
| 202 | Accepted | The request was successful. If an action was requested, it is performed asynchronously. | Do not retry. |
| 204 | No Content | The request was successful. If an action was requested, it was performed synchronously. There is no data returned. | Do not retry. |
| 4xx client error | |||
| 400 | Bad Request | The server cannot process the request due to a client error. See the API documentation or contact us for help. | Do not retry. |
| 401 | Unauthorized | The client is not authenticated or has missing credentials in the request. | Do not retry. |
| 403 | Forbidden | Access to this resource has not been granted. This can also be a result of a quota limit or your plan. | Do not retry. |
| 405 | Method Not Allowed | The route or method implementation does not exist. | Do not retry. |
| 409 | Conflict | A duplicate resource exists. | Do not retry. |
| 429 | Too Many Requests | The rate limit has been exceeded. | If a |
| 5xx server error | |||
| 500 | Internal Server Error | This error should not occur. If you see it, contact us. | Do not retry. |
| 502 | Bad Gateway | This error should not occur. If you see it, contact us. | Retry with exponential backoff. |
| 503 | Service Unavailable | The platform is down for maintenance. | Retry with exponential backoff. |
| 504 | Gateway Timeout | The request took too long. If you see this response, contact us. | Retry with exponential backoff. |
| 529 | Site Overloaded | The platform is under excessive load. | Retry honoring the |
Retries with exponential backoff
For HTTP requests identified for retry in the preceding table, retry up to five times with an exponential backoff of seconds between attempts (where is the retry number). An example retry strategy follows.
| Retry attempt | Wait time (seconds) |
|---|---|
| 1 | 8 |
| 2 | 64 |
| 3 | 512 |
| 4 | 4096 |
| 5 | 32,768 |
Retry-After HTTP response header
5xx and 429 responses can optionally include a Retry-After header. The
Retry-After header provides the minimum time the client should wait before
retrying the request. The header value can be an integer number of seconds or a
date string. For more information, see the
Retry-After documentation on MDN.