> ## Documentation Index
> Fetch the complete documentation index at: https://guides.saber.money/llms.txt
> Use this file to discover all available pages before exploring further.

# Error Codes

> Error codes returned at each step of the offramp flow — user creation, KYC, bank account linkage, quote, transaction, and status.

Errors returned at each step of the flow, in the order the steps are called.

## Create User

`POST /api/v2/user`

| HTTP | Code   | Message                     |
| ---- | ------ | --------------------------- |
| 400  | 5999   | Unknown error               |
| 500  | 100999 | Something went wrong!       |
| 400  | 102001 | missing required parameters |
| 400  | 102003 | invalid email format        |
| 400  | 102004 | invalid phone format        |
| 400  | 102005 | invalid user uuid           |
| 409  | 102006 | user already exists         |

## KYC

`POST /api/v2/user/kyc`

| HTTP | Code   | Message                                                                              |
| ---- | ------ | ------------------------------------------------------------------------------------ |
| 400  | 400    | LegalName This field is required.                                                    |
| 400  | 400    | POA This field is required.                                                          |
| 400  | 400    | POI This field is required.                                                          |
| 400  | 5004   | dynamic, e.g. "duplicate entries found for, email, poi"                              |
| 400  | 5999   | Unknown error                                                                        |
| 400  | 100999 | unable to initiate kyc                                                               |
| 400  | 102001 | missing required parameters                                                          |
| 400  | 102001 | Country ISO3 is required                                                             |
| 400  | 102002 | invalid parameter format                                                             |
| 400  | 102005 | invalid user uuid                                                                    |
| 400  | 103008 | state is required when address line1 is provided                                     |
| 400  | 103009 | address line1 is required when state is provided                                     |
| 400  | 203018 | `<field>` must be a supported document type                                          |
| 400  | 203019 | `<field>` should be earlier than today                                               |
| 400  | 203020 | `<field>` should be valid for at least 30 days                                       |
| 400  | 203021 | `<field>` should be a valid iso3 country code                                        |
| 400  | 203022 | source\_of\_funds must be a supported source of funds                                |
| 400  | 203023 | occupation must be a supported occupation category                                   |
| 400  | 203024 | `<field>` is required when issue\_date, expiry\_date or issuing\_country is provided |
| 400  | 203025 | `<field>` must be a valid date in YYYY-MM-DD format                                  |

## Bank Account Linkage

`POST /api/v2/user/bank_account`

| HTTP | Code   | Message                                                                                                     |
| ---- | ------ | ----------------------------------------------------------------------------------------------------------- |
| 400  | 7101   | request has failed validation                                                                               |
| 409  | 104003 | bank account already linked to another user                                                                 |
| 400  | 104004 | Max limit reached for approved bank accounts, please delete any existing approved account to add a new one. |
| 400  | 203007 | invalid user kyc state                                                                                      |
| 400  | 304001 | invalid country code                                                                                        |
| 400  | 304002 | invalid bank code                                                                                           |
| 400  | 304003 | invalid account number                                                                                      |
| 400  | 304005 | duplicate bank account                                                                                      |
| 400  | 304014 | bank account already exists in name rejected state                                                          |
| 400  | 304015 | bank account already exists in pending state                                                                |
| 400  | 304016 | bank account already exists in rejected state                                                               |
| 400  | 304017 | bank account verification is pending                                                                        |

## Fetching Quote

### Pool Sell

`GET /api/v2/wallet/s/quote`

| HTTP | Code                      | Message                                               |
| ---- | ------------------------- | ----------------------------------------------------- |
| 500  | 4015 / 4019 / 9009 / 9010 | Something went wrong!                                 |
| 400  | 6002                      | invalid request                                       |
| 400  | 400001                    | missing or invalid parameters                         |
| 400  | 402001                    | unsupported currency pair, please contact support     |
| 400  | 402008                    | amount less than minimum amount                       |
| 400  | 403001                    | invalid request                                       |
| 409  | 403004                    | reference uuid already exists or is invalid           |
| 503  | 901011                    | service configuration missing. please contact support |

