API
Errors
In this guide, we will talk about what happens when something goes wrong while you work with the API. Mistakes happen, and mostly they will be yours, not ours. Let's look at some status codes and error types you might encounter.
You can tell if your request was successful by checking the status code when receiving an API response. If a response comes back unsuccessful, you can use the error type and error message to figure out what has gone wrong and do some rudimentary debugging (before contacting support).
Before reaching out to support with an error, please be aware that 99% of all reported errors are, in fact, user errors. Therefore, please carefully check your code before contacting Protocol support.
Status codes
Here is a list of the different categories of status codes returned by the Protocol API. Use these to understand if a request was successful.
-
- Name
- 2xx
- Type
- Description
-
A 2xx status code indicates a successful response.
-
- Name
- 4xx
- Type
- Description
-
A 4xx status code indicates a client error — this means it's a you problem.
-
- Name
- 5xx
- Type
- Description
-
A 5xx status code indicates a server error — you won't be seeing these.
Error types
Whenever a request is unsuccessful, the Protocol API will return an error response with an error type and message. You can use this information to understand better what has gone wrong and how to fix it. Most of the error messages are pretty helpful and actionable.
Here is a list of the two error types supported by the Protocol API — use these to understand what you have done wrong.
Properties
-
- Name
- title
- Type
- string
- Description
-
This title provides a brief hint to what happened. In this scenario, the software is not found.
-
- Name
- detail
- Type
- string
- Description
-
The detail data offers a more expand clarification of the issue. It clarifies that the asked software seem not be found.
-
- Name
- code
- Type
- string
- Description
-
Error codes are intended to identify specific problems within your request. The error code in this case is "SOFTWARE_001".
-
- Name
- link
- Type
- string
- Description
-
The link provides a reference to further information. Here, you can learn more about how to handle this error and discover potential solutions.
-
- Name
- status
- Type
- integer
- Description
-
The status code indicates the HTTP status code that specifies the nature of the error. In this case, the status code is 404, which stands for "Not Found."
Response
{
"errors": {
"title": "Software not found",
"detail": "The software was not found.",
"code": "SOFTWARE_001",
"link": "https://docs.api.com/errors/auth_004",
"status": 404
}
}