# google-calendar.calendars.list

Calendars on the connected account's list, with access role

> Returns the calendars on the user's calendar list.

Page: https://telipot.com/catalog/tasks/google-calendar.calendars.list · Markdown: https://telipot.com/catalog/tasks/google-calendar.calendars.list/md · JSON: https://telipot.com/catalog/tasks/google-calendar.calendars.list/json

| Field | Value |
| --- | --- |
| provider | [Google Calendar](https://telipot.com/catalog/providers/google-calendar) `google-calendar` |
| capability | [`calendar.calendars.list`](https://telipot.com/catalog/capabilities/calendar.calendars.list) |
| kind | data |
| tier | core |
| price | Free (Free from the tool) |
| identity | Person’s own |
| auth | `oauth · OAuth 2.0 with PKCE` |
| scope | own_account |
| principal | user |
| required_scopes | `calendar.readonly` |
| retention | standard |
| route | `GET https://www.googleapis.com/calendar/v3/users/me/calendarList` |
| verification | Not verified yet. Not checked yet. We test with a real request before we mark it. |
| status | live |
| docs | https://developers.google.com/workspace/calendar/api/v3/reference/calendarList/list |

## Inspect first

No complete example input is recorded. Read the schema and field notes before building the call.

```bash
telipot inspect google-calendar.calendars.list
```

```bash
curl https://api.telipot.com/v1/tasks/google-calendar.calendars.list \
  -H "Authorization: Bearer $TELIPOT_TOKEN"
```

## Input

| Field | In | Type | Required | Constraints | Note |
| --- | --- | --- | --- | --- | --- |
| `minAccessRole` | queryParams | string | no | one of "freeBusyReader", "reader", "writer", "writerWithoutPrivateAccess", "owner" | Keep only calendars the user holds at least this role on |
| `maxResults` | queryParams | integer | no | 1 to 250; default 100 | Entries on one page |
| `pageToken` | queryParams | string | no |  | The nextPageToken of the previous page |
| `showDeleted` | queryParams | boolean | no | default false | Whether to include entries deleted from the list |
| `showHidden` | queryParams | boolean | no | default false | Whether to include entries hidden from the list |

## Input schema

```json
{
  "type": "object",
  "properties": {
    "minAccessRole": {
      "type": "string",
      "description": "Keep only calendars the user holds at least this role on",
      "enum": [
        "freeBusyReader",
        "reader",
        "writer",
        "writerWithoutPrivateAccess",
        "owner"
      ]
    },
    "maxResults": {
      "type": "integer",
      "description": "Entries on one page",
      "default": 100,
      "minimum": 1,
      "maximum": 250
    },
    "pageToken": {
      "type": "string",
      "description": "The nextPageToken of the previous page"
    },
    "showDeleted": {
      "type": "boolean",
      "description": "Whether to include entries deleted from the list",
      "default": false
    },
    "showHidden": {
      "type": "boolean",
      "description": "Whether to include entries hidden from the list",
      "default": false
    }
  },
  "additionalProperties": false
}
```

## Output schema

```json
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The calendar id; for a user's own calendar it is an address"
          },
          "summary": {
            "type": "string"
          },
          "summaryOverride": {
            "type": "string",
            "description": "The title the user gave it"
          },
          "description": {
            "type": "string"
          },
          "timeZone": {
            "type": "string"
          },
          "accessRole": {
            "type": "string",
            "description": "freeBusyReader, reader, writer or owner"
          },
          "primary": {
            "type": "boolean",
            "description": "True for the user's own calendar"
          },
          "selected": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "deleted": {
            "type": "boolean"
          },
          "backgroundColor": {
            "type": "string"
          },
          "foregroundColor": {
            "type": "string"
          },
          "colorId": {
            "type": "string"
          },
          "defaultReminders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string"
                },
                "minutes": {
                  "type": "integer"
                }
              }
            }
          },
          "etag": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      }
    },
    "nextPageToken": {
      "type": "string",
      "description": "Absent on the last page"
    },
    "nextSyncToken": {
      "type": "string"
    },
    "etag": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    }
  }
}
```

## Example response

From `examples/google-calendar.calendars.list.json`.

```json
{
  "kind": "calendar#calendarList",
  "etag": "\"EXAMPLEETAG\"",
  "items": [
    {
      "kind": "calendar#calendarListEntry",
      "etag": "\"EXAMPLEETAG\"",
      "id": "contact@example.com",
      "summary": "contact@example.com",
      "timeZone": "America/Los_Angeles",
      "accessRole": "owner",
      "primary": true,
      "selected": true,
      "backgroundColor": "#9fe1e7",
      "foregroundColor": "#000000",
      "colorId": "14",
      "defaultReminders": [
        {
          "method": "popup",
          "minutes": 10
        }
      ]
    },
    {
      "kind": "calendar#calendarListEntry",
      "etag": "\"EXAMPLEETAG\"",
      "id": "team@example.com",
      "summary": "Team",
      "timeZone": "America/Los_Angeles",
      "accessRole": "reader",
      "backgroundColor": "#cabdbf",
      "foregroundColor": "#000000",
      "colorId": "8"
    }
  ]
}
```
