---
title: "List the calendar"
description: "Every occurrence between two moments, a repeating event once for each time it happens, sorted by start."
url: "https://openemail.uk/docs/api/calendar/list"
area: "API"
category: "Mailbox"
---

# List the calendar

Every occurrence between two moments, a repeating event once for each time it happens, sorted by start.

`GET /calendar/events`

## GET /calendar/events

Every occurrence between two moments, a repeating event once for each time it happens, sorted by start.

## Example

Needs `calendar:read`. `from` and `to` are ISO 8601 with a zone and at most a year apart, and `timezone` is the IANA zone that decides what an all-day event means, UTC unless you say.

**curl**

```
curl "$OE/calendar/events?from=2026-10-12T00:00:00Z&to=2026-10-19T00:00:00Z&timezone=Europe/London" -H "$AUTH"
```

**Response**

```
{
  "object": "list",
  "data": [
    {
      "object": "calendar_occurrence",
      "eventId": "cal_3f9a1c7e5b2d48a06c1e9f4b",
      "uid": "5d2c8e1a-7b3f-4c9d-a6e2-1f8b0c4d7e93@openemail",
      "start": "2026-10-12T09:00:00.000Z",
      "end": "2026-10-12T09:30:00.000Z",
      "allDay": false,
      "summary": "Planning",
      "location": "Room 2",
      "status": "CONFIRMED",
      "transparency": "OPAQUE",
      "isOrganizer": true,
      "organizerEmail": "team@acme.com",
      "recurring": true,
      "myPartstat": null,
      "attendeeCount": 1
    }
  ],
  "hasMore": false,
  "nextCursor": null
}
```

> Each occurrence names its event in `eventId`, and `myPartstat` is your own answer. A key or app limited to some addresses sees only the events one of them organises or attends.

## Reference

- [`GET /calendar/events`](https://openemail.uk/docs/api/reference/calendar#get-calendar-events): full reference
