Errors
The Sway Charts REST API relies on the standard HTTP status codes for communicating errors. Codes in the range of 400-499
indicate an error on the client side which can be fixed by amending the request and re-trying. Codes in the range of 500-599
indicate a server-side error.
The Sway Charts REST API does not use any custom status codes. Each error is reported via the status code; the response body includes an internal error code (if applicable) as well as the error description.
Status code | Error | Additional information |
---|---|---|
400 Bad Request | Client sent a malformed request, such as missing Host header or a semantically incorrect request | The client should not repeat the request without modifications |
401 Unauthorized | Client is not authorized in the system. | |
403 Forbidden | Client submitted a request without the required condition | For security reasons, 403 Forbidden status code is not used to indicate resources for which the client has no permissions. In this case the 404 status code is used |
404 Not Found | Either the resource does not exist or client is not permitted to access the resource. | |
405 Method Not Allowed | HTTP method specified in request is not permitted for this resource | Response must contain an Allow header with the list of supported methods. |
406 Not Acceptable | The API doesn't support the specified representation format | |
409 Conflict | The API understood the request but there are semantic issues with the request and the request could not be validated | Used to indicate application-level errors, see application-level errors |
412 Precondition Failed | Conditional request failed | |
413 Request Entity Too Large | REST API refuses to process a request because request size is greater than a pre-defined threshold | Security measure to avoid DDoS attacks |
415 Unsupported Media Type | Client sends the message body in a format that the server does not understand (neither in | |
429 Too Many Requests | The user sent too many request in a given amount of time. | |
500 Internal Server Error | An unexpected error occurred on server. Request is not processed. |
Application level errors are reported in a response as special "error" objects containing the following data:
errorCode: Error code; distinct for different distinct errors
description: Human-readable description of the issue (in English; subject to change without changes in API version)
The following errors may be triggered by any resource of the API:
Request comes from the non-authenticated client
Status code
: 401 UnauthorizedError code
: 1Description
: Authorization required
Malformed HMAC signature (HMAC authentication failed due to malformed HMAC signature header. See HMAC auth)
Status code
: 400 Bad RequestError code
: 11Description
: Malformed HMAC signature
HMAC signature too old (more than a permitted amount of time passed since the request was created. See HMAC auth)
Status code
: 401 UnauthorizedError code
: 12Description
: HMAC signature too old
HMAC signature mismatch (HMAC signature check failed; authentication failed. See HMAC auth)
Status code
: 401 UnauthorizedError code
: 13Description
: HMAC signature mismatch
Last updated