API errors
Errors tell you what failed and what to change. Every error uses the same JSON shape.
Error shape
{
"type": "https://supahost.io/docs/api-errors#invalid_date",
"title": "Invalid request",
"status": 400,
"code": "invalid_date",
"detail": "arrival_from must use the YYYY-MM-DD format.",
"requestId": "6a660c5f-3e6f-4926-a24a-6292dd54fdd3",
"errors": [
{ "field": "arrival_from", "message": "arrival_from must use the YYYY-MM-DD format." }
]
}Authentication and access
invalid_api_keymeans that Supahost did not accept the key. The key can be absent, invalid, expired, or revoked.insufficient_scopenames the scope that the key needs.rate_limit_exceededincludes the number of seconds to wait.
Request errors
invalid_cursormeans that Supahost rejected the cursor. It can be invalid or use different filters.invalid_dateandinvalid_datetimename the field and the accepted format.not_foundmeans that the record does not exist in the key workspace.calendar_result_too_largemeans that the calendar request exceeds the row limit. Narrow the range or passpool_id.sandbox_read_onlymeans that a test key attempted a write. Use a live key to change records.idempotency_key_reusedmeans that the idempotency key was already used with a different payload, or that request is still in progress.sync_in_progressmeans that a channel sync for the record is still in progress. Retry once the sync completes.conversation_closedmeans that replies cannot be added to the closed conversation.replies_not_supportedmeans that the connection for the conversation cannot send messages.member_inactivemeans that the API key owner is no longer an active workspace member.insufficient_inventorymeans that the stay does not fit the sellable inventory for every night.channel_rate_planmeans that a direct reservation cannot use an OTA rate plan.channel_managedmeans that the reservation belongs to a connected channel and must be changed there.reservation_cancelledmeans that a cancelled reservation cannot be changed.reservation_completedmeans that a started or completed reservation cannot be changed or cancelled.unit_assignedandmultiple_itemsmean that the reservation needs the dashboard for that change.internal_errormeans that Supahost could not complete the request.
Send the requestId to support. Never send the API key.