# API Codes

### Categories

We group the error codes into different categories for better understanding.

* `1xx` - Header errors
* `2xx` - Merchant/request validations errors
* `3xx` - User data errors
* `4xx` - Bank errors
* `5xx` - Internal server errors

### Error Codes

<table><thead><tr><th width="139.34375" align="center">API Code</th><th width="125.53515625" align="center">HTTP Code</th><th align="center">Type</th><th>Message</th></tr></thead><tbody><tr><td align="center">100</td><td align="center">401</td><td align="center"><code>INVALID_CREDENTIALS</code></td><td>Invalid credentials</td></tr><tr><td align="center">101</td><td align="center">400</td><td align="center"><code>MISSING_REQUIRED_HEADER</code></td><td>Missing or invalid format for required header {0}</td></tr><tr><td align="center">102</td><td align="center">401</td><td align="center"><code>INVALID_SIGNATURE</code></td><td>Invalid signature</td></tr><tr><td align="center">103</td><td align="center">400</td><td align="center"><code>INVALID_DATE_RANGE</code></td><td>X-Date header value out of valid range</td></tr><tr><td align="center">200</td><td align="center">405</td><td align="center"><code>METHOD_NOT_ALLOWED</code></td><td>Request method {0} not supported</td></tr><tr><td align="center">201</td><td align="center">401</td><td align="center"><code>INVALID_IP</code></td><td>Unregistered IP address</td></tr><tr><td align="center">202</td><td align="center">400</td><td align="center"><code>INVALID_REQUEST_BODY</code></td><td>Invalid request body: {0}</td></tr><tr><td align="center">203</td><td align="center">403</td><td align="center"><code>FORBIDDEN_MERCHANT</code></td><td>Merchant not allowed to use this api</td></tr><tr><td align="center">300</td><td align="center">400</td><td align="center"><code>INVALID_DOCUMENT</code></td><td>Invalid document number</td></tr><tr><td align="center">301</td><td align="center">400</td><td align="center"><code>INVALID_BANK_CODE</code></td><td>Invalid bank code</td></tr><tr><td align="center">302</td><td align="center">400</td><td align="center"><code>INVALID_BANK_ACCOUNT</code></td><td>Invalid bank account</td></tr><tr><td align="center">303</td><td align="center">400</td><td align="center"><code>INVALID_BANK_BRANCH</code></td><td>Invalid bank branch</td></tr><tr><td align="center">305</td><td align="center">400</td><td align="center"><code>MISSING_REQUIRED_FIELDS</code></td><td>Missing required fields</td></tr><tr><td align="center">306</td><td align="center">400</td><td align="center"><code>INVALID_PIX_KEY</code></td><td>Invalid Pix Key</td></tr><tr><td align="center">307</td><td align="center">400</td><td align="center"><code>COUNTRY_NOT_AVAILABLE</code></td><td>Country not available</td></tr><tr><td align="center">308</td><td align="center">400</td><td align="center"><code>INVALID_AMOUNT</code></td><td>Invalid amount. The minimum is {amount} {currency} or equivalent in {currency}</td></tr><tr><td align="center">309</td><td align="center">400</td><td align="center"><code>INVALID_CURRENCY</code></td><td>Invalid Currency</td></tr><tr><td align="center">310</td><td align="center">400</td><td align="center">LIMIT_EXCEEDED</td><td>Limit exceeded</td></tr><tr><td align="center">311</td><td align="center">400</td><td align="center">USER_LIMIT_EXCEEDED</td><td>Transaction declined because the limit of cashouts allowed from different users to that Bank Account has been exceeded.</td></tr><tr><td align="center">400</td><td align="center">400</td><td align="center"><code>BANK_ACCOUNT_BLOCKED</code></td><td>The bank account is blocked</td></tr><tr><td align="center">401</td><td align="center">400</td><td align="center"><code>BANK_ACCOUNT_CLOSED</code></td><td>The bank account is closed</td></tr><tr><td align="center">402</td><td align="center">400</td><td align="center"><code>INVALID_BENEFICIARY_NAME</code></td><td>The beneficiary name doesn't match the bank details</td></tr><tr><td align="center">403</td><td align="center">400</td><td align="center"><code>INVALID_BENEFICIARY_DOCUMENT</code></td><td>The beneficiary document doesn't match the bank details</td></tr><tr><td align="center">404</td><td align="center">400</td><td align="center"><code>INVALID_ACCOUNT_TYPE</code></td><td>Invalid account type</td></tr><tr><td align="center">405</td><td align="center">400</td><td align="center"><code>TRANSFER_TYPE_NOT_SUPPORTED</code></td><td>The transfer type is not supported on this account</td></tr><tr><td align="center">406</td><td align="center">400</td><td align="center"><code>BANK_ACCOUNT_UNAVAILABLE</code></td><td>The account is unable to receive transfers</td></tr><tr><td align="center">407</td><td align="center">400</td><td align="center"><code>OTHER</code></td><td>Other</td></tr><tr><td align="center">408</td><td align="center">400</td><td align="center"><code>REJECTED_BY_BANK</code></td><td>Rejected by bank</td></tr><tr><td align="center">500</td><td align="center">500</td><td align="center"><code>INTERNAL_SERVER_ERROR</code></td><td>Oh no! Something has gone wrong. Please contact a system administrator.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pandablue.com/api-reference-1/cashouts-api/validate-bank-accounts/api-codes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
