{
  "url": "https://telipot.com/catalog/tasks/google-calendar.calendars.list",
  "id": "google-calendar.calendars.list",
  "name": "Calendars on the connected account's list, with access role",
  "provider": {
    "slug": "google-calendar",
    "name": "Google Calendar"
  },
  "capability": "calendar.calendars.list",
  "platform": "calendar",
  "kind": "data",
  "tier": "core",
  "identity": "user",
  "identityLabel": "Person’s own",
  "price": {
    "amount": "Free",
    "state": "free",
    "label": "Free",
    "detail": "Free from the tool",
    "type": "free"
  },
  "providers": 1,
  "retention": "standard",
  "runsOn": "free",
  "live": true,
  "summary": "Returns the calendars on the user's calendar list.",
  "method": "GET",
  "path": "/calendar/v3/users/me/calendarList",
  "host": "https://www.googleapis.com",
  "docsUrl": "https://developers.google.com/workspace/calendar/api/v3/reference/calendarList/list",
  "auth": {
    "scheme": "oauth",
    "label": "oauth · OAuth 2.0 with PKCE",
    "short": "oauth · OAuth 2.0"
  },
  "scope": "own_account",
  "principal": "user",
  "requiredScopes": [
    "calendar.readonly"
  ],
  "verification": {
    "state": "none",
    "label": "Not verified yet",
    "detail": "Not checked yet. We test with a real request before we mark it."
  },
  "input": [
    {
      "name": "minAccessRole",
      "location": "queryParams",
      "type": "string",
      "required": false,
      "constraints": [
        "one of \"freeBusyReader\", \"reader\", \"writer\", \"writerWithoutPrivateAccess\", \"owner\""
      ],
      "note": "Keep only calendars the user holds at least this role on"
    },
    {
      "name": "maxResults",
      "location": "queryParams",
      "type": "integer",
      "required": false,
      "constraints": [
        "1 to 250",
        "default 100"
      ],
      "note": "Entries on one page"
    },
    {
      "name": "pageToken",
      "location": "queryParams",
      "type": "string",
      "required": false,
      "constraints": [],
      "note": "The nextPageToken of the previous page"
    },
    {
      "name": "showDeleted",
      "location": "queryParams",
      "type": "boolean",
      "required": false,
      "constraints": [
        "default false"
      ],
      "note": "Whether to include entries deleted from the list"
    },
    {
      "name": "showHidden",
      "location": "queryParams",
      "type": "boolean",
      "required": false,
      "constraints": [
        "default false"
      ],
      "note": "Whether to include entries hidden from the list"
    }
  ],
  "sampleInput": {},
  "inputSchema": {
    "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": [
    {
      "name": "items",
      "type": "object[]"
    },
    {
      "name": "nextPageToken",
      "type": "string",
      "description": "Absent on the last page"
    },
    {
      "name": "nextSyncToken",
      "type": "string"
    },
    {
      "name": "etag",
      "type": "string"
    },
    {
      "name": "kind",
      "type": "string"
    }
  ],
  "outputSchema": {
    "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": {
    "file": "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"
        }
      ]
    }
  },
  "commands": {
    "mode": "inspect",
    "cli": "telipot inspect google-calendar.calendars.list",
    "http": "curl https://api.telipot.com/v1/tasks/google-calendar.calendars.list \\\n  -H \"Authorization: Bearer $TELIPOT_TOKEN\""
  },
  "siblings": []
}
