---
title: "Retrieve all events from a calendar"
method: GET
path: "/api/v1/calendars/{calendar_id}/events"
tags: ["Calendars"]
---

# Retrieve all events from a calendar

`GET /api/v1/calendars/{calendar_id}/events`

## Request

- Base URL: `https://api1.unipile.com:13111`
- URL: `https://api1.unipile.com:13111/api/v1/calendars/{calendar_id}/events`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/unipile/apis/unipile-api-reference/docs/api/v1/calendars/:calendar_id/events/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a list of calendar events related to the given calendar.

## Path parameters

- `calendar_id` string, required

## Query parameters

- `expand_recurring` boolean
- `event_type` string
- `attendees` string
- `updated_after` string
- `updated_before` string
- `busy` boolean
- `end` string
- `start` string
- `location` string
- `ical_uid` string
- `description` string
- `title` string
- `is_cancelled` boolean
- `cursor` string
- `offset` number
- `limit` number
- `account_id` string, required

## Response `200`

OK

- object
  - `data` object[], required
    - `object` 'CalendarEvent', required
    - `id` string, required: The ID of the calendar event.
    - `ical_uid` string: The iCalendar UID of the event, as defined in RFC5545.
    - `master_event_id` string: If event instance, the ID of the master event.
    - `calendar_id` string, required: The ID of the calendar the event belongs to.
    - `created_at` string, required: The date the event was created. Uses ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ).
    - `updated_at` string, required: The date the event was last updated. Uses ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ).
    - `title` string, required: The title of the event.
    - `body` string: The body of the event.
    - `location` string: The location of the event.
    - `is_cancelled` boolean, required: Is the event cancelled.
    - `is_all_day` boolean, required: Is the event all day.
    - `is_attendees_list_hidden` boolean, required: Is the attendees list hidden for attendees.
    - `attendees` object[]: The attendees of the event.
      - `email` string, required: Email address of the attendee.
      - `display_name` string: Display name of the attendee.
      - `comment` string: The response comment of the attendee.
      - `is_organizer` boolean, required: Is the attendee the organizer of the event.
      - `is_optional` boolean, required: Is the attendee optional (based on type).
      - `is_resource` boolean, required: Is the attendee a resource (based on type).
      - `type` union, required: Type of the attendee.
        - 'required'
        - 'optional'
        - 'resource'
      - `response_status` union, required: The response status of the attendee. `yes` if the invitation is accepted. `no` if the invitation is declined. `maybe` if the attendee is not sure. `noreply` if the invitation is pending.
        - 'yes'
        - 'no'
        - 'maybe'
        - 'noreply'
    - `start` union, required: The start date and time of the event.
      - object
        - `date_time` string, required: The date and time. Uses ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ).
        - `time_zone` string, required: The time zone of the date time.
      - object
        - `date` string, required: The date. Uses ISO 8601 date format (YYYY-MM-DD).
    - `end` union, required: The end date and time of the event.
      - object
        - `date_time` string, required: The date and time. Uses ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ).
        - `time_zone` string, required: The time zone of the date time.
      - object
        - `date` string, required: The date. Uses ISO 8601 date format (YYYY-MM-DD).
    - `recurrence` string[]: List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545.
    - `organizer` object, required
      - `email` string, required: Email address of the organizer.
      - `display_name` string: Display name of the organizer.
    - `conference` object
      - `provider` 'google_meet' | 'zoom' | 'teams' | 'unknown', required: The conference provider.
      - `conference_id` string: The provider-native conference ID.
      - `url` string: The conference URL. If not provided, it will automatically create a new conference (only teams and google_meet available)
    - `visibility` union, required: The visibility of the event.
      - 'public'
      - 'private'
    - `transparency` union, required: The transparency of the event. `opaque` does block time on the calendar and is equivalent to setting Show me as to Busy in the Calendar UI. `transparent` does not block time on the calendar and is equivalent to setting Show me as to Available in the Calendar UI.
      - 'opaque'
      - 'transparent'
    - `event_type` string, required: The type of the event (`birthday`, `fromGmail`, `outOfOffice`...)
    - `guests_can_modify` boolean: If true, allow guests to modify the event. <br> `Outlook Calendar`: Not supported, this parameter will always be false.
  - `next_cursor` string: Cursor to get the next page of results if supported. Else use `offset`.

## Other responses

