Google: Returns instances of the specified recurring event
Google calendarEvents.calendarEventsInstances: arguments, response, policy and SDK examples.
← Calendar events operations · Get started
Operation google.calendar_events_instances
Provider route: GET /calendar/v3/calendars/{calendarId}/events/{eventId}/instances. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/google with npm, or alter-sdk-google with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { GoogleIntegration } from "@alter-ai/google";
async function execute(input: Parameters<GoogleIntegration["calendarEvents"]["calendarEventsInstances"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new GoogleIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.calendarEvents.calendarEventsInstances(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_google import GoogleIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = GoogleIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.calendar_events.calendar_events_instances(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.calendarId | string | Required within parent | Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the “primary” keyword. |
path.eventId | string | Required within parent | Recurring event identifier. |
query | object | Optional | Additional keys: not allowed |
query.fields | string | Optional | Selector specifying which fields to include in a partial response. |
query.prettyPrint | boolean | Optional | Returns response with indentations and line breaks. Default: true |
query.quotaUser | string | Optional | An opaque string that represents a user for quota purposes. Must not exceed 40 characters. |
query.userIp | string | Optional | Deprecated. Please use quotaUser instead. |
query.alwaysIncludeEmail | boolean | Optional | Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). |
query.maxAttendees | integer | Optional | The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. Format: int32 Minimum: 1 |
query.maxResults | integer | Optional | Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. Format: int32 Minimum: 1 |
query.originalStart | string | Optional | The original start time of the instance in the result. Optional. |
query.pageToken | string | Optional | Token specifying which result page to return. Optional. |
query.showDeleted | boolean | Optional | Whether to include deleted events (with status equals “cancelled”) in the result. Cancelled instances of recurring events will still be included if singleEvents is False. Optional. The default is False. |
query.timeMax | string | Optional | Upper bound (exclusive) for an event’s start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset. Format: date-time |
query.timeMin | string | Optional | Lower bound (inclusive) for an event’s end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset. Format: date-time |
query.timeZone | string | Optional | Time zone used in the response. Optional. The default is the time zone of the calendar. |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Returns events on the specified calendar — response body |
Referenced models: Returns events on the specified calendar — response body
Schemas
Section titled “Schemas”15 more schemas are linked from the tables above, on the schema pages.
Returns events on the specified calendar — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
accessRole | string | Optional | The user's access role for this calendar. Read-only. Possible values are: - "none" - The user has no access. - "freeBusyReader" - The user has read access to free/busy information. - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. - "writerWithoutPrivateAccess" - The user has read and write access to the calendar. Private events will appear to users with writerWithoutPrivateAccess access, but event details will be hidden. - "writer" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. - "owner" - The user has manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to see and modify access levels of other users. Important: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role. |
defaultReminders | array | Optional | The default reminders on the calendar for the authenticated user. These reminders apply to all events on this calendar that do not explicitly override them (i.e. do not have reminders.useDefault set to True). |
defaultReminders[] | Model | Each item | Expand Returns events on the specified calendar — response body — default Reminders item |
description | string | Optional | Description of the calendar. Read-only. |
etag | string | Optional | ETag of the collection. |
items | array | Optional | List of events on the calendar. |
items[] | Model | Each item | Expand Creates an event — response body |
kind | string | Optional | Type of the collection ("calendar#events"). Default: calendar#events |
nextPageToken | string | Optional | Token used to access the next page of this result. Omitted if no further results are available, in which case nextSyncToken is provided. |
nextSyncToken | string | Optional | Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided. |
summary | string | Optional | Title of the calendar. Read-only. |
timeZone | string | Optional | The time zone of the calendar. Read-only. |
updated | string | Optional | Last modification time of the calendar (as a RFC3339 timestamp). Read-only. Format: date-time |
Referenced models: Creates an event — response body, Returns events on the specified calendar — response body — default Reminders item
Returns events on the specified calendar — response body — default Reminders item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
method | string | Optional | The method used by this reminder. Possible values are: - "email" - Reminders are sent via email. - "popup" - Reminders are sent via a UI popup. Required when adding a reminder. |
minutes | JSON | Optional | |
minutes (anyOf 1) | integer | Alternative | Number of minutes before the start of the event when the reminder should trigger. Valid values are between 0 and 40320 (4 weeks in minutes). Required when adding a reminder. Format: int32 |
minutes (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
Creates an event — response body — conference Data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
conferenceId | string | Optional | The ID of the conference. Can be used by developers to keep track of conferences, should not be displayed to users. The ID value is formed differently for each conference solution type: - eventHangout: ID is not set. (This conference type is deprecated.) - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.) - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc. - addOn: ID is defined by the third-party provider. Optional. |
conferenceSolution | Model | Optional | Expand Creates an event — response body — conference Data conference Solution The conference solution, such as Google Meet. Unset for a conference with a failed create request. Either conferenceSolution and at least one entryPoint, or createRequest is required. |
createRequest | Model | Optional | Expand Creates an event — response body — conference Data create Request A request to generate a new conference and attach it to the event. The data is generated asynchronously. To see whether the data is present check the status field. Either conferenceSolution and at least one entryPoint, or createRequest is required. |
entryPoints | array | Optional | Information about individual conference entry points, such as URLs or phone numbers. All of them must belong to the same conference. Either conferenceSolution and at least one entryPoint, or createRequest is required. |
entryPoints[] | Model | Each item | Expand Creates an event — response body — conference Data entry Points item |
notes | string | Optional | Additional notes (such as instructions from the domain administrator, legal notices) to display to the user. Can contain HTML. The maximum length is 2048 characters. Optional. |
parameters | Model | Optional | Expand Creates an event — response body — conference Data parameters Additional properties related to a conference. An example would be a solution-specific setting for enabling video streaming. |
signature | string | Optional | The signature of the conference data. Generated on server side. Unset for a conference with a failed create request. Optional for a conference with a pending create request. |
Referenced models: Creates an event — response body — conference Data parameters, Creates an event — response body — conference Data conference Solution, Creates an event — response body — conference Data create Request, Creates an event — response body — conference Data entry Points item
Creates an event — response body — attachments item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
fileId | string | Optional | ID of the attached file. Read-only. For Google Drive files, this is the ID of the corresponding Files resource entry in the Drive API. |
fileUrl | string | Optional | URL link to the attachment. For adding Google Drive file attachments use the same format as in alternateLink property of the Files resource in the Drive API. Required when adding an attachment. |
iconLink | string | Optional | URL link to the attachment's icon. This field can only be modified for custom third-party attachments. |
mimeType | string | Optional | Internet media type (MIME type) of the attachment. |
title | string | Optional | Attachment title. |
Creates an event — response body — attendees item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
additionalGuests | JSON | Optional | |
additionalGuests (anyOf 1) | integer | Alternative | Number of additional guests. Optional. The default is 0. Default: 0 Format: int32 |
additionalGuests (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
asyncOperation | string | Optional | If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. Possible values are: - "inProgress" - The asynchronous operation is in progress. - (not present) - Otherwise. Default: |
comment | string | Optional | The attendee's response comment. Optional. |
displayName | string | Optional | The attendee's name, if available. Optional. |
email | string | Optional | The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. Required when adding an attendee. |
id | string | Optional | The attendee's Profile ID, if available. |
optional | boolean | Optional | Whether this is an optional attendee. Optional. The default is False. Default: false |
organizer | boolean | Optional | Whether the attendee is the organizer of the event. Read-only. The default is False. |
resource | boolean | Optional | Whether the attendee is a resource. Can only be set when the attendee is added to the event for the first time. Subsequent modifications are ignored. Optional. The default is False. Default: false |
responseStatus | string | Optional | The attendee's response status. Possible values are: - "needsAction" - The attendee has not responded to the invitation (recommended for new events). - "declined" - The attendee has declined the invitation. - "tentative" - The attendee has tentatively accepted the invitation. - "accepted" - The attendee has accepted the invitation. Warning: If you add an event using the values declined, tentative, or accepted, attendees with the "Add invitations to my calendar" setting set to "When I respond to invitation in email" or "Only if the sender is known" might have their response reset to needsAction and won't see an event in their calendar unless they change their response in the event invitation email. Furthermore, if more than 200 guests are invited to the event, response status is not propagated to the guests. |
self | boolean | Optional | Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False. Default: false |
Creates an event — response body — end
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
date | string | Optional | The date, in the format "yyyy-mm-dd", if this is an all-day event. Format: date |
dateTime | string | Optional | The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone. Format: date-time |
timeZone | string | Optional | The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end. |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: google.calendar_events_instances. Catalog operation: calendar.events.instances. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.app.created", "https://www.googleapis.com/auth/calendar.events", "https://www.googleapis.com/auth/calendar.events.freebusy", "https://www.googleapis.com/auth/calendar.events.owned", "https://www.googleapis.com/auth/calendar.events.owned.readonly", "https://www.googleapis.com/auth/calendar.events.public.readonly", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.readonly"]