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

# Error Codes

> This section provides a comprehensive list and definition of all error codes generated by the Pacifica API

### Pacifica API Response Codes (REST API)

| 400 | Bad Request                             |
| --- | --------------------------------------- |
| 403 | Forbidden: restricted region            |
| 404 | Not Found                               |
| 409 | Conflict                                |
| 422 | Business Logic Error - See below        |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error                   |
| 503 | Service Unavailable                     |
| 504 | Gateway Timeout                         |

### Business Logic Errors (Code 422)

These values are returned in the `code` field of a `422` response.

| Code | Name                                                                           |
| ---- | ------------------------------------------------------------------------------ |
| 0    | `INTERNAL`                                                                     |
| 1    | `ACCOUNT_NOT_FOUND`                                                            |
| 2    | `ACCOUNT_ALREADY_EXISTS`                                                       |
| 3    | `BOOK_NOT_FOUND`                                                               |
| 4    | `INVALID_TICK_LEVEL`                                                           |
| 5    | `INSUFFICIENT_BALANCE`                                                         |
| 6    | `ORDER_NOT_FOUND`                                                              |
| 7    | `ORDER_AMOUNT_TOO_LOW`                                                         |
| 8    | `ORDER_AMOUNT_TOO_HIGH`                                                        |
| 9    | `OVER_WITHDRAWAL`                                                              |
| 10   | `OPEN_ORDER_LIMIT_REACHED`                                                     |
| 11   | `INVALID_LEVERAGE`                                                             |
| 12   | `CANNOT_UPDATE_MARGIN`                                                         |
| 13   | `POSITION_NOT_FOUND`                                                           |
| 14   | `DATABASE_ERROR`                                                               |
| 15   | `INVALID_DEPOSIT_NONCE`                                                        |
| 16   | `INVALID_STOP_TICK`                                                            |
| 17   | `INVALID_STOP_ORDER_SIDE`                                                      |
| 18   | `INVALID_STOP_ORDER_AMOUNT`                                                    |
| 19   | `INVALID_STOP_ORDER_REDUCE_ONLY`                                               |
| 20   | `INVALID_ORDER_TYPE`                                                           |
| 21   | `INVALID_REDUCE_ONLY_ORDER_SIDE`                                               |
| 22   | `INVALID_REDUCE_ONLY_ORDER_AMOUNT`                                             |
| 23   | `NO_POSITION_FOR_REDUCE_ONLY_ORDER`                                            |
| 24   | `INVALID_LIQUIDATION_SIDE`                                                     |
| 25   | `NO_REASONABLE_PRICE`                                                          |
| 26   | `CHANNEL_CLOSED`                                                               |
| 27   | `RESPONSE_DROPPED`                                                             |
| 28   | `IMMEDIATE_LIQUIDATION`                                                        |
| 29   | `WITHDRAW_AMOUNT_TOO_LOW`                                                      |
| 30   | `PRICE_TOO_FAR_FROM_MARK`                                                      |
| 31   | `DAILY_WITHDRAW_LIMIT_EXCEEDED`                                                |
| 32   | `WITHDRAWAL_BLOCKED`                                                           |
| 33   | `INVALID_TRANSFER_RELATIONSHIP`                                                |
| 34   | `SUBACCOUNT_WITHDRAWAL_NOT_ALLOWED`                                            |
| 35   | `SUBACCOUNT_CANNOT_CREATE_SUBACCOUNT`                                          |
| 36   | `DUPLICATE_CLIENT_ORDER_ID`                                                    |
| 37   | `UNUSED_CLIENT_ORDER_ID`                                                       |
| 38   | `TRADING_DISABLED`                                                             |
| 39   | `INVALID_FEE_MODE`                                                             |
| 40   | `NOT_MAIN_ACCOUNT`                                                             |
| 41   | `OPEN_INTEREST_LIMIT_EXCEEDED`                                                 |
| 42   | `EXCHANGE_WITHDRAW_LIMIT_REACHED`                                              |
| 43   | `TWAP_DUPLICATE_CLIENT_ORDER_ID`                                               |
| 44   | `TWAP_UNUSED_CLIENT_ORDER_ID`                                                  |
| 45   | `TWAP_ORDER_FAIL_TO_GET_SUB_ORDER_AMOUNT`                                      |
| 46   | `TWAP_ORDER_DURATION_TOO_SHORT`                                                |
| 47   | `TWAP_ORDER_NOT_FOUND`                                                         |
| 48   | `TWAP_ORDER_COUNT_PER_SYMBOL_LIMIT_EXCEEDED`                                   |
| 49   | `POSITION_TPSL_LIMIT_EXCEEDED`                                                 |
| 50   | `INVALID_BUILDER_CODE`                                                         |
| 51   | `UNSUPPORTED_OPERATION`                                                        |
| 52   | `INVALID_TICK_SIZE`                                                            |
| 53   | `ORDER_BLOCKED_BY_LOAN_POOL_STRESS`                                            |
| 54   | `ASSET_ALREADY_EXISTS`                                                         |
| 55   | `ASSET_NOT_FOUND`                                                              |
| 56   | `ASSET_NOT_ACTIVE`                                                             |
| 59   | `INVALID_AMOUNT`                                                               |
| 61   | `SPOT_WITHDRAWAL_EXCEEDS_COLLATERAL`                                           |
| 62   | `INSUFFICIENT_SPOT_BALANCE`                                                    |
| 63   | `MISSING_MARK_PRICE`                                                           |
| 64   | `INVALID_FLOOR_PRICE_PCT`                                                      |
| 65   | `SPOT_EXCLUSION_BREACHES_COLLATERAL`                                           |
| 66   | `LAKE_NOT_FOUND`                                                               |
| 67   | `LAKE_ADDRESS_COLLISION`                                                       |
| 68   | `LAKE_MIN_DEPOSIT_AMOUNT`                                                      |
| 69   | `LAKE_INVALID_SHARES`                                                          |
| 70   | `LAKE_OVER_WITHDRAWAL`                                                         |
| 71   | `LAKE_NICKNAME_ALREADY_EXISTS`                                                 |
| 72   | `LAKE_WITHDRAWAL_NOT_ALLOWED`                                                  |
| 73   | `LAKE_MANAGER_IS_SUBLAKE`                                                      |
| 74   | `LAKE_NOT_CREATOR`                                                             |
| 75   | `LAKE_DEPOSIT_CAP_EXCEEDED`                                                    |
| 76   | `LAKE_WITHDRAW_TOO_EARLY`                                                      |
| 77   | `LAKE_INVALID_REV_SHARE_CONFIG`                                                |
| 78   | `LAKE_DEPOSITOR_OVER_WITHDRAWAL`                                               |
| 79   | `LAKE_ALREADY_HAS_MANAGER`                                                     |
| 80   | `LAKE_MANAGER_BALANCE_PORTION_TOO_LOW`                                         |
| 81   | `LAKE_INVALID_BALANCE_PORTION_CONFIG`                                          |
| 82   | `LAKE_LIQUIDATION_PORTION_ABOVE_MIN_PORTION`                                   |
| 83   | `LAKE_TRADING_HALTED`                                                          |
| 84   | `INVALID_WITHDRAW_NONCE`                                                       |
| 85   | `LAKE_INVALID_WITHDRAW_WINDOW_CONFIG`                                          |
| 86   | `LAKE_WITHDRAW_DURATION_ABOVE_WINDOW`                                          |
| 87   | `LAKE_WITHDRAW_WINDOW_CLOSED`                                                  |
| 88   | `INVALID_SPOT_DEPOSIT_NONCE`                                                   |
| 89   | `SPOT_DEPOSIT_NONCE_GAP`                                                       |
| 90   | `INVALID_SPOT_WITHDRAW_NONCE`                                                  |
| 91   | `SPOT_BRIDGE_NOT_FOUND`                                                        |
| 92   | `SPOT_BRIDGE_INACTIVE`                                                         |
| 93   | `LAKE_SYMBOL_NOT_ALLOWED`                                                      |
| 94   | `LAKE_MAX_LEVERAGE_EXCEEDED`                                                   |
| 95   | `GAME_CONFIG_NOT_FOUND`                                                        |
| 96   | `GAME_ACCOUNT_NOT_FOUND`                                                       |
| 97   | `GAME_ACCOUNT_ADDRESS_COLLISION`                                               |
| 99   | `GAME_DEPOSIT_CAP_EXCEEDED`                                                    |
| 100  | `GAME_OPERATION_NOT_ALLOWED`                                                   |
| 101  | `GAME_ALREADY_ENDED`                                                           |
| 102  | `GAME_INVALID_CONFIG`                                                          |
| 103  | `GAME_ACCOUNT_WITHDRAWAL_NOT_ALLOWED`                                          |
| 104  | `GAME_LEVERAGE_EXCEEDED`                                                       |
| 105  | `GAME_DEPOSIT_BELOW_MINIMUM`                                                   |
| 106  | `REDUCE_ONLY_NOT_SUPPORTED_FOR_SPOT`                                           |
| 107  | `TP_SL_NOT_SUPPORTED_FOR_SPOT`                                                 |
| 108  | `BUILDER_CODE_NOT_SUPPORTED_FOR_SPOT`                                          |
| 109  | `MARGIN_SETTINGS_NOT_APPLICABLE_FOR_SPOT`                                      |
| 110  | `INVALID_BOOK_CONFIG`                                                          |
| 111  | `TAP_GAME_NOT_ACTIVE`                                                          |
| 112  | `TAP_GAME_INVALID_AMOUNT`                                                      |
| 113  | `TAP_GAME_ERROR`                                                               |
| 114  | `INVALID_COLLATERAL_LIMIT` / `LAKE_SELF_DEPOSIT_NOT_ALLOWED`                   |
| 115  | `SPOT_COLLATERAL_LIMIT_BREACHES_COLLATERAL` / `LAKE_DEPOSITOR_NOT_WHITELISTED` |
| 116  | `DAILY_SPOT_WITHDRAW_LIMIT_EXCEEDED` / `RFQ_SELF_QUOTE_NOT_ALLOWED`            |
| 117  | `EXCHANGE_SPOT_WITHDRAW_LIMIT_REACHED` / `RFQ_NOT_SUPPORTED_FOR_SPOT`          |
| 118  | `INVALID_SPOT_LIMIT` / `RFQ_MISSING_CLIENT_ORDER_ID`                           |
| 119  | `ORACLE_NOT_AVAILABLE`                                                         |
| 120  | `VAULT_WITHDRAWAL_NOT_ALLOWED`                                                 |
| 121  | `RFQ_QUOTE_WORSE_THAN_BOOK`                                                    |

Note: codes 57, 58, 60, and 98 are currently unused/reserved. Codes 114–118 are each shared by two distinct error variants in the backend.

### WebSocket Error Codes

| 200 | SUCCESS\_CODE               |
| --- | --------------------------- |
| 400 | INVALID\_REQUEST\_CODE      |
| 401 | INVALID\_SIGNATURE\_CODE    |
| 402 | INVALID\_SIGNER\_CODE       |
| 403 | UNAUTHORIZED\_REQUEST\_CODE |
| 420 | ENGINE\_ERROR\_CODE         |
| 429 | RATE\_LIMIT\_EXCEEDED\_CODE |
| 500 | UNKNOWN\_ERROR\_CODE        |
