---
title: "List an inbox's calendar events"
method: GET
path: "/v1/inboxes/{inbox_id}/calendar/events"
tags: ["Calendar"]
---

# List an inbox's calendar events

`GET /v1/inboxes/{inbox_id}/calendar/events`

## Request

- Base URL: `https://api.deadsimple.email`
- URL: `https://api.deadsimple.email/v1/inboxes/{inbox_id}/calendar/events`
- Auth: HTTP bearer

Sorted by start_at. `from`/`to` bound the start time; `status` filters. Cursor pagination like the rest of the API. SDK: `calendar.list`.

## Path parameters

- `inbox_id` string, required

## Query parameters

- `from` string
- `to` string
- `status` 'confirmed' | 'tentative' | 'cancelled'
- `limit` integer
- `cursor` string

## Response `200`

Events.

- CalendarEventList
  - `events` CalendarEvent[]
    - `event_id` string
    - `inbox_id` string
    - `workspace_id` string, nullable
    - `ical_uid` string: Stable across updates. What an update, cancellation or reply is matched on, on both ends.
    - `title` string
    - `description` string
    - `location` string
    - `start_at` string: ISO 8601 UTC, e.g. 2026-09-15T19:00:00Z
    - `end_at` string: ISO 8601 UTC. Exclusive for all-day events.
    - `timezone` string
    - `all_day` boolean
    - `status` 'confirmed' | 'tentative' | 'cancelled'
    - `organizer` CalendarOrganizer
      - `email` string, email
      - `name` string
    - `attendees` CalendarAttendee[]
      - `email` string, email, required
      - `name` string
      - `response` 'needs-action' | 'accepted' | 'declined' | 'tentative': The attendee's answer as last seen (our own rsvp, or their REPLY).
      - `optional` boolean: OPT-PARTICIPANT rather than REQ-PARTICIPANT on the invitation.
    - `source` 'api' | 'sent' | 'inbound': api = created here; sent = created here and sent as an invitation; inbound = arrived by email.
    - `sequence` integer
    - `message_id` string, nullable: The invitation we sent, or the inbound message that last created, updated or cancelled the event.
    - `invited_at` string, nullable
    - `created_at` string
    - `updated_at` string
  - `count` integer
  - `cursor` string: Present when there is another page. Pass it back as ?cursor=.

---

[API](https://skmtc.dev/deadsimple/apis/dead-simple-email-api.md) · [All operations](https://skmtc.dev/deadsimple/apis/dead-simple-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/deadsimple/apis/dead-simple-email-api/revisions/c697881be131?raw)
