Error Response Structure
All error responses follow a consistent structure with both human-readable messages and machine-readable codes:Error Fields
message (required): A human-readable description of the error suitable for displaying to developers or in logs.
code (required): A machine-readable error code that remains consistent across similar errors, enabling programmatic error handling.
details (optional): An array of specific validation errors or sub-errors, each containing:
message: Human-readable description of the specific issuecode: Machine-readable code for the specific detailproperty: The field or parameter that caused the errorsuggestion: A suggested correct value (when available)
hint (optional): Additional guidance on how to resolve the error.
HTTP Status Codes
The SeamlessOS API uses standard HTTP status codes to indicate the general category of error:| Status Code | Description |
|---|---|
400 | Bad Request - Invalid request syntax or validation errors |
401 | Unauthorized - Missing or invalid authentication credentials |
403 | Forbidden - Valid credentials but insufficient permissions |
404 | Not Found - The requested resource does not exist |
409 | Conflict - Request conflicts with current state (e.g., duplicate idempotency key with different data) |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - An unexpected error occurred on our side |