Error Handling
com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Error Handling

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 <APIM_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 <APIM_HOME>/repository/deployment/server/synapse-configs/default/sequences/_auth_failure_handler.xml  file and change  application/xml to something like  application/json .

<sequence name="_auth_failure_handler_" xmlns="http://ws.apache.org/ns/synapse"> <property name="error_message_type" value="application/json"/> <sequence key="_cors_request_handler_"/> </sequence>

Similarly, to change the error messages of throttling errors (e.g., quota exceeding), change the _throttle_out_handler_.xml file; resource mismatch errors, the _resource_mismatch_handler_.xml file, etc.

Given below are some error codes and their meanings.

API handlers error codes

Error code

Error Message

Description

Example

Error code

Error Message

Description

Example

700700

API blocked

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

Invoke an API which is in the BLOCKED lifecycle state

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.

Invoke an API exceeding the tier limit

900801

Hard limit exceeded

Hard throttle limit has been reached

Invoke an API exceeding the hard throttle limit

900802

Resource level throttle out

Message is throttled out because resource level has exceeded

Sending/Receiving messages beyond authorized resource level

900803

Application level throttle out

Message is throttled out because application level is exceeded

Sending/Receiving messages beyond authorized application level

900804

Subscription level throttled out

Message throttled out due to subscription level throttling limit reached.

Sending/Receiving messages beyond configured throttling limit of subscription level policy.

900805

Message blocked

Accessing an API which is blocked on user, IP, application, or API Context.

An admin user can block API invocations in real time by user, IP, application, or API context. The API invocation meets the blocked condition.

900806

Custom policy throttled out

Message throttled out due to exceeding the limit configured through the custom throttling policy rules.

The API invocations meet custom throttle policy rules, exceeding the limits of the configured custom policy.

900807

Message throttled out

Messaged throttled out because of exceeding the burst control/rate limit (requests per second) in the subscription level policy.

Sending/Receiving messages exceeding the configured burst control/rate limit within second.

900900

Unclassified authentication failure

An unspecified error has occurred

Backend service for key validation is not accessible when trying to invoke an API

900901

Invalid credentials

Invalid authentication information provided

The error codes 900903 (Access token expired) and 900904 (Access token inactive) are deprecated from API Manager 1.9.0 onwards. Alternatively, error code 900901 will be sent when the token is invalid or inactive.

When the access token is invalid or inactive.

900902

Missing credentials

No authentication information provided

Accessing an API without Authorization: Bearer header

900905

Incorrect access token type is provided

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.

Invoke an API with application token, where the resource only allows application user 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.

Invoke an API resource that is not available

900907

The requested API is temporarily blocked

Happens when the API user is blocked.

Invoke API resource with a subscription that has been blocked by the API publisher

900908

Resource forbidden

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

Invoke an unsubscribed API

900909

The subscription to the API is inactive

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

Invoke an API resource with a subscription that has not yet been approved by the administrator.

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.

Invoke API resource with an access token that is not generated to be used with the resource's scope.

102511

Incomplete payload

The payload sent with the request is too large and the client is unable to keep the connection alive until the payload is completely transferred to the API Gateway

Sending a large PDF file with the POST request

 

Sequences error codes

Error code

Description

Error code

Description

900901

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

400

Server cannot process the request due to an error in the request sent by the client

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 EI documentation.

The HTTP Status Codes and the corresponding error codes from the error responses are given below.

Transport error codes

Error Code

Detail

Error Code

Detail

101000

Receiver input/output error sending

101001

Receiver input/output error receiving

101500

Sender input/output error sending

101501

Sender input/output error receiving

101503

Connection failed

101504

Connection timed out (no input was detected on this connection over the maximum period of inactivity)

101505

Connection closed

101506

NHTTP protocol violation

101507

Connection cancelled

101508

Request to establish new connection timed out

101509

Send abort

101510

Response processing failed

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.