- `401`: ## Unauthorized ### Missing credentials - Type: "errors/missing_credentials" Some credentials are necessary to perform the request. ### Multiple sessions - Type: "errors/multiple_sessions" LinkedIn limits the use of multiple sessions on Recruiter accounts. To avoid this error, opt for the cookie connection method. You can use the following endpoint to terminate all existing Recruiter sessions while keeping the active one so the Unipile account doesn't get disconnected : POST /api/v1/linkedin/sessions/recruiter/signout-others. ### Wrong account - Type: "errors/wrong_account" The provided credentials do not match the correct account. ### Invalid credentials - Type: "errors/invalid_credentials" The provided credentials are invalid. ### Invalid proxy credentials - Type: "errors/invalid_proxy_credentials" The provided proxy credentials are invalid. ### Invalid IMAP configuration - Type: "errors/invalid_imap_configuration" The provided IMAP configuration is invalid. ### Invalid SMTP configuration - Type: "errors/invalid_smtp_configuration" The provided SMTP configuration is invalid. ### Invalid checkpoint solution - Type: "errors/invalid_checkpoint_solution" The checkpoint resolution did not pass successfully. Please retry. ### Checkpoint error - Type: "errors/checkpoint_error" The checkpoint does not appear to be resolvable. Please try again and contact support if the problem persists. ### Expired credentials - Type: "errors/expired_credentials" Invalid credentials. Please check your username and password and try again. ### Expired link - Type: "errors/expired_link" This link has expired. Please return to the application and generate a new one. ### Insufficient privileges - Type: "errors/insufficient_privileges" This resource seems to be out of your scopes. ### Disconnected account - Type: "errors/disconnected_account" The account appears to be disconnected from the provider service. ### Disconnected feature - Type: "errors/disconnected_feature" The service you're trying to reach appears to be disconnected.
- `403`: ## Forbidden ### Insufficient permissions - Type: "errors/insufficient_permissions" Valid authentication but insufficient permissions to perform the request. ### Password reset required - Type: "errors/password_reset_required" LinkedIn requires you to change your password. Please change it on LinkedIn, then reconnect your account. ### Account restricted - Type: "errors/account_restricted" Access to this account has been restricted. Please sign in to the provider service to learn more about how to unlock your account. ### Account mismatch - Type: "errors/account_mismatch" This action cannot be done with your account. ### Unknown authentication context - Type: "errors/unknown_authentication_context" An additional step seems necessary to complete login. Please connect to provider with your browser to find out more, then retry authentication. ### Session mismatch - Type: "errors/session_mismatch" Token User id does not match client session id. ### Feature not subscribed - Type: "errors/feature_not_subscribed" The requested feature has either not been subscribed or not been authenticated properly. ### Subscription required - Type: "errors/subscription_required" The action you're trying to achieve requires a subscription to provider's services. ### Resource access restricted - Type: "errors/resource_access_restricted" You don't have access to this resource. ### Action required - Type: "errors/action_required" An additional step seems necessary. Complete authentication on the provider's native application and try again.
- `500`: ## Internal Server Error ### Unexpected error - Type: "errors/unexpected_error" Something went wrong. {{moreDetails}} ### Provider error - Type: "errors/provider_error" The provider is experiencing operational problems. Please try again later. ### Authentication intent error - Type: "errors/authentication_intent_error" The current authentication intent was killed after failure. Please start the process again from the beginning.
- `503`: ## Service Unavailable ### No client session - Type: "errors/no_client_session" No client session is currently running. ### No channel - Type: "errors/no_channel" No channel to client session. ### Handler missing - Type: "errors/no_handler" Handler missing for that request. ### Network down - Type: "errors/network_down" Network is down on server side. Please wait a moment and retry. ### Service unavailable - Type: "errors/service_unavailable" Please try again later.
- `504`: ## Gateway Timeout ### Request timed out - Type: "errors/request_timeout" Request Timeout. Please try again, and if the issue persists, contact support.

## Changes

- **2026-11-03** `e74f29ca2aaa`: 1 warning
  - added the new `errors/password_reset_required` enum value to the `type` response property for the response status `403`

[Operation history](https://skmtc.dev/unipile/apis/unipile-api-reference/changes/api/v1/calendars/:calendar_id/events/get.md)

---

[API](https://skmtc.dev/unipile/apis/unipile-api-reference.md) - [All operations](https://skmtc.dev/unipile/apis/unipile-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/unipile/apis/unipile-api-reference/revisions/e74f29ca2aaa?raw)
