Record a reservation
The event that X was purchased. Occupies the book. Idempotent per `externalId`. Defaults to `confirmed` — an external system reporting a sale is not placing a hold.
The event that X was purchased. Occupies the book. Idempotent per externalId. Defaults to confirmed — an external system reporting a sale is not placing a hold.
The organization API key, sent as Authorization: Bearer <key>.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Commercial channel that sold this stay (eden, or any slug you configured as an allocation; case-insensitive). Omit for the organization's own share.
Your id for this sale. Idempotent per organization: a retry with the same value returns the existing reservation.
1 <= lengthNights occupied, inclusive of the start day. Four nights from 2026-09-25 occupy 25, 26, 27 and 28. Defaults to 1 (a single slot also uses 1).
1 <= valueFirst occupied calendar day.
^\d{4}-\d{2}-\d{2}$1 <= valueThe occupancy pool this sale occupies.
1 <= valueTime-slot key for seat_slot pools (e.g. 11:00). Empty for night stays.
confirmed when the sale already happened (Eden, the door, a payment). hold parks a place for 30 minutes. Defaults to confirmed on this API — an external system reporting a purchase is not placing a hold.
Value in
- "hold"
- "confirmed"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/reservations" \ -H "Content-Type: application/json" \ -d '{ "occupancyStart": "string", "poolId": "string" }'{ "allocationId": "string", "cancelledAt": "2019-08-24T14:15:22Z", "channel": "string", "confirmedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "customerId": "string", "externalId": "string", "guestName": "string", "holdExpiresAt": "2019-08-24T14:15:22Z", "id": "string", "notes": "string", "occupancyNights": 0, "occupancyStart": "string", "opportunityId": "string", "pax": 0, "poolId": "string", "quantity": 0, "slotKey": "string", "source": "platform", "status": "hold", "updatedAt": "2019-08-24T14:15:22Z"}List reservations GET
Returns the organization's reservations, most recently created first.
Get remaining occupancy GET
The book remaining for a pool over a stay. This is the operator figure (what Eden or the front desk needs), not the guest-facing disclosure. Bottleneck remaining: a 4-night stay only fits if it fits every night.