← Back to product·Simulmedia Switchboard Docs · v1 draft·API reference / Conventions
API reference

Conventions

  • Idempotency: order creation is idempotent on external_order_id. Resubmitting an identical request replays the original response (200 with X-Idempotent-Replay: true), which is how a client learns the outcome of a request it never got an answer to. 409 is reserved for the real conflict: the same external_order_id with a different payload. PUT endpoints on catalog, rates, and avails are full-replace for the provided entries and naturally idempotent by content hash.
  • Pagination: list endpoints (GET /v1/orders, GET /v1/events) return a cursor field; pass it as ?after= on the next call. Default page size 50, max 200.
  • Partial failures: batch writes (rate cards, avails) succeed per-entry where possible; the response enumerates warnings and errors without rolling the whole request back unless an integrity rule fires.
  • Errors: non-2xx responses always carry { "error": { "error_code": "...", "error_message": "...", "stage": "...", "recoverable": bool, "details": {...} } }. See Errors.
  • Field stability: additive changes (new fields, new open-enum values) are non-breaking. Breaking changes ship under a new version path with at least 12 months of overlap.