> ## 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 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.