SWISS TOURISTY
Reference
17 stable codes. Branch on "code" — never on "detail", which is prose for a human and may be reworded at any time.
Every failure is application/problem+json (RFC 7807). The type field of a real response links straight to the page for that code, so an agent that hits an error can fetch its own documentation.
| Code | Status | Retry? | What to do |
|---|---|---|---|
| AUTHENTICATION_REQUIRED | 401 | no | Present a bearer token for the required scope. |
| FORBIDDEN | 403 | no | This token lacks the scope for this operation. |
| QUOTE_NOT_FOUND | 404 | no | No quote with this id is visible to this caller. |
| MANUAL_CONFIRMATION_REQUIRED | 409 | no | This journey needs Swiss Touristy confirmation and cannot be self-served. |
| QUOTE_EXPIRED | 409 | no | Create a new quote; pricing snapshots last 30 minutes. |
| INVALID_DATETIME | 422 | no | Send pickup_datetime as an ISO 8601 instant with an offset. |
| INVALID_LOCATION | 422 | no | Supply a more specific pickup or drop-off location. |
| INVALID_REQUEST | 422 | no | Correct the named fields and resubmit. |
| LEAD_TIME_NOT_SUPPORTED | 422 | no | Choose a later pickup_datetime that meets the minimum notice. |
| NO_ELIGIBLE_VEHICLE | 422 | no | Reduce passengers or luggage, or split the party. |
| PAST_DATETIME | 422 | no | Send a pickup_datetime in the future. |
| RETURN_TIME_INVALID | 422 | no | Set the return pickup after the outbound arrival. |
| UNSUPPORTED_ROUTE | 422 | no | This journey is outside the served area. Do not retry unchanged. |
| RATE_LIMITED | 429 | yes | Wait for the interval in retry_after_seconds, then retry. |
| QUOTE_UNAVAILABLE | 503 | yes | Retry shortly; no quote could be produced. |
| ROUTE_UNAVAILABLE | 503 | yes | Retry shortly; the routing provider did not answer. |
| UPSTREAM_UNAVAILABLE | 503 | yes | Retry shortly; a dependency was unavailable. |
Retryable means exactly one thing
That the identical request may succeed on a retry. A 422 is never retryable — the request has to change first. Retrying one unchanged just spends your rate-limit budget.