Response format and status codes
Response format and status codes
Base success response (200, 201, 202)
Base collection response (200)
The pre-built resource responses (Empty response must be an empty array:ResourceListResponse,ResourceViewResponse, …) emit exactly this shape — thedataenvelope and pagination wrapper come from the framework, not your controller code.
Base error response (400-500)
- error.key is mandatory and machine-readable
- error.message is human-readable and should be localized
Base deleted response (204)
HTTP 204 responses have no body.Base validation error response (422)
- parameter should use snake_case and match the request field name where possible
- message should be localized
- key should be stable and machine-readable
Base OPTIONS response
OPTIONS responses should rely on headers, not a body. Example headers:HTTP status codes
Rate limiting
All REST APIs should expose standardized rate-limit information via HTTP response headers. Headers:
Example: