Error Reference
All AxonVault API errors follow a consistent format and use standard HTTP status codes.Error Response Format
HTTP Status Codes
| Code | Category | Description |
|---|---|---|
2xx | Success | Request completed successfully |
4xx | Client Error | Problem with the request |
5xx | Server Error | Problem on our side |
HTTP 400 - Bad Request
invalid_request
Request is malformed or missing required fields.- Check all required fields are present
- Verify request body matches the schema
- Validate parameter formats
malformed_transaction
Transaction data is invalid.- Verify transaction encoding (RLP for EVM, base64 for Solana)
- Check all transaction fields are valid
- Ensure correct chain format
invalid_signature
Signature verification failed.- Verify signing with correct key
- Check transaction wasn’t modified after signing
- Ensure correct network/chain ID
invalid_address
Address format is invalid.- Check address checksum (EVM)
- Verify address length
- Ensure correct chain format
HTTP 401 - Unauthorized
unauthorized
Authentication failed.- Verify API key is correct
- Check signature calculation
- Ensure timestamp is within 5 minutes
token_expired
JWT token has expired.- Refresh the access token
- Re-authenticate if refresh fails
signature_mismatch
HMAC signature doesn’t match.- Verify canonical string format
- Check secret key is correct
- Ensure body matches exactly
wallet_auth_required
Wallet authorization needed for signing.- Include X-Wallet-Auth header
- Generate valid wallet auth token
HTTP 403 - Forbidden
forbidden
Insufficient permissions.- Check API key permissions
- Verify resource ownership
- Contact admin for access
policy_denied
Transaction blocked by policy.- Review applicable policies
- Request approval if available
- Adjust transaction parameters
HTTP 404 - Not Found
not_found
Resource doesn’t exist.- Verify resource ID is correct
- Check resource wasn’t deleted
- Ensure correct project/tenant
HTTP 409 - Conflict
already_exists
Resource already exists.- Use a different name/identifier
- Check if resource can be reused
idempotency_error
Idempotency key reused with different parameters.- Generate new idempotency key
- Only reuse keys for identical requests
HTTP 429 - Rate Limited
rate_limit_exceeded
Too many requests.- Implement exponential backoff
- Cache responses where possible
- Contact support for limit increase
HTTP 500 - Internal Server Error
internal_server_error
Unexpected server error.- Retry with exponential backoff
- Contact support if persistent
- Check status page
HTTP 502 - Bad Gateway
bad_gateway
Backend service unavailable.- Retry after short delay
- Check status page
- Contact support if persistent
HTTP 503 - Service Unavailable
service_unavailable
Service temporarily unavailable.- Wait and retry
- Check status page for updates
HTTP 504 - Gateway Timeout
timed_out
Request took too long.- Retry with exponential backoff
- Simplify request if possible
- Check operation status before retrying
Error Handling Best Practices
Retry Strategy
Retry Strategy
Idempotency
Idempotency
Error Logging
Error Logging