Skip to Content
APIErrors

Error Codes

Reference for API error codes and how to resolve them.

Error Response Format

{ "error": { "code": "ERROR_CODE", "message": "Human readable description" } }

HTTP Status Codes

StatusDescription
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Missing or invalid authentication
403Forbidden - Insufficient permissions
404Not Found - Resource does not exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Common Error Codes

Authentication Errors

CodeDescriptionResolution
UNAUTHORIZEDMissing authenticationInclude valid session or API key
INVALID_API_KEYAPI key is invalid or revokedGenerate a new API key
SESSION_EXPIREDSession has expiredRe-authenticate

Validation Errors

CodeDescriptionResolution
INVALID_INPUTRequest body validation failedCheck required fields
INVALID_ADDRESSInvalid Ethereum addressVerify address format
INVALID_CHAIN_IDUnsupported chain IDUse supported chain

Resource Errors

CodeDescriptionResolution
NOT_FOUNDResource does not existVerify resource ID
ALREADY_EXISTSResource already existsUse update instead
PERMISSION_DENIEDNo access to resourceVerify ownership

Execution Errors

CodeDescriptionResolution
EXECUTION_FAILEDWorkflow execution failedCheck execution logs
INSUFFICIENT_FUNDSWallet lacks funds for gasTop up Para wallet
GAS_LIMIT_EXCEEDEDTransaction exceeded gas limitIncrease gas limit
CONTRACT_ERRORSmart contract revertedCheck contract state

Rate Limiting

CodeDescriptionResolution
RATE_LIMITEDToo many requestsWait and retry

Retry Strategy

For transient errors (5xx, rate limits), use exponential backoff:

Wait time = min(base * 2^attempt, max_wait)

Recommended:

  • Base: 1 second
  • Max attempts: 5
  • Max wait: 30 seconds