Translation API · Concept
Errors
Handle stable RFC 9457 Problem Details and correlate failures with Stepes support.
Public API failures use application/problem+json and the RFC 9457 Problem Details shape.
{
"type": "https://apis.stepes.com/v2/errors/validation_failed",
"title": "Request validation failed",
"status": 422,
"code": "validation_failed",
"detail": "One or more request fields are invalid.",
"instance": "/v2/projects",
"request_id": "b09de4aa-3874-4991-b85c-0bc86e780511",
"retryable": false
}Stable Fields
Use code for application decisions. Do not parse title or detail. Validation failures may include an errors object keyed by request field.
Log the body request_id and the Stepes-Request-Id header. They identify the same request and should be included in support cases.
Status Categories
400: malformed request or invalid cursor.401: invalid, expired, revoked, or disallowed API key.403: missing permission or the account is not enabled for the requested action.404: the requested resource was not found.409: idempotency conflict or invalid lifecycle transition.422: request shape or business validation failed.429: key rate limit exceeded.5xx: server or temporary processing failure.
Use retryable with HTTP status and the documented retry policy. Authentication errors deliberately do not disclose whether a particular key or account exists.