When errors/exceptions occur in the system, the API Manager throws XML-based error responses to the client by default. To change the format of these error responses, you change the relevant XML file in the <AM_HOME>/repository/deployment/server/synapse-configs/default/sequences directory. The directory includes multiple XML files, named after the type of errors that occur. You must select the correct file.

For example, to change the message type of authorization errors, open the <AM_HOME>/repository/deployment/server/synapse-configs/default/sequences/_auth_failure_handler.xml file and change application/xml to something like application/json.

The access token type used is not supported when invoking the API. The supported access token types are application and user accesses tokens. See Access Tokens.

900906

No matching resource found in the API for the given request

A resource with the name in the request can not be found in the API.

900907

The requested API is temporarily blocked

The status of the API has been changed to an inaccessible/unavailable state.

900908

Resource forbidden

The user invoking the API has not been granted access to the required resource.

900909

The subscription to the API is inactive

Happens when the API user is blocked.

900910

The access token does not allow you to access the requested resource

Can not access the required resource with the provided access token. Check the valid resources that can be accessed with this token.

900800

Message throttled out

The maximum number of requests that can be made to the API within a designated time period is reached and the API is throttled for the user.

700700

API blocked

This API has been blocked temporarily. Please try again later or contact the system administrators.

Sequences error codes

Error code

Description

900901

Production/sandbox key offered to the API with no production/sandbox endpoint

403

No matching resource found in the API for the given request

In addition to the above error codes, we have engaged Synapse-level error codes to the default fault sequence and custom fault sequences (e.g.,_token_fault_.xml) of the API Manager. For information, see Error Handling in WSO2 ESB documentation.

Custom error messages

To send a custom message with a custom HTTP status code, you execute an additional sequence that can generate a new error message. You then override the message body, HTTP status code and other values.

The following steps demonstrate how to override a throttled-out message's HTTP status code as a custom error message:

Go to <APIM_HOME>/repository/deployment/server/synapse-configs/default/sequences directory and create the file convert.xml as follows.