### External Sell

`GET /api/v2/wallet/w/quote`

| HTTP | Code               | Message                                               |
| ---- | ------------------ | ----------------------------------------------------- |
| 400  | 400                | missing or invalid parameters                         |
| 500  | 4015 / 4019 / 9009 | Something went wrong!                                 |
| 400  | 6002               | invalid request                                       |
| 403  | 6002               | invalid request                                       |
| 404  | 9010               | no data found in db                                   |
| 400  | 9924               | quote invalid                                         |
| 400  | 400001             | missing or invalid parameters                         |
| 400  | 402001             | unsupported currency pair, please contact support     |
| 400  | 402008             | amount less than minimum amount                       |
| 409  | 403004             | reference uuid already exists or is invalid           |
| 503  | 901011             | service configuration missing. please contact support |

## Initiating Transaction

### Pool Sell

`POST /api/v2/wallet/transaction/pool/sell`

| HTTP | Code            | Message                                                |
| ---- | --------------- | ------------------------------------------------------ |
| 400  | 400001          | missing or invalid parameters                          |
| 400  | 402001          | unsupported currency pair, please contact support      |
| 400  | 402002          | quote expired                                          |
| 400  | 402005          | quote invalid                                          |
| 403  | 402007          | quote doesn't belong to the client                     |
| 400  | 403001          | validation-specific message                            |
| 403  | 403002          | insufficient balance                                   |
| 409  | 403004          | reference uuid already exists or is invalid            |
| 400  | 403006          | invalid reason\_code                                   |
| 403  | 404001          | limits validation failed for the transaction           |
| 403  | 405001          | invalid user for this client                           |
| 500  | 405001 / 499999 | Something went wrong!                                  |
| 403  | 406001          | pool transaction not allowed for this user             |
| 403  | 406002          | pool transactions not enabled. please contact support. |

### External Sell

`POST /api/v2/wallet/transaction/crypto/sell`

| HTTP | Code   | Message                                           |
| ---- | ------ | ------------------------------------------------- |
| 400  | 7082   | no deposit address found                          |
| 400  | 400001 | missing or invalid parameters                     |
| 400  | 402001 | unsupported currency pair, please contact support |
| 400  | 402002 | quote expired                                     |
| 400  | 402003 | settlement expiry has passed                      |
| 400  | 402004 | quote already used                                |
| 400  | 402005 | quote invalid                                     |
| 403  | 403003 | invalid sender or refund address                  |
| 409  | 403004 | reference uuid already exists or is invalid       |
| 400  | 403006 | invalid reason\_code                              |
| 403  | 404001 | limits validation failed for the transaction      |
| 500  | 499999 | Something went wrong!                             |

### Confirm On-chain Funding

`POST /api/v2/wallet/transaction/crypto/sell/{id}/confirm-onchain-funding`

| HTTP | Code   | Message                                                         |
| ---- | ------ | --------------------------------------------------------------- |
| 404  | 1001   | tranaction not found with the provided id                       |
| 400  | 400001 | missing or invalid parameters                                   |
| 400  | 403001 | transaction hash has already been received for this transaction |
| 409  | 403004 | reference uuid already exists or is invalid                     |
| 500  | 499999 | Something went wrong!                                           |

## Checking Status

`GET /api/v2/wallet/transaction`

| HTTP | Code | Message                |
| ---- | ---- | ---------------------- |
| 400  | 3100 | Invalid user ID format |
| 404  | 3100 | User not found         |
| 404  | 4004 | Transaction not found  |


## Related topics

- [Get External Sell Quote](/api-reference/offramp/from-external-wallet/get-external-sell-quote.md)
- [Get External Wallet Quote](/api-reference/onramp/get-external-wallet-quote.md)
- [Get Bank Codes for Country](/api-reference/bank-account-operations/get-bank-codes-for-country.md)
- [Send User KYC Documents](/api-reference/kyc-and-edd-operations/kyc-sharing/send-user-kyc-documents.md)
- [Add Bank Account](/api-reference/bank-account-operations/add-bank-account.md)
