Booking History
Get a booking's timeline, the same one its History tab shows: changes, payments, emails, pickups, returns and check-ins, with who did each one.
Endpoint
GET /v1/bookings/{id}/history
Authentication
Requires an API key with the bookings:read scope.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | ID of the booking |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
per_page | integer | 50 | Events per page, at most 100 |
Response
Success (200 OK)
{
"data": {
"events": [
{
"type": "activity",
"date": "2026-10-14T18:20:00+00:00",
"label": "Booking updated",
"description": "Start: Nov 1, 1:00pm to Nov 3, 1:00pm. End: Nov 3, 1:00pm to Nov 5, 1:00pm.",
"actor": "Jane Doe · Booking link"
},
{
"type": "created",
"date": "2026-10-02T09:12:00+00:00",
"label": "Booking created",
"description": "Booking #1198 was created",
"actor": null
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 2,
"total_pages": 1
}
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-10-16T10:00:00+00:00"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
type | string | Kind of event, such as created, activity, payment, picked_up, returned, email_sent |
date | string | When it happened, ISO 8601 in UTC |
label | string | Short title, as the History tab shows it |
description | string | What happened |
actor | string or null | Who did it and from where, such as Jane Doe · Booking link (the customer, from their own booking link), a staff member's name, or Dash AI for Sam. null when the event does not record a person |
Events are newest first.
Errors
| Status | Code | When |
|---|---|---|
| 404 | resource_not_found | No booking with that ID |
| 403 | forbidden | The booking belongs to another business |