# HTTP Response Codes
source: https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/http-response-reason-codes/index.md

Successfully processed Funding API requests will result in response messages with HTTP code 201 (CREATED). A transaction response with an 'APPROVED' status (`"status": "APPROVED"`) indicates that the transaction was successful. In some situations, a transaction response can have an 'UNKNOWN' status, see [Transaction Responses with an 'UNKNOWN' Status](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/unknown-response/index.md).

If the transaction is declined, the API response is either:

* 201 response with `status` value as 'DECLINED', if the API request `decline_details` query parameter was set to 'true'
* 402 error with `ReasonCode` as 'DECLINE' (the default)

Below is a list of the response codes that the application may return for API requests. In the event of network or infrastructure issues, other response codes may be returned by the infrastructure.

**NOTE:** For further information about 4xx/5xx response codes and possible resolutions, see [Gateway Error Codes](https://developer.mastercard.com/platform/documentation/security-and-authentication/gateway-error-codes/). The error response message parameters are described in [Error Codes](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/error-codes/index.md).

|     HTTP Response Codes     |                                                                                                                                                                                                                                                                                                                                Description                                                                                                                                                                                                                                                                                                                                |
|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 200 (OK)                    | **Funding API:** The GET request to retrieve details for a transfer was successful. **Funding Reversal API:** The POST request to reverse a transfer was processed successfully. A response `status` value of 'REVERSED' indicates the reversal was successful. If the status is 'UNKNOWN', see [Transaction Responses with an 'UNKNOWN' Status](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/unknown-response/index.md). If the POST request `decline_details` query parameter is set to 'true', a 200 response will also be returned when a reversal is declined (`status` value still 'APPROVED' for funding transfer). |
| 201 (CREATED)               | **Funding API:** The POST request to create a transfer (Funding Transaction) was processed successfully. A response `status` value of 'APPROVED' indicates the transaction was successful. If the status is 'UNKNOWN', see [Transaction Responses with an 'UNKNOWN' Status](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/unknown-response/index.md). If the POST request `decline_details` query parameter is set to 'true', a 201 response will also be returned when a transaction is declined (`status` value is 'DECLINED').                                                                                           |
| 202 (ACCEPTED)              | Can occur for some timeouts. The POST request was accepted but did not complete during the allotted timeframe, so the response `status` value is 'UNKNOWN'. Processing of the request will continue asynchronously. You can use a GET request to retrieve the latest status, see [Transaction Responses with an 'UNKNOWN' Status](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/unknown-response/index.md).                                                                                                                                                                                                                 |
| 400 (BAD REQUEST)           | The request could not be fulfilled due to general errors such as validation errors or missing required data.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 401 (UNAUTHORIZED)          | Error code response for missing or invalid authentication token.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 402 (REQUEST FAILED)        | The default response when the POST request to create or reverse a transfer (Funding Transaction) was processed successfully but the transaction/reversal was declined. You can use a GET request to see the Network Response Code, which indicates the issuer's reason for declining, see [Network Response Codes](https://developer.mastercard.com/mastercard-send-funding/documentation/response-error-codes/network-response-codes/index.md). If the POST request `decline_details` query parameter is set to 'true', a declined transaction/reversal will result in a 201 response (Funding API) or 200 response (Funding Reversal API), not a 402 response.          |
| 403 (FORBIDDEN)             | You are not authorized to perform the operation, or the resource is unavailable for some reason. **Funding Reversal API:** This response can occur when you are trying to reverse a transfer that has already been reversed or you are outside the 30-minute timeframe allowed for the reversal.                                                                                                                                                                                                                                                                                                                                                                          |
| 404 (NOT FOUND)             | **Funding API:** The GET request to retrieve details for a transfer was unsuccessful because the transfer was not found. **Funding Reversal API:** The POST request to reverse a transfer was unsuccessful because the transfer was not found.                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 405 (METHOD NOT ALLOWED)    | The requested URL exists, but the requested HTTP method is not applicable. For the permitted methods, see [API Reference](https://developer.mastercard.com/mastercard-send-funding/documentation/api-reference/index.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 409 (CONFLICT)              | **Funding API:** The POST request does not have a unique Transfer Reference ID. You must use a unique ID for each new transfer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 429 (TOO MANY REQUESTS)     | You have sent too many requests in a given amount of time ("rate limiting"). The response will include a Retry-After header indicating how long to wait before making a new request. This is a courtesy response. When the service is receiving a very large number of requests from a single party the system may just drop connections to minimize resource monopolization.                                                                                                                                                                                                                                                                                             |
| 500 (INTERNAL SERVER ERROR) | The server encountered an unexpected condition which prevented it from fulfilling the request. It indicates an error that the caller cannot address from their end. Requests resulting in a 500 response code will generally include the Mastercard Send API error structure in the response.                                                                                                                                                                                                                                                                                                                                                                             |
| 5XX (SERVER ERROR)          | Typically indicates an error in the network infrastructure between the client and Mastercard Send API server. Such errors will never contain the Mastercard Send API error structure in the response.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

