# Quickstart Three calls take you from an API key to a confirmed booking: `offerings_list` finds what to book, `availability_get` returns open slots with what's left of each, and `bookings_create` books one. Each is a REST call with your key in the `Authorization` header, and the same operation is an MCP tool. URL: https://daybag.io/docs/quickstart ## Get a key Create an API key in Dashboard → Developers. Send it with every request: `Authorization: Bearer daybag_live_…` ## Find an offering Step 1 · MCP tool `offerings_list` ```bash curl "https://daybag.io/api/v1/offerings" \ -H "Authorization: Bearer daybag_live_…" ``` Response 200: ```json { "data": [ { "id": "8f1c2e4a-0b7d-4c55-9a7e-3f2d1c0b9a88", "kind": "rental", "name": "Touring kayak", "duration_minutes": 1440, "capacity": 10, "max_per_booking": 4, "price_cents": 3500, "active": true } ] } ``` ## Pick a slot Step 2 · MCP tool `availability_get` ```bash curl "https://daybag.io/api/v1/offerings/8f1c2e4a-0b7d-4c55-9a7e-3f2d1c0b9a88/availability?from=2026-12-05&to=2026-12-05" \ -H "Authorization: Bearer daybag_live_…" ``` Response 200: ```json { "timezone": "America/Denver", "data": [ { "starts_at": "2026-12-05T15:00:00.000Z", "ends_at": "2026-12-06T15:00:00.000Z", "capacity": 10, "remaining": 8 } ] } ``` `from` and `to` are local dates in your org's time zone; the default is the next 14 days. ## Book it Step 3 · MCP tool `bookings_create` ```bash curl -X POST https://daybag.io/api/v1/bookings \ -H "Authorization: Bearer daybag_live_…" \ -H "Content-Type: application/json" \ -d '{ "offering_id": "8f1c2e4a-0b7d-4c55-9a7e-3f2d1c0b9a88", "starts_at": "2026-12-05T15:00:00Z", "quantity": 2, "customer": { "email": "pat@example.com", "name": "Pat" } }' ``` Response 201: ```json { "id": "1e2d3c4b-5a69-4788-9a6b-5c4d3e2f1a0b", "reference": "0GWYRZ2V", "status": "confirmed", "starts_at": "2026-12-05T15:00:00+00:00", "ends_at": "2026-12-06T15:00:00+00:00", "quantity": 2, "total_cents": 7000, "offering": { "id": "8f1c2e4a-0b7d-4c55-9a7e-3f2d1c0b9a88", "name": "Touring kayak", "kind": "rental", "location": "North dock", "duration_minutes": 1440 }, "customer": { "id": "5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a", "name": "Pat", "email": "pat@example.com", "phone": "" } } ``` Classes: pass the slot's `session_id` instead of `starts_at`. Add `idempotency_key` so a retry never books twice.