## HTTP Codes and Errors
Finix uses HTTP codes to communicate whether requests succeeded or failed. Requests to Finix's API return responses within less than one second.
However, communications between card networks and processors can increase response latency. Additionally, response latency for card-present devices can be higher depending on how quickly buyers complete the transaction on payment terminals.
Due of this, requests to the Finix API have a maximum timeout of 5 minutes.
For more details, see [Error Codes](/additional-resources/developers/implementation-and-testing/error-codes/). Also, you can [test for specific errors and responses](/additional-resources/developers/implementation-and-testing/testing-your-integration/).
| Code  | Definition  | Explanation  |
|  --- | --- | --- |
| `400` | Bad Request | We could not parse your request. Verify you are providing valid JSON. |
| `401` | Unauthorized | We could not authenticate your request. Verify your `username` and `password` are correct. |
| `402` | Upstream Processor Error | Errors caused by 3rd-party service(s). |
| `403` | Forbidden | Your credentials do not have the correct permissions to perform the request. |
| `404` | Not Found | We could not find the specified resource. |
| `405` | Method Not Allowed | The specified resource does not support the HTTP Method used to submit the request. |
| `406` | Not Acceptable | The server could accept the submitted request. Confirm how the request was formatted and submitted. |
| `409` | Conflict | The submitted request conflicts with the current state of the server. |
| `422` | Unprocessable Entity | The parameters were valid, but the request failed. Usually, the error involves misunderstanding of how to perform the request (e.g., creating a transfer with a seller that is not-yet-approved). |
| `500` | Internal Server Error | We had a problem with our server. Try again later. |



---

