Errors

Some errors you might encounter using Waza APIs and what they mean

At Waza, we're committed to offering precise and actionable error insights to assist our customers in identifying and swiftly addressing challenges. Our API adheres to standard HTTP error codes and ensures a uniform error message format.

HTTP StatusError CodeMeaning
400BAD_REQUESTThe request was malformed or invalid.
401UNAUTHORIZEDThe API key provided is invalid or has expired.
403FORBIDDENThe authenticated user does not have access to the requested resource.
404NOT_FOUNDThe requested resource could not be found.
409CONFLICTThe request could not be processed because of a conflict in the request such as the requested resource is not in the expected state, or the result of processing the request would create a conflict within the resource.
500999An unknown error has occurred, this rarely happens. Please contact support if this persists.

❗️

message:

A user-friendly message explaining the error. This can be displayed directly to the end-users or used for debugging purposes.

❗️

code:

A unique error code that can be used for reference. If you're contacting support regarding an issue, providing this code can expedite the troubleshooting process. This is also useful for programmatically handling errors in your application.

❗️

description:

A brief description categorising the nature of the error.

❗️

field_errors (optional):

A list of failed validation when making resource changing requests, specifies the field and error message.

When an error occurs, the API will return an error response in the following format:

{
    "error": {
        "message": "Human-readable message detailing the error.",
        "code": "Unique error code for reference and programmatic handling.",
        "description": "Short description categorising the nature of the error.",
    }
}

Another sample:

{
    "error": {
        "message": "Invalid request in body",
        "code": "400",
        "description": "INVALID_REQUEST",
        "field_errors": [
            {
                "field": "url",
                "message": "URL must not be localhost or 127.0.0.1."
            },
            {
                "field": "enabled_events.0",
                "message": "\"enabled_events[0]\" must be one of [transaction.created, transaction.processing, transaction.completed, transaction.failed]"
            },
            {
                "field": "enabled_events.0",
                "message": "\"enabled_events[0]\" is not allowed to be empty"
            }
        ]
    }
}