Skip to main content

Error Handling

The Crowd.Credit API uses standard HTTP status codes and returns structured error responses to help you diagnose and handle issues.

HTTP Status Codes

CodeMeaningDescription
200OKRequest succeeded
201CreatedResource created successfully
400Bad RequestInvalid request parameters
401UnauthorizedMissing or invalid API key
403ForbiddenInsufficient permissions
404Not FoundResource does not exist
409ConflictResource conflict (e.g., duplicate)
422Unprocessable EntityValidation failed
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer-side error

Error Response Format

{
"success": false,
"data": null,
"message": "Validation failed",
"errors": [
{
"field": "amount",
"code": "INVALID_AMOUNT",
"message": "Amount must be greater than 0"
}
]
}

Common Error Codes

Authentication Errors

CodeMessageResolution
MISSING_API_KEYAPI key is requiredInclude X-API-Key header
INVALID_API_KEYAPI key is not validCheck your API key
KEY_REVOKEDAPI key has been revokedGenerate a new API key
INSUFFICIENT_PERMISSIONSKey lacks required permissionUpdate key permissions

Validation Errors

CodeMessageResolution
INVALID_ADDRESSEthereum address is not validProvide a valid checksummed address
INVALID_AMOUNTAmount is out of valid rangeCheck minimum/maximum amounts
INVALID_TOKENToken is not supportedUse a supported token

Credit Errors

CodeMessageResolution
INSUFFICIENT_CREDITNot enough available creditReduce amount or add collateral
CREDIT_FROZENCredit line is frozenResolve freeze condition
HEALTH_FACTOR_LOWHealth factor would drop below 1.0Add collateral first

Rate Limit Errors

When you hit a rate limit, the response includes headers to help you retry:

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1709856060
Retry-After: 30

Wait for the number of seconds specified in the Retry-After header before retrying.

Best Practices

  1. Always check success field -- Don't assume a 200 means success
  2. Handle rate limits gracefully -- Implement exponential backoff
  3. Log error codes -- Error codes are stable identifiers for programmatic handling
  4. Don't expose raw errors to users -- Map error codes to user-friendly messages

Next Steps