Error Codes Reference
This page contains a comprehensive list of error codes returned by Glider APIs. Understanding these error codes can help with troubleshooting and implementing better error handling in your applications.
The Platform API uses error codes in the format API_XXX
, where XXX
is a numerical code. Errors are grouped into categories:
General Errors (000-099)
Code | Name | Description |
---|
API_000 | UNKNOWN_ERROR | An unknown error occurred |
API_001 | CONFIGURATION_ERROR | Missing or invalid configuration |
API_002 | INVALID_REQUEST | The request is invalid or malformed |
API_003 | METHOD_NOT_ALLOWED | The HTTP method is not allowed for this endpoint |
API_004 | RATE_LIMIT_EXCEEDED | Rate limit has been exceeded |
API_005 | FEATURE_UNAVAILABLE | The requested feature is not available |
API_006 | NOT_FOUND | The requested resource was not found |
Authentication and Authorization Errors (100-199)
Code | Name | Description |
---|
API_100 | UNAUTHORIZED | Authentication is required to access this resource |
API_101 | API_KEY_MISSING | API key is required but was not provided |
API_102 | API_KEY_INVALID | The provided API key is invalid |
API_103 | API_KEY_EXPIRED | The provided API key has expired |
API_104 | PERMISSION_DENIED | Permission denied to perform the operation |
API_105 | TENANT_NOT_FOUND | The requested tenant was not found |
API_106 | TENANT_DISABLED | The tenant account is disabled |
API_107 | USER_NOT_FOUND | The requested user was not found |
API_108 | TOKEN_EXPIRED | The authentication token has expired |
API_109 | TOKEN_INVALID | The authentication token is invalid |
API_110 | FORBIDDEN_ACTION | The requested action is forbidden |
Portfolio Specific Errors (200-299)
Code | Name | Description |
---|
API_200 | PORTFOLIO_NOT_FOUND | The requested portfolio was not found |
API_201 | PORTFOLIO_CREATE_FAILED | Failed to create portfolio |
API_202 | PORTFOLIO_ALREADY_EXISTS | A portfolio with this identifier already exists |
API_203 | PORTFOLIO_UPDATE_FAILED | Failed to update portfolio |
API_204 | PORTFOLIO_DELETE_FAILED | Failed to delete portfolio |
API_205 | PORTFOLIO_LIMIT_REACHED | Portfolio limit has been reached |
API_206 | PORTFOLIO_TEMPLATE_NOT_FOUND | The requested portfolio template was not found |
API_207 | PORTFOLIO_TEMPLATE_VALIDATION_ERROR | The portfolio template failed validation |
API_208 | PORTFOLIO_SESSION_KEY_MISSING | Session key is missing for portfolio operations |
API_209 | PORTFOLIO_RESIGN_REQUIRED__INVALID_SESSION_KEY | Portfolio requires re-signing due to invalid session key |
Signature and Cryptographic Errors (300-399)
Code | Name | Description |
---|
API_300 | SIGNATURE_MISSING | Signature is required but was not provided |
API_301 | SIGNATURE_INVALID | The provided signature is invalid |
API_302 | SIGNATURE_VERIFICATION_FAILED | Failed to verify the provided signature |
API_303 | SESSION_KEY_GENERATION_FAILED | Failed to generate session key |
API_304 | MESSAGE_GENERATION_FAILED | Failed to generate message for signing |
API_305 | WALLET_CONNECTION_FAILED | Failed to connect to wallet |
API_306 | INVALID_MESSAGE | The message format is invalid for signing |
API_307 | MESSAGE_RECOVERY_FAILED | Failed to recover address from signed message |
API_308 | MISSING_MESSAGE_FIELD | Required field missing from message |
Validation Errors (400-499)
Code | Name | Description |
---|
API_400 | VALIDATION_ERROR | Input validation failed |
API_401 | INVALID_ADDRESS | Invalid address format |
API_402 | INVALID_CHAIN_ID | Invalid chain ID |
API_403 | CHAIN_NOT_SUPPORTED | The specified chain is not supported |
API_404 | INVALID_KERNEL_VERSION | Invalid kernel version |
API_405 | INVALID_PERMISSIONS | Invalid permissions format |
API_406 | MISSING_REQUIRED_FIELD | Required field is missing |
API_407 | INVALID_FORMAT | Input data has an invalid format |
API_408 | INVALID_PARAMETER | One or more parameters are invalid |
API_409 | INVALID_USER_ADDRESS_CODE | Invalid user address format |
External Service Errors (500-599)
Code | Name | Description |
---|
API_500 | PROVIDER_ERROR | Error from an external provider |
API_501 | PROVIDER_UNAVAILABLE | External provider service is unavailable |
API_502 | PROVIDER_TIMEOUT | Request to external provider timed out |
API_503 | BLOCKCHAIN_RPC_ERROR | Error from blockchain RPC endpoint |
API_504 | EXTERNAL_SERVICE_ERROR | Error from an external service |
API_505 | EXTERNAL_REQUEST_FAILED | External service request failed |
Deposit and Wallet Operation Errors (550-570)
Code | Name | Description |
---|
API_550 | DEPOSIT_REQUEST_INSUFFICIENT_ASSET_BALANCE | Insufficient asset balance for deposit request |
API_551 | TRANSACTION_SIMULATION_FAILED | Transaction simulation failed |
API_552 | CANNOT_FETCH_NATIVE_BALANCE | Failed to fetch native token balance |
API_553 | CANNOT_FETCH_ERC20_BALANCE | Failed to fetch ERC20 token balance |
API_554 | MAX_WITHDRAWAL_PROCESSING_ERROR | Error processing maximum withdrawal amount |
API_555 | ZERO_BALANCE_WITHDRAWAL_ERROR | Attempting to withdraw zero balance |
Internal Errors (600-699)
Code | Name | Description |
---|
API_600 | INTERNAL_ERROR | Internal server error |
API_601 | DATABASE_ERROR | Error with database operation |
API_602 | SERIALIZATION_ERROR | Error serializing or deserializing data |
API_603 | PROCESSING_ERROR | Error processing the request |
API_604 | TRANSACTION_FAILED | Transaction processing failed |
API_605 | DATA_INTEGRITY_ERROR | Data integrity violation |
API_606 | CACHE_ERROR | Error with cache operation |
API_607 | RESOURCE_NOT_FOUND | Requested resource not found |
KMS API Error Codes
The KMS API uses error codes in the format KMS_XXX
, where XXX
is a numerical code. Errors are grouped into categories:
General Errors (000-099)
Code | Name | Description |
---|
KMS_000 | UNKNOWN_ERROR | An unknown error occurred |
KMS_001 | CONFIGURATION_ERROR | Missing or invalid configuration |
KMS_002 | INVALID_REQUEST | The request is invalid or malformed |
Key Management Errors (100-199)
Code | Name | Description |
---|
KMS_100 | KEY_NOT_FOUND | The requested key was not found |
KMS_101 | KEY_ALREADY_EXISTS | A key with this identifier already exists |
KMS_102 | KEY_CREATION_FAILED | Failed to create key |
KMS_103 | KEY_LENGTH_EXCEEDED | The key ID length exceeds the provider limit |
KMS_104 | KEY_VERSION_INVALID | Invalid key version |
KMS_105 | KEY_RING_NOT_FOUND | The key ring was not found |
KMS_106 | KEY_RING_CREATION_FAILED | Failed to create key ring |
Permission Errors (200-299)
Code | Name | Description |
---|
KMS_200 | PERMISSION_DENIED | Permission denied to perform the operation |
KMS_201 | UNAUTHORIZED | Unauthorized to access the requested resource |
KMS_202 | ACCESS_REVOKED | Access to the resource has been revoked |
Validation Errors (300-399)
Code | Name | Description |
---|
KMS_300 | VALIDATION_ERROR | General validation error |
KMS_301 | INVALID_ADDRESS | Invalid Ethereum address format |
KMS_302 | INVALID_STRATEGY_ID | Invalid strategy ID format or length |
KMS_303 | INVALID_KEY_ID | Invalid key ID format |
KMS_304 | INVALID_MESSAGE | Invalid message format for signing |
KMS_305 | INVALID_TRANSACTION | Invalid transaction format for signing |
External Service Errors (400-499)
Code | Name | Description |
---|
KMS_400 | PROVIDER_ERROR | Error from the KMS provider (GCP, AWS, etc.) |
KMS_401 | PROVIDER_UNAVAILABLE | KMS provider service is unavailable |
KMS_402 | PROVIDER_TIMEOUT | Request to KMS provider timed out |
Internal Errors (500-599)
Code | Name | Description |
---|
KMS_500 | INTERNAL_ERROR | Internal server error |
KMS_501 | DATABASE_ERROR | Error with the database operation |
KMS_502 | SIGNING_ERROR | Error during signing operation |
API error responses follow a standardized format:
Error Response Fields
Field | Description |
---|
success | Always false for error responses |
error.message | Human-readable error description |
error.code | Standardized error code (e.g., API_404 ) |
error.details | Optional object containing additional error context |
error.correlationId | Unique ID for correlating errors across systems |
error.requestId | Unique ID for the specific request |
error.timestamp | ISO timestamp when the error occurred |
Handling Errors
When implementing error handling in your application:
- Check the
error.code
to identify specific error conditions
- Use the
error.message
for displaying to users or logging
- Include the
correlationId
and requestId
when reporting issues to Glider support
- For validation errors, check the
error.details
field for specific validation failures