Backend API
Swell uses standard HTTP status codes to indicate the success or failure of an API request. A code in the range of 2xx indicates success, a code in the range of 4xx indicates there was a problem with the arguments provided (e.g., a required field was missing), and a code in the range of 5xx indicates an error occurred with Swell's servers.
A validation error object is returned when a request could not be fulfilled due to one or more invalid values.
Fields
code
stringA distinct code indicating the cause of the error.
message
stringA human-readable description of the error.
params
objectObject containing parameter values related to the error.
Response
{
"errors": {
"name": {
"code": "REQUIRED",
"message": "Required"
},
"email": {
"code": "FORMAT_EMAIL",
"message": "Must be a valid email address"
}
}
}Swell API libraries return a validation error object in case of an invalid PUT, POST, or DELETE request, and throw in any other error case.
Failed requests return a standard HTTP status code along with a message describing what went wrong.
| Status | Meaning |
| 400 | The request was malformed, or exceeded a documented limit. |
| 402 | The store's plan or trial has expired and must be renewed to continue using the API. |
| 403 | The credentials used aren't authorized for that resource. |
| 404 | No resource exists at that path. |
| 405 | The endpoint doesn't support that HTTP method. |
| 429 | The request was rate limited. |
A 429 means the request waited too long for capacity rather than that it was rejected outright — see rate limits for how requests are weighted and how to back off.
Two endpoints report errors differently from the rest. Transactions return typed error codes such as transaction_conflict and transaction_timeout, and roll back completely when any operation fails. In a batch, a failed operation returns an $error in its own slot of the response while the other operations still apply, so each entry has to be checked individually.