Skip to main content
The API uses standard HTTP status codes and returns errors in a consistent JSON format.

Error response format

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Name is required",
    "details": {}
  }
}
FieldTypeDescription
codestringMachine-readable error code.
messagestringHuman-readable description of the error.
detailsobjectAdditional context (field-level validation errors, etc.). May be empty.

Status codes

Status CodeDescription
200Request succeeded
201Resource created successfully
204Request succeeded with no response body
400Bad request — check your parameters
401Unauthorized — missing or invalid API key
403Forbidden — insufficient permissions
404Resource not found
409Conflict — resource already exists
422Unprocessable entity — validation failed
429Rate limit exceeded
500Internal server error — contact support if this persists

Common error codes

CodeStatusDescription
UNAUTHORIZED401API key is missing, invalid, or expired.
FORBIDDEN403API key does not have permission for this action.
NOT_FOUND404The requested resource does not exist.
VALIDATION_ERROR422One or more request parameters are invalid. Check details for specifics.
RATE_LIMIT_EXCEEDED429Too many requests. Back off and retry.
INSUFFICIENT_BALANCE402Wallet balance too low for this operation. Fund your wallet and retry.