Email
Inboxes
Marketing
SMS
Sign
Verify
Forms
Scheduling
- List bookings GET
- Create a booking POST
- Retrieve a booking GET
- Reschedule a booking POST
- Cancel a booking POST
- List a booking's history GET
- Approve a booking POST
- Decline a booking POST
- List a booking's notifications GET
- Mark a no-show POST
- Set a booking's location PATCH
- Hold a slot POST
- Confirm a hold POST
- Release a hold DELETE
- Erase an attendee DELETE
- Erase an attendee or guest by email POST
- Create a booker session POST
- Create a manage session POST
Hooks
Risk
Platform
List a booking's history
GET
/v1/scheduling/bookings/{id}/events
What's happened to a booking, oldest first, and who did it. There's no personal data in here.
bearerAuthheader
AuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
id*stringThe booking's id.
limit?integerRange
1 <= value <= 100Default
20after?stringThe last id of the previous page.
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
Value in
"2026-10-10"The events.
application/json- response
- response
- …
object*"list"Value in
"list"data*array<>has_more*booleanimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.scheduling.bookings.events("book_01kd2m9a0b1c2d3e4f5g6h7j8m");{ "object": "list", "data": [ { "object": "scheduling.booking_event", "id": "bevt_01kd2m9a0b1c2d3e4f5g6h7j8m", "sequence": 1, "type": "scheduling.booking.confirmed", "actor": { "kind": "api_key", "id": "key_01kd2m9a0b1c2d3e4f5g6h7j8m" }, "details": {}, "occurred_at": "2027-01-02T09:00:00.000Z" } ], "has_more": false}