{
  "url": "https://telipot.com/catalog/capabilities/calendar.events.list",
  "id": "calendar.events.list",
  "description": "Events on a calendar between two times, or that match a search",
  "platform": "calendar",
  "providers": [
    {
      "slug": "google-calendar",
      "name": "Google Calendar"
    }
  ],
  "tasks": 1,
  "taskPages": [
    {
      "id": "google-calendar.events.list",
      "name": "Events on a calendar between two times or matching a search",
      "provider": {
        "slug": "google-calendar",
        "name": "Google Calendar"
      },
      "capability": "calendar.events.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 events on the specified calendar.",
      "method": "GET",
      "path": "/calendar/v3/calendars/{calendarId}/events",
      "host": "https://www.googleapis.com",
      "docsUrl": "https://developers.google.com/workspace/calendar/api/v3/reference/events/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": "calendarId",
          "location": "pathParams",
          "type": "string",
          "required": true,
          "constraints": [],
          "note": "primary for the connected account's own calendar, or an id from google-calendar.calendars.list"
        },
        {
          "name": "timeMin",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Keep events that end after this RFC 3339 time, which needs an offset"
        },
        {
          "name": "timeMax",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Keep events that start before this RFC 3339 time, which needs an offset"
        },
        {
          "name": "q",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Free text matched against the title, description, location and the attendees' and organizer's names and addresses"
        },
        {
          "name": "singleEvents",
          "location": "queryParams",
          "type": "boolean",
          "required": false,
          "constraints": [
            "default false"
          ],
          "note": "true expands a recurring event into its instances and leaves out the recurring event itself"
        },
        {
          "name": "orderBy",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [
            "one of \"startTime\", \"updated\""
          ],
          "note": "startTime needs singleEvents true; an unspecified, stable order when absent"
        },
        {
          "name": "maxResults",
          "location": "queryParams",
          "type": "integer",
          "required": false,
          "constraints": [
            "1 to 2500",
            "default 250"
          ],
          "note": "Events on one page, which may hold fewer even when more match; a nextPageToken says there are more"
        },
        {
          "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 cancelled events"
        },
        {
          "name": "updatedMin",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "Keep events changed after this RFC 3339 time, deleted ones included"
        },
        {
          "name": "timeZone",
          "location": "queryParams",
          "type": "string",
          "required": false,
          "constraints": [],
          "note": "The time zone of the times in the answer; the calendar's own when absent"
        }
      ],
      "sampleInput": {
        "calendarId": "primary"
      },
      "inputSchema": {
        "type": "object",
        "properties": {
          "calendarId": {
            "type": "string",
            "description": "primary for the connected account's own calendar, or an id from google-calendar.calendars.list",
            "examples": [
              "primary"
            ]
          },
          "timeMin": {
            "type": "string",
            "description": "Keep events that end after this RFC 3339 time, which needs an offset",
            "examples": [
              "2026-10-12T00:00:00Z"
            ]
          },
          "timeMax": {
            "type": "string",
            "description": "Keep events that start before this RFC 3339 time, which needs an offset",
            "examples": [
              "2026-10-19T00:00:00Z"
            ]
          },
          "q": {
            "type": "string",
            "description": "Free text matched against the title, description, location and the attendees' and organizer's names and addresses",
            "examples": [
              "planning"
            ]
          },
          "singleEvents": {
            "type": "boolean",
            "description": "true expands a recurring event into its instances and leaves out the recurring event itself",
            "default": false
          },
          "orderBy": {
            "type": "string",
            "description": "startTime needs singleEvents true; an unspecified, stable order when absent",
            "enum": [
              "startTime",
              "updated"
            ]
          },
          "maxResults": {
            "type": "integer",
            "description": "Events on one page, which may hold fewer even when more match; a nextPageToken says there are more",
            "default": 250,
            "minimum": 1,
            "maximum": 2500
          },
          "pageToken": {
            "type": "string",
            "description": "The nextPageToken of the previous page"
          },
          "showDeleted": {
            "type": "boolean",
            "description": "Whether to include cancelled events",
            "default": false
          },
          "updatedMin": {
            "type": "string",
            "description": "Keep events changed after this RFC 3339 time, deleted ones included"
          },
          "timeZone": {
            "type": "string",
            "description": "The time zone of the times in the answer; the calendar's own when absent",
            "examples": [
              "America/Los_Angeles"
            ]
          }
        },
        "required": [
          "calendarId"
        ],
        "additionalProperties": false
      },
      "output": [
        {
          "name": "items",
          "type": "object[]",
          "description": "Cancelled events appear only with showDeleted or updatedMin"
        },
        {
          "name": "summary",
          "type": "string",
          "description": "The title of the calendar"
        },
        {
          "name": "description",
          "type": "string"
        },
        {
          "name": "timeZone",
          "type": "string"
        },
        {
          "name": "accessRole",
          "type": "string",
          "description": "none, freeBusyReader, reader, writer or owner"
        },
        {
          "name": "updated",
          "type": "string",
          "description": "RFC 3339 time of the last change to the calendar"
        },
        {
          "name": "defaultReminders",
          "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",
            "description": "Cancelled events appear only with showDeleted or updatedMin",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "description": "confirmed, tentative or cancelled"
                },
                "summary": {
                  "type": "string",
                  "description": "The title"
                },
                "description": {
                  "type": "string",
                  "description": "The description; it can hold HTML"
                },
                "location": {
                  "type": "string"
                },
                "htmlLink": {
                  "type": "string",
                  "description": "A link to the event in the Google Calendar web app"
                },
                "created": {
                  "type": "string",
                  "description": "RFC 3339 time"
                },
                "updated": {
                  "type": "string",
                  "description": "RFC 3339 time of the last change to the main event data"
                },
                "creator": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string"
                    },
                    "displayName": {
                      "type": "string"
                    },
                    "self": {
                      "type": "boolean"
                    }
                  }
                },
                "organizer": {
                  "type": "object",
                  "properties": {
                    "email": {
                      "type": "string"
                    },
                    "displayName": {
                      "type": "string"
                    },
                    "self": {
                      "type": "boolean"
                    }
                  }
                },
                "start": {
                  "type": "object",
                  "description": "A date for an all-day event, or a dateTime with its offset",
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "dateTime": {
                      "type": "string"
                    },
                    "timeZone": {
                      "type": "string"
                    }
                  }
                },
                "end": {
                  "type": "object",
                  "description": "Exclusive; a date for an all-day event, or a dateTime with its offset",
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "dateTime": {
                      "type": "string"
                    },
                    "timeZone": {
                      "type": "string"
                    }
                  }
                },
                "recurrence": {
                  "type": "array",
                  "description": "RRULE, EXRULE, RDATE and EXDATE lines of a recurring event",
                  "items": {
                    "type": "string"
                  }
                },
                "recurringEventId": {
                  "type": "string",
                  "description": "The id of the recurring event this is an instance of"
                },
                "originalStartTime": {
                  "type": "object",
                  "properties": {
                    "date": {
                      "type": "string"
                    },
                    "dateTime": {
                      "type": "string"
                    },
                    "timeZone": {
                      "type": "string"
                    }
                  }
                },
                "attendees": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "displayName": {
                        "type": "string"
                      },
                      "responseStatus": {
                        "type": "string",
                        "description": "needsAction, declined, tentative or accepted"
                      },
                      "organizer": {
                        "type": "boolean"
                      },
                      "self": {
                        "type": "boolean"
                      },
                      "resource": {
                        "type": "boolean"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "attendeesOmitted": {
                  "type": "boolean"
                },
                "hangoutLink": {
                  "type": "string"
                },
                "conferenceData": {
                  "type": "object",
                  "description": "The conference details such as a Google Meet link"
                },
                "visibility": {
                  "type": "string",
                  "description": "default, public, private or confidential"
                },
                "transparency": {
                  "type": "string",
                  "description": "opaque when the event blocks time, transparent when it does not"
                },
                "eventType": {
                  "type": "string",
                  "description": "default, birthday, focusTime, fromGmail, outOfOffice or workingLocation"
                },
                "colorId": {
                  "type": "string"
                },
                "iCalUID": {
                  "type": "string"
                },
                "sequence": {
                  "type": "integer"
                },
                "reminders": {
                  "type": "object",
                  "properties": {
                    "useDefault": {
                      "type": "boolean"
                    },
                    "overrides": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "method": {
                            "type": "string"
                          },
                          "minutes": {
                            "type": "integer"
                          }
                        }
                      }
                    }
                  }
                },
                "etag": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                }
              }
            }
          },
          "summary": {
            "type": "string",
            "description": "The title of the calendar"
          },
          "description": {
            "type": "string"
          },
          "timeZone": {
            "type": "string"
          },
          "accessRole": {
            "type": "string",
            "description": "none, freeBusyReader, reader, writer or owner"
          },
          "updated": {
            "type": "string",
            "description": "RFC 3339 time of the last change to the calendar"
          },
          "defaultReminders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string"
                },
                "minutes": {
                  "type": "integer"
                }
              }
            }
          },
          "nextPageToken": {
            "type": "string",
            "description": "Absent on the last page"
          },
          "nextSyncToken": {
            "type": "string"
          },
          "etag": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "example": {
        "file": "examples/google-calendar.events.list.json",
        "json": {
          "kind": "calendar#events",
          "etag": "\"EXAMPLEETAG\"",
          "summary": "contact@example.com",
          "updated": "2026-10-05T09:12:44.321Z",
          "timeZone": "America/Los_Angeles",
          "accessRole": "owner",
          "defaultReminders": [
            {
              "method": "popup",
              "minutes": 10
            }
          ],
          "items": [
            {
              "kind": "calendar#event",
              "etag": "\"EXAMPLEETAG\"",
              "id": "3vq8k2nd5ho1c7a9f0b4lmetoe",
              "status": "confirmed",
              "htmlLink": "https://www.google.com/calendar/event?eid=EXAMPLE",
              "created": "2026-09-28T16:02:10.000Z",
              "updated": "2026-09-28T16:02:10.512Z",
              "summary": "Planning",
              "creator": {
                "email": "contact@example.com",
                "self": true
              },
              "organizer": {
                "email": "contact@example.com",
                "self": true
              },
              "start": {
                "dateTime": "2026-10-12T10:00:00-07:00",
                "timeZone": "America/Los_Angeles"
              },
              "end": {
                "dateTime": "2026-10-12T10:30:00-07:00",
                "timeZone": "America/Los_Angeles"
              },
              "sequence": 0,
              "attendees": [
                {
                  "email": "contact@example.com",
                  "organizer": true,
                  "self": true,
                  "responseStatus": "accepted"
                },
                {
                  "email": "guest@example.com",
                  "responseStatus": "needsAction"
                }
              ],
              "reminders": {
                "useDefault": true
              },
              "eventType": "default"
            },
            {
              "kind": "calendar#event",
              "etag": "\"EXAMPLEETAG\"",
              "id": "7h2m9p4k1d8s5q0r3t6vbnmle_20261014T220000Z",
              "status": "confirmed",
              "htmlLink": "https://www.google.com/calendar/event?eid=EXAMPLE",
              "created": "2026-09-01T08:00:00.000Z",
              "updated": "2026-09-01T08:00:00.000Z",
              "summary": "Weekly review",
              "creator": {
                "email": "contact@example.com",
                "self": true
              },
              "organizer": {
                "email": "contact@example.com",
                "self": true
              },
              "start": {
                "dateTime": "2026-10-14T15:00:00-07:00",
                "timeZone": "America/Los_Angeles"
              },
              "end": {
                "dateTime": "2026-10-14T16:00:00-07:00",
                "timeZone": "America/Los_Angeles"
              },
              "recurringEventId": "7h2m9p4k1d8s5q0r3t6vbnmle",
              "originalStartTime": {
                "dateTime": "2026-10-14T15:00:00-07:00",
                "timeZone": "America/Los_Angeles"
              },
              "sequence": 0,
              "reminders": {
                "useDefault": true
              },
              "eventType": "default"
            }
          ]
        }
      },
      "commands": {
        "mode": "run",
        "cli": "telipot run google-calendar.events.list \\\n  --input-json '{\"calendarId\":\"primary\"}' \\\n  --as user:ana",
        "http": "curl https://api.telipot.com/v1/tasks/google-calendar.events.list/run \\\n  -H \"Authorization: Bearer $TELIPOT_TOKEN\" \\\n  -H \"Telipot-Principal: user:ana\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"calendarId\":\"primary\"}'",
        "quote": "telipot run google-calendar.events.list \\\n  --input-json '{\"calendarId\":\"primary\"}' \\\n  --as user:ana \\\n  --quote"
      },
      "siblings": []
    }
  ]
}
