Skip to content
Glossary

Calendar API terms, explained once

The words you meet in Google Calendar, Microsoft Graph and Zoom documentation, what they mean in practice, and where they bite.

Connected account

One person's Google, Microsoft or Zoom account linked to your app through Pyas. Someone who connects both Google and Zoom is two connected accounts. Pyas plans are priced by connected account.

Free/busy

The times someone is busy, as ranges, without titles, attendees or anything else about the events. It is what you ask for when you only need to know when a person is available.

Google Calendar answers it with freebusy.query, Microsoft Graph with getSchedule. They differ in what counts as busy (tentative events, events marked free) and in how they handle time zones, so comparing two people across providers takes care. Free/busy usually needs less access than reading events, which matters when someone else's calendar is involved.

iCalUID

The iCalendar UID of an event. Each attendee's copy of a meeting has its own event ID in their calendar, but the copies share the same iCalUID, which is how you recognize one meeting across several calendars.

Google calls it iCalUID, Microsoft Graph iCalUId. Recurring events complicate it, and the providers disagree. On Google, every occurrence of a series shares the series' iCalUID, so matching a single occurrence also needs its start time. On Outlook, the iCalUId "is different for each occurrence in a recurring series".

Idempotency key

A unique value you send with a write so that retrying it cannot do the work twice. If a request to create an event times out and you retry with the same key, you get the first result back instead of a second event.

On the Pyas API it is the Idempotency-Key header. The first request with a key runs and its answer is kept for 24 hours; the same key with a different request is refused, so a bug that reuses keys shows up instead of returning the wrong answer.

Publisher verification (Microsoft)

Microsoft's verification of the organization that publishes an app, through its Microsoft partner account. Verified apps show a blue verified badge on the consent screen, and many organizations let users approve only apps from verified publishers.

Push channel

A notification channel you open with Google Calendar's watch method. Google then calls your HTTPS endpoint when the watched calendar changes, without saying what changed, so you run an incremental sync to find out.

Channels expire, and Google has no call to renew one: you open a new channel before the old one ends and handle the overlap. A notification arrives for any change, so your sync has to cope with notifications that turn out to change nothing.

RRULE (recurrence rule)

The RFC 5545 rule that says how an event repeats, such as FREQ=WEEKLY;BYDAY=TU for every Tuesday. Google Calendar stores recurrence as RRULE strings; Microsoft Graph uses its own recurrence pattern object instead.

Translating between the two is where recurring events break: not every RRULE has a Graph equivalent, and exceptions (a moved or cancelled occurrence) are stored differently on each side.

Sensitive and restricted scopes

Google's classes of OAuth scope that require app verification before an app leaves testing. Calendar scopes are sensitive; restricted scopes, such as full Gmail or Drive access, also need an annual security assessment.

Google's own example of a sensitive scope is "reading events stored in Google Calendar". How long the review takes, and what it asks for, is in our guide to Google's OAuth review.

Sync token

A value Google Calendar returns with the last page of an event list (nextSyncToken). Sending it with the next list request returns only what changed since, deletions included as cancelled entries.

Sync tokens expire. When one does, Google answers 410 Gone and you run a full sync again, so your code needs that path from the start. A sync token cannot be combined with most filters, such as a time range, which is why incremental sync usually covers the whole calendar.

Tombstone (cancelled event)

The marker a provider keeps for a deleted event so that incremental syncs can report the deletion. Google Calendar returns deleted events with status "cancelled"; Microsoft Graph marks them as removed in delta results.

Google goes further than a bare marker: reading a deleted event by its ID returns the whole event, still marked cancelled.

Webhook subscription (Microsoft Graph)

A Microsoft Graph subscription that sends change notifications for a resource, such as a user's events, to your HTTPS endpoint. For Outlook events it lasts at most 10,080 minutes (under seven days), or 1,440 minutes if it includes the resource data, and must be renewed before then.

If a subscription lapses, notifications simply stop: nothing errors on your side. Renewal is a PATCH of the subscription's expiration time, and Graph sends lifecycle notifications (such as reauthorizationRequired) to a separate URL if you give one.