parallel45 API errors
Errors from the parallel45 platform API are
RFC 9457 problem documents served
as application/problem+json. The type member is a URI under this
host, and each code below resolves to its own page.
This catalogue is published ahead of the API. No endpoint emits any of these
codes yet — every error exit currently carries type: "about:blank", which
RFC 9457 §4.2.1 prescribes for a problem with no meaning beyond its status. The pages
exist first so that a type URI has never been a dead link. Until an emitter
adopts a code, treat the page as the intended contract rather than as a description of live
behaviour, and expect the wording to be refined.
{
"type": "https://errors.parallel45.tech/quote_expired",
"title": "Quote expired",
"status": 409,
"detail": "The quote referenced by this order expired at 09:31:04Z.",
"code": "quote_expired",
"retryable": true,
"correlationId": "8a4c2f10-3e2a-4d6e-9c12-3b1f0e9f4a77"
}
Branch on code. Do not branch on title or detail —
they are human-readable English and may be reworded at any time. A problem with no meaning
beyond its status code carries type: "about:blank" and is not listed here, by
design: that is RFC 9457 §4.2.1's own prescription, not a gap in this catalogue.
The catalogue
| Code | HTTP | Retryable | Meaning |
|---|---|---|---|
| validation_failed | 400 | No | The request did not satisfy the endpoint's schema or its field-level rules. |
| rate_limited | 429 | Yes | Too many requests arrived from this caller in the current window. |
| insufficient_funds | 402, 409 | No | The account does not hold enough settled, available cash for this instruction. |
| quote_expired | 409 | Yes | The price quote this instruction referenced is no longer valid. |
| idempotency_key_reused | 409 | No | This Idempotency-Key was already used, with a different request body. |
| idempotency_request_in_progress | 409 | Yes | The first request under this key has not finished; its result is not stored yet. |
| provider_unavailable | 502 | Yes | A dependency this platform called failed or could not be reached. |
| capability_not_configured | 503 | No | The feature exists but has no configuration or upstream capability behind it for this tenant. |
An unknown code
A path that is not a code in this catalogue answers 404 with a page saying
so. That is deliberate: a type URI that quietly returned 200 for anything would
make a typo look like a real code.