Platform / Platform
Error responses (RFC 9457)
The /api/v1 surface uses a shared RFC 9457-style problem shape. Application errors render as application/json and transport-level failures render as application/problem+json; SCIM keeps its separate application/scim+json error format.
01 Error schema
detailsTop-level fields
Problem responses include type (error URI), title, status, detail, and request_id. Type-specific context may appear in extra. SCIM errors do not use this schema.
02 Common error types
reference| Status | Type URI | Title |
|---|---|---|
| 400 | problems/bad-request | Bad request |
| 401 | problems/unauthorized | Unauthorized |
| 403 | problems/forbidden | Forbidden |
| 404 | problems/not-found | Not found |
| 406 | problems/not-acceptable | Not acceptable |
| 409 | problems/conflict | Conflict |
| 415 | problems/unsupported-media-type | Unsupported media type |
| 422 | problems/unprocessable-entity | Unprocessable entity |
| 429 | problems/rate-limited | Rate limited |
| 500 | problems/internal-server-error | Internal server error |
03 Example error response
example{
"type": "https://robotscenter.net/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "Resource not found",
"request_id": "req-01HQ5PX7P7F4"
}
04 Extra context
details403 Forbidden
extra.required_scopes lists the scopes needed to access the resource.
422 Validation
extra.errors is an object keyed by field; each value is an array of validation messages.
429 Rate limited
extra.retry_after_seconds indicates when to retry the request.
05 Validation error example (422)
example{
"type": "https://robotscenter.net/problems/unprocessable-entity",
"title": "Unprocessable entity",
"status": 422,
"detail": "Validation failed",
"request_id": "req-01HQ5PX7P7F4",
"extra": {
"errors": {
"url": ["must be an absolute http(s) URL"],
"event_types": ["should have at least 1 item(s)"]
}
}
}
Related docs
see also