---
title: "List and read bookings"
description: "The meetings guests booked, for every page of the person or for one."
url: "https://openemail.uk/docs/api/bookings/list"
area: "API"
category: "Mailbox"
---

# List and read bookings

The meetings guests booked, for every page of the person or for one.

`GET /bookings`

**Also documents:** `GET /bookings/{id}`

## GET /bookings

The meetings guests booked, for every page of the person or for one.

## Example

Needs `calendar:read`. `view` is `upcoming` (the default), `pending`, `past` or `ended`. `pageId` narrows the list to one page, `limit` goes up to 100 and defaults to 30, and `cursor` takes the previous page’s `nextCursor`.

**curl**

```
curl "$OE/bookings?view=pending" -H "$AUTH"
curl "$OE/bookings?q=ann&from=2026-11-01T00:00:00Z&to=2026-12-01T00:00:00Z" -H "$AUTH"
curl "$OE/bookings/bkg_2b8d4f6a1c3e5079b6d8f0a2" -H "$AUTH"
```

**Response**

```
{
  "object": "list",
  "data": [{
      "object": "booking",
      "id": "bkg_2b8d4f6a1c3e5079b6d8f0a2",
      "pageId": "bkp_5c1e9a7b3d2f48e6a0b4c7d1",
      "pageName": "Intro call",
      "status": "confirmed",
      "expired": false,
      "past": false,
      "start": "2026-11-03T09:00:00.000Z",
      "end": "2026-11-03T09:30:00.000Z",
      "durationMinutes": 30,
      "guest": { "name": "Ann Lee", "email": "ann@example.com", "timezone": "America/New_York" },
      "guests": [],
      "answers": [
        { "id": "notes", "label": "Anything we should know?", "kind": "long-text", "value": "I would like to talk about pricing." }
      ],
      "location": "https://meet.example.com/hana",
      "eventId": "evt_8a1c3e5f7b2d4960c8e0a2b4",
      "endedBy": null,
      "endReason": null,
      "rescheduleCount": 0,
      "guestMailFailed": false,
      "createdAt": "2026-10-28T14:12:40.115Z"
    }],
  "hasMore": false,
  "nextCursor": null
}
```

> `upcoming` holds confirmed meetings that are not over, `pending` the requests waiting for approval, and `ended` the declined and cancelled ones. `upcoming` and `pending` come soonest first, the other two latest first.

> `expired` is true for a request nobody answered before its time came.

> A booking follows its calendar event. A meeting moved or cancelled in the calendar, or declined by the guest in theirs, reads that way here.

> `guestMailFailed` is true when the last email to the guest could not be sent.

> `guests` lists the email addresses of the other people invited: the ones the guest added when booking, and anyone added to the calendar event since.

> `pageIds` keeps the bookings of some pages, as ids separated by commas. `q` finds bookings by the name or email of the guest, or the name of the page. `from` and `to` keep the meetings that start in a window.

## Reference

- [`GET /bookings`](https://openemail.uk/docs/api/reference/booking-pages#get-bookings): full reference
- [`GET /bookings/{id}`](https://openemail.uk/docs/api/reference/booking-pages#get-bookings-id): full reference
