Calendars API
List Calendars
Retrieves all calendar lists from all connected providers (Google Calendar, Microsoft Outlook, Apple Calendar, CalDAV) for the authenticated user.
Fetches the list of calendars from all connected calendar providers and returns a unified array of calendars across all providers with provider-specific metadata including timezone, color, and access role information.
Endpoint: GET /calendars
Response
Array of calendar objects from all connected providers. Each Calendar object contains:
Provider name: 'google', 'microsoft', 'apple', or 'caldav'
Unique calendar identifier from the provider
Display name of the calendar
The connected account this calendar belongs to.
true when the authenticated connection cannot write to this calendar.
Calendar timezone (e.g., "America/New_York")
Calendar color code
Calendar description
Original calendar object from the provider
Error Responses
- 401 - Unauthorized. Invalid or missing bearer token
- 500 - Internal Server Error. Provider error or unexpected failure
Examples
- REST
- Node.js SDK
- Python SDK
- PHP SDK
- .NET SDK
- Java SDK
- Go SDK
- Ruby SDK
GET /calendars
const calendars = await client.calendars.list();
calendars = client.calendars.list()
$calendars = $client->calendars()->list();
var calendars = await client.Calendars.ListAsync();
import com.mobiscroll.connect.models.Calendar;
import java.util.List;
List<Calendar> calendars = client.calendars().list();
calendars, err := client.Calendars().List(ctx)
calendars = client.calendars.list
[
{
"id": "work@company.com",
"title": "My Calendar",
"provider": "google",
"account": "work@company.com",
"readOnly": false,
"timeZone": "America/Los_Angeles",
"color": "#9fc6e7",
"description": "Work calendar"
},
{
"id": "team-holidays@group.calendar.google.com",
"title": "Team Holidays",
"provider": "google",
"account": "personal@gmail.com",
"readOnly": true,
"timeZone": "America/Los_Angeles",
"color": "#dbadff",
"description": "Shared holiday calendar"
},
{
"id": "AAMkAGI2T...",
"title": "Work Calendar",
"provider": "microsoft",
"account": "work@company.com",
"readOnly": false,
"timeZone": "UTC",
"description": ""
},
{
"id": "E2857962-EE43-4E90-829C-A826D534C0D9",
"title": "Personal",
"provider": "apple",
"account": "user@icloud.com",
"readOnly": false,
"timeZone": "America/New_York",
"description": "Personal events"
},
{
"id": "https://nextcloud.example.com/remote.php/dav/calendars/user/personal/",
"title": "CalDAV Personal",
"provider": "caldav",
"account": "user@nextcloud.example.com",
"readOnly": false,
"timeZone": "UTC",
"description": "CalDAV calendar"
}
]
- No query parameters are required for this endpoint
- The endpoint returns calendars from all connected providers in a single response
- Each calendar includes provider-specific metadata where available
- When a user has connected more than one account on the same provider,
accounttells you which one owns each calendar — useful before showing a calendar picker or writing to a specific one - The
projectIdis automatically retrieved from the user's session cookies