Events

Manage events across Google Calendar, Microsoft Outlook and virtual calendars, including metadata, attachments and conferencing.


GET/v2/events

List events

Lists the events in one calendar of a connected account, within an optional time window and with optional filters.

To list several accounts as one timeline in start order, send accountIds or subjectId with from and to. To find events by your own metadata across the app, send up to 5 metadata.<key>=<value> parameters.

A recurring series is returned as one event unless expand=true. sync=true starts an incremental sync of the window. To get only the changes since then, send the syncToken from the last page in a later request.

The v1 parameter names (calendarId, timeMin, timeMax, maxResults, nextPageToken and others) still work. Responses to requests that use them include a Pyas-Deprecated-Fields header.

Sends the request to your sandbox, never to live data.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

  • Name
    from
    Type
    string (date-time)
    Description

    The start of the time window.

  • Name
    to
    Type
    string (date-time)
    Description

    The end of the time window.

  • Name
    expand
    Type
    boolean
    Description

    Returns each occurrence of a recurring series as a separate event. Required for sort=start.

  • Name
    limit
    Type
    integer
    Description

    The maximum number of results in one page. Defaults to 100. From 1 to 250.

  • Name
    cursor
    Type
    string
    Description

    The nextCursor from the previous page.

  • Name
    syncToken
    Type
    string
    Description

    The syncToken from the last page of a sync. Returns only the changes since that sync.

  • Name
    sync
    Type
    boolean
    Description

    Starts a sync of the time window. Returns every event in the window, with a syncToken on the last page.

  • Name
    sort
    Type
    string
    Description

    The sort order: start (requires expand=true) or updated.

  • Name
    include
    Type
    string
    Description

    Additional fields to include, as a comma-separated list. raw is the provider's original payload. extendedProperties is the provider's extended properties. conferencingSettings is available only when you retrieve one event.

  • Name
    extendedPropertyIds
    Type
    string
    Description

    Outlook only, with include=extendedProperties. The IDs of up to 10 extended properties to read, of any type, such as String {guid} Name orderId, IntegerArray {guid} Name counts or Integer 0x8012.

  • Name
    fields
    Type
    string
    Description

    The top-level fields to return, comma-separated, such as id,title,startsAt,endsAt. The id field is always included.

  • Name
    duplicates
    Type
    string
    Description

    With several accounts, how to handle the same event on more than one calendar. flag (the default) marks copies with duplicateOf. collapse keeps the first and lists the others in alsoIn.

  • Name
    q
    Type
    string
    Description

    Returns events whose title, description or location contains this text.

  • Name
    title
    Type
    string
    Description

    Returns events whose title contains this text.

  • Name
    location
    Type
    string
    Description

    Returns events whose location contains this text.

  • Name
    attendee
    Type
    string
    Description

    Returns events with any of these attendees, as a comma-separated list of email addresses.

  • Name
    organizer
    Type
    string
    Description

    Returns events organized by any of these email addresses, comma-separated.

  • Name
    status
    Type
    string
    Description

    Any of confirmed, tentative and cancelled, comma-separated. Defaults to confirmed,tentative.

  • Name
    recurring
    Type
    boolean
    Description

    true returns only events in a recurring series. false returns only single events.

  • Name
    isAllDay
    Type
    boolean
    Description
  • Name
    hasConference
    Type
    boolean
    Description

    true returns only events with a meeting link. false returns only events without one.

  • Name
    conferenceType
    Type
    string
    Description

    The conferencing service, such as zoom, meet or teams.

  • Name
    hasAttachments
    Type
    boolean
    Description
  • Name
    showAs
    Type
    string
    Description

    Any of busy, free, tentative, outOfOffice and workingElsewhere, comma-separated.

  • Name
    eventType
    Type
    string
    Description

    Any of default, focusTime, outOfOffice, workingLocation, birthday and fromGmail, comma-separated.

  • Name
    category
    Type
    string
    Description

    Returns events with any of these categories.

  • Name
    importance
    Type
    string
    Description

    Any of low, normal and high, comma-separated.

  • Name
    visibility
    Type
    string
    Description
  • Name
    updatedSince
    Type
    string (date-time)
    Description

    Returns events updated since this time.

  • Name
    accountIds
    Type
    string
    Description

    The Pyas accountId values of up to 20 connected accounts. Send a comma-separated list or repeat the parameter.

  • Name
    subjectId
    Type
    string
    Description

    Selects every connected account labeled with this subjectId.

  • Name
    provider
    Type
    string
    Description

    Limits accountIds or subjectId to accounts on this provider. One of google, microsoft, pyas.

  • Name
    calendarRefs
    Type
    string
    Description

    With several accounts, up to 10 calendars to read on each account. Defaults to primary. Send a comma-separated list or repeat the parameter.

Errors

Request

GET
/v2/events
curl 'https://api.pyas.io/v2/events?accountId=sbx_fda58c5980_1&from=2026-11-07T00%3A00%3A00Z&to=2026-11-28T00%3A00%3A00Z&expand=true' \  -H "x-api-key: $PYAS_API_KEY"

Response

200 OK
{  "success": true,  "data": [    {      "id": "sb559d0de42dffb4f183c156f8_20261102T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-08T14:30:00Z",      "endsAt": "2026-11-08T14:45:00Z",      "startsAtLocal": "2026-11-08T09:30:00-05:00",      "endsAtLocal": "2026-11-08T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-08T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261102T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sba938ba8604d9bdff564147c2_20261102T190000Z",      "iCalUID": "sba938ba8604d9bdff564147c2@cal.pyas.io",      "title": "1:1 with Sarah",      "description": null,      "location": null,      "startsAt": "2026-11-08T19:00:00Z",      "endsAt": "2026-11-08T19:30:00Z",      "startsAtLocal": "2026-11-08T14:00:00-05:00",      "endsAtLocal": "2026-11-08T14:30:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "zoom",        "joinUrl": "https://zoom.us/j/9302336753",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://zoom.us/j/9302336753",      "recurrence": null,      "series": {        "masterEventId": "sba938ba8604d9bdff564147c2",        "originalStartsAt": "2026-11-08T19:00:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.578Z",      "updatedAt": "2026-11-14T20:00:23.578Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sba938ba8604d9bdff564147c2_20261102T190000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261103T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-09T14:30:00Z",      "endsAt": "2026-11-09T14:45:00Z",      "startsAtLocal": "2026-11-09T09:30:00-05:00",      "endsAtLocal": "2026-11-09T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-09T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261103T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261104T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-10T14:30:00Z",      "endsAt": "2026-11-10T14:45:00Z",      "startsAtLocal": "2026-11-10T09:30:00-05:00",      "endsAtLocal": "2026-11-10T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-10T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261104T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261105T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-11T14:30:00Z",      "endsAt": "2026-11-11T14:45:00Z",      "startsAtLocal": "2026-11-11T09:30:00-05:00",      "endsAtLocal": "2026-11-11T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-11T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261105T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sbf60c8ae6a9f17c1e3b6cc2b8",      "iCalUID": "sbf60c8ae6a9f17c1e3b6cc2b8@cal.pyas.io",      "title": "Product Sync",      "description": null,      "location": null,      "startsAt": "2026-11-11T16:00:00Z",      "endsAt": "2026-11-11T17:00:00Z",      "startsAtLocal": "2026-11-11T11:00:00-05:00",      "endsAtLocal": "2026-11-11T12:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.586Z",      "updatedAt": "2026-11-14T20:00:23.586Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sbf60c8ae6a9f17c1e3b6cc2b8",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": {        "project": "atlas"      }    },    {      "id": "sb559d0de42dffb4f183c156f8_20261106T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-12T14:30:00Z",      "endsAt": "2026-11-12T14:45:00Z",      "startsAtLocal": "2026-11-12T09:30:00-05:00",      "endsAtLocal": "2026-11-12T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-12T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261106T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sba4ff5f08df3d4dcbddca25a3_20261108T150000Z",      "iCalUID": "sba4ff5f08df3d4dcbddca25a3@cal.pyas.io",      "title": "Sprint Planning",      "description": null,      "location": null,      "startsAt": "2026-11-14T15:00:00Z",      "endsAt": "2026-11-14T16:00:00Z",      "startsAtLocal": "2026-11-14T10:00:00-05:00",      "endsAtLocal": "2026-11-14T11:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "needsAction",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": {        "masterEventId": "sba4ff5f08df3d4dcbddca25a3",        "originalStartsAt": "2026-11-14T15:00:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.569Z",      "updatedAt": "2026-11-14T20:00:23.569Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sba4ff5f08df3d4dcbddca25a3_20261108T150000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sbce3d2d42c2a4d690a9860fbb",      "iCalUID": "sbce3d2d42c2a4d690a9860fbb@cal.pyas.io",      "title": "Lunch with Alex",      "description": null,      "location": "Corner Cafe",      "startsAt": "2026-11-14T17:30:00Z",      "endsAt": "2026-11-14T18:30:00Z",      "startsAtLocal": "2026-11-14T12:30:00-05:00",      "endsAtLocal": "2026-11-14T13:30:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "free",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.612Z",      "updatedAt": "2026-11-14T20:00:23.612Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sbce3d2d42c2a4d690a9860fbb",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261109T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-15T14:30:00Z",      "endsAt": "2026-11-15T14:45:00Z",      "startsAtLocal": "2026-11-15T09:30:00-05:00",      "endsAtLocal": "2026-11-15T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-15T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261109T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb16ba49792a79d2ce856e789a",      "iCalUID": "sb16ba49792a79d2ce856e789a@cal.pyas.io",      "title": "Customer onboarding (Zoom)",      "description": null,      "location": null,      "startsAt": "2026-11-15T16:00:00Z",      "endsAt": "2026-11-15T17:00:00Z",      "startsAtLocal": "2026-11-15T11:00:00-05:00",      "endsAtLocal": "2026-11-15T12:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "zoom",        "joinUrl": "https://zoom.us/j/67556028668?pwd=k1NV6aHSXvDYLT96s3yhRedsmHRIroO0",        "meetingId": "67556028668",        "passcode": "1wWGDz58DC",        "dialIn": [          {            "label": "US New York",            "number": "+1 555 0100",            "pin": "604224"          }        ]      },      "meetingUrl": "https://zoom.us/j/67556028668?pwd=k1NV6aHSXvDYLT96s3yhRedsmHRIroO0",      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:24.345Z",      "updatedAt": "2026-11-14T20:00:24.345Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb16ba49792a79d2ce856e789a",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sba938ba8604d9bdff564147c2_20261109T190000Z",      "iCalUID": "sba938ba8604d9bdff564147c2@cal.pyas.io",      "title": "1:1 with Sarah",      "description": null,      "location": null,      "startsAt": "2026-11-15T19:00:00Z",      "endsAt": "2026-11-15T19:30:00Z",      "startsAtLocal": "2026-11-15T14:00:00-05:00",      "endsAtLocal": "2026-11-15T14:30:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "zoom",        "joinUrl": "https://zoom.us/j/9302336753",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://zoom.us/j/9302336753",      "recurrence": null,      "series": {        "masterEventId": "sba938ba8604d9bdff564147c2",        "originalStartsAt": "2026-11-15T19:00:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.578Z",      "updatedAt": "2026-11-14T20:00:23.578Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sba938ba8604d9bdff564147c2_20261109T190000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sbff8ee84b7939a1d7a4943ff6",      "iCalUID": "sbff8ee84b7939a1d7a4943ff6@cal.pyas.io",      "title": "Design Review",      "description": null,      "location": "Room 4B",      "startsAt": "2026-11-15T20:00:00Z",      "endsAt": "2026-11-15T21:00:00Z",      "startsAtLocal": "2026-11-15T15:00:00-05:00",      "endsAtLocal": "2026-11-15T16:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "needsAction",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.596Z",      "updatedAt": "2026-11-14T20:00:23.596Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sbff8ee84b7939a1d7a4943ff6",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261110T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-16T14:30:00Z",      "endsAt": "2026-11-16T14:45:00Z",      "startsAtLocal": "2026-11-16T09:30:00-05:00",      "endsAtLocal": "2026-11-16T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-16T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261110T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb0c940c95b43e44fcf6650886",      "iCalUID": "sb0c940c95b43e44fcf6650886@cal.pyas.io",      "title": "Customer Call: Acme",      "description": null,      "location": null,      "startsAt": "2026-11-16T21:00:00Z",      "endsAt": "2026-11-16T21:30:00Z",      "startsAtLocal": "2026-11-16T16:00:00-05:00",      "endsAtLocal": "2026-11-16T16:30:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "zoom",        "joinUrl": "https://zoom.us/j/9148612694",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://zoom.us/j/9148612694",      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.603Z",      "updatedAt": "2026-11-14T20:00:23.603Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb0c940c95b43e44fcf6650886",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": {        "dealId": "deal_42",        "stage": "discovery"      }    },    {      "id": "sb559d0de42dffb4f183c156f8_20261111T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-17T14:30:00Z",      "endsAt": "2026-11-17T14:45:00Z",      "startsAtLocal": "2026-11-17T09:30:00-05:00",      "endsAtLocal": "2026-11-17T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-17T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261111T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sbf36d93862d5bc4f8bca3d967",      "iCalUID": "sbf36d93862d5bc4f8bca3d967@cal.pyas.io",      "title": "Focus time",      "description": null,      "location": null,      "startsAt": "2026-11-17T18:00:00Z",      "endsAt": "2026-11-17T20:00:00Z",      "startsAtLocal": "2026-11-17T13:00:00-05:00",      "endsAtLocal": "2026-11-17T15:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "focusTime",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.627Z",      "updatedAt": "2026-11-14T20:00:23.627Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sbf36d93862d5bc4f8bca3d967",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261112T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-18T14:30:00Z",      "endsAt": "2026-11-18T14:45:00Z",      "startsAtLocal": "2026-11-18T09:30:00-05:00",      "endsAtLocal": "2026-11-18T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-18T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261112T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb03fe318b8d28506fffad9254",      "iCalUID": "sb03fe318b8d28506fffad9254@cal.pyas.io",      "title": "Dentist",      "description": null,      "location": null,      "startsAt": "2026-11-19T13:00:00Z",      "endsAt": "2026-11-19T14:00:00Z",      "startsAtLocal": "2026-11-19T08:00:00-05:00",      "endsAtLocal": "2026-11-19T09:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": "private",      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.619Z",      "updatedAt": "2026-11-14T20:00:23.619Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb03fe318b8d28506fffad9254",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261113T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-19T14:30:00Z",      "endsAt": "2026-11-19T14:45:00Z",      "startsAtLocal": "2026-11-19T09:30:00-05:00",      "endsAtLocal": "2026-11-19T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-19T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261113T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261116T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-22T14:30:00Z",      "endsAt": "2026-11-22T14:45:00Z",      "startsAtLocal": "2026-11-22T09:30:00-05:00",      "endsAtLocal": "2026-11-22T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-22T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261116T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb3dc0420b772f0cc723098085",      "iCalUID": "sb3dc0420b772f0cc723098085@cal.pyas.io",      "title": "Conference talk prep",      "description": null,      "location": null,      "startsAt": "2026-11-22T15:00:00Z",      "endsAt": "2026-11-22T16:30:00Z",      "startsAtLocal": "2026-11-22T10:00:00-05:00",      "endsAtLocal": "2026-11-22T11:30:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "tentative",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.634Z",      "updatedAt": "2026-11-14T20:00:23.634Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb3dc0420b772f0cc723098085",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sba938ba8604d9bdff564147c2_20261116T190000Z",      "iCalUID": "sba938ba8604d9bdff564147c2@cal.pyas.io",      "title": "1:1 with Sarah",      "description": null,      "location": null,      "startsAt": "2026-11-22T19:00:00Z",      "endsAt": "2026-11-22T19:30:00Z",      "startsAtLocal": "2026-11-22T14:00:00-05:00",      "endsAtLocal": "2026-11-22T14:30:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "zoom",        "joinUrl": "https://zoom.us/j/9302336753",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://zoom.us/j/9302336753",      "recurrence": null,      "series": {        "masterEventId": "sba938ba8604d9bdff564147c2",        "originalStartsAt": "2026-11-22T19:00:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.578Z",      "updatedAt": "2026-11-14T20:00:23.578Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sba938ba8604d9bdff564147c2_20261116T190000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261117T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-23T14:30:00Z",      "endsAt": "2026-11-23T14:45:00Z",      "startsAtLocal": "2026-11-23T09:30:00-05:00",      "endsAtLocal": "2026-11-23T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-23T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261117T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb381bb09d8b9512fdc96458a7",      "iCalUID": "sb381bb09d8b9512fdc96458a7@cal.pyas.io",      "title": "Company Offsite",      "description": null,      "location": "Lake House",      "startsAt": "2026-11-24T05:00:00Z",      "endsAt": "2026-11-26T05:00:00Z",      "startsAtLocal": "2026-11-24T00:00:00-05:00",      "endsAtLocal": "2026-11-26T00:00:00-05:00",      "timezone": "America/New_York",      "isAllDay": true,      "status": "confirmed",      "visibility": null,      "attendees": [],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": null,      "meetingUrl": null,      "recurrence": null,      "series": null,      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.643Z",      "updatedAt": "2026-11-14T20:00:23.643Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb381bb09d8b9512fdc96458a7",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261118T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-24T14:30:00Z",      "endsAt": "2026-11-24T14:45:00Z",      "startsAtLocal": "2026-11-24T09:30:00-05:00",      "endsAtLocal": "2026-11-24T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-24T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261118T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261119T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-25T14:30:00Z",      "endsAt": "2026-11-25T14:45:00Z",      "startsAtLocal": "2026-11-25T09:30:00-05:00",      "endsAtLocal": "2026-11-25T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-25T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261119T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261120T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-26T14:30:00Z",      "endsAt": "2026-11-26T14:45:00Z",      "startsAtLocal": "2026-11-26T09:30:00-05:00",      "endsAtLocal": "2026-11-26T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-26T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261120T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    }  ],  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {    "nextCursor": null,    "syncToken": null  }}

POST/v2/events

Create an event

Creates an event on a Google Calendar, Microsoft Outlook or virtual calendar. The event can include attendees, a recurrence rule, a meeting link (Google Meet, Microsoft Teams or Zoom), rooms and your own metadata. The v1 request body ({ accountId, calendarId, eventData }) is also accepted.

In the sandbox: conferencing creates the online meeting. Use meet on Google, teams on Outlook, or zoom with a Zoom account on any calendar ({ "provider": "zoom", "accountId": "sbx_fda58c5980_zoom" }).

Sends the request to your sandbox, never to live data.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and doesn't create the event twice.

Body

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. You can send it here or in the query.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary. You can send it here or in the query.

  • Name
    title
    Type
    string
    Required
    required
    Description
  • Name
    description
    Type
    string
    Description
  • Name
    location
    Type
    string
    Description
  • Name
    startsAt
    Type
    string
    Required
    required
    Description

    An ISO 8601 time with a zone, or a date such as 2026-03-15 for an all-day event.

  • Name
    endsAt
    Type
    string
    Required
    required
    Description

    The end of the event. Must be later than startsAt.

  • Name
    timezone
    Type
    string
    Description

    The IANA time zone of the event. Defaults to the calendar's time zone.

  • Name
    isAllDay
    Type
    boolean
    Description
  • Name
    attendees
    Type
    array of object
    Description

    At most 500 items.

  • Name
    rooms
    Type
    array of string
    Description

    The email addresses of the rooms to book (see GET /v2/rooms). On an update, send the complete list. At most 20 items.

  • Name
    recurrence
    Type
    string
    Description

    An RFC 5545 RRULE, such as FREQ=WEEKLY;BYDAY=MO.

  • Name
    conferencing
    Type
    object
    Description

    A meeting link, created with the event.

  • Name
    conferencing.provider
    Type
    string
    Required
    required
    Description

    One of meet, teams, zoom.

  • Name
    conferencing.accountId
    Type
    string
    Description

    For zoom, the connected Zoom account to create the meeting with.

  • Name
    conferencing.options
    Type
    ConferencingOptions
    Description

    Meeting settings, with the same field names for Zoom, Microsoft Teams and Google Meet. If the conferencing service doesn't support a setting, the request is rejected with the reason.

  • Name
    reminders
    Type
    array of object
    Description

    At most 5 items.

  • Name
    visibility
    Type
    string
    Description

    One of default, public, private, confidential.

  • Name
    notifyAttendees
    Type
    boolean
    Description

    Whether the provider emails attendees about this change. Outlook always emails them: there, false isn't applied, and the response's meta.notifyAttendees says so.

  • Name
    metadata
    Type
    Metadata
    Description

    Your own key-value pairs, stored by Pyas with the object. A value is text, a number, a boolean or a list of those.

  • Name
    showAs
    Type
    string
    Description

    One of busy, free, tentative, outOfOffice, workingElsewhere.

  • Name
    color
    Type
    string
    Description

    The color, as #rrggbb. The provider uses the closest color it offers.

  • Name
    guests
    Type
    object
    Description
  • Name
    guests.canModify
    Type
    boolean
    Description
  • Name
    guests.canInviteOthers
    Type
    boolean
    Description
  • Name
    guests.canSeeGuests
    Type
    boolean
    Description
  • Name
    guests.canProposeTimes
    Type
    boolean
    Description
  • Name
    importance
    Type
    string
    Description

    One of low, normal, high.

  • Name
    categories
    Type
    array of string
    Description

    At most 25 items.

  • Name
    responseRequested
    Type
    boolean
    Description
  • Name
    autoDecline
    Type
    object
    Description
  • Name
    autoDecline.mode
    Type
    string
    Description

    One of none, all, new.

  • Name
    autoDecline.message
    Type
    string | null
    Description
  • Name
    doNotDisturb
    Type
    boolean
    Description
  • Name
    workingLocation
    Type
    WorkingLocation
    Description
  • Name
    source
    Type
    object
    Description
  • Name
    source.url
    Type
    string
    Required
    required
    Description
  • Name
    source.title
    Type
    string
    Description
  • Name
    endTimeUnspecified
    Type
    boolean
    Description
  • Name
    privateCopy
    Type
    boolean
    Description
  • Name
    status
    Type
    string
    Description

    To cancel an event, send a DELETE request instead. One of confirmed, tentative.

  • Name
    providerOptions
    Type
    ProviderOptions
    Description

    Provider-specific fields that have no equivalent in v2, grouped by provider. Each group applies only to accounts on that provider.

  • Name
    eventType
    Type
    string
    Description

    Can be set only when creating an event, because providers don't allow it to be updated. One of default, focusTime, outOfOffice, workingLocation, birthday.

  • Name
    id
    Type
    string
    Description

    Google Calendar only. Your own event ID, 5 to 1024 characters from a-v and 0-9.

  • Name
    birthday
    Type
    object
    Description
  • Name
    birthday.type
    Type
    string
    Required
    required
    Description

    One of birthday, anniversary, custom, other, self.

Errors

Request

POST
/v2/events
curl -X POST 'https://api.pyas.io/v2/events' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "accountId": "sbx_fda58c5980_google",  "title": "Project kickoff",  "startsAt": "2026-11-16T15:00:00Z",  "endsAt": "2026-11-16T16:00:00Z",  "attendees": [    {      "email": "sam.patel@example.org",      "name": "Sam Patel"    }  ],  "reminders": [    {      "method": "popup",      "minutesBefore": 10    }  ],  "conferencing": {    "provider": "meet",    "options": {      "admission": "invited"    }  },  "metadata": {    "crmId": "opp_981"  }}'

Response

201 Created
{  "success": true,  "data": {    "id": "4904j5d3fo5d3gdr94nctoas1kht4b9r",    "iCalUID": "4904j5d3fo5d3gdr94nctoas1kht4b9r@google.com",    "title": "Project kickoff",    "description": null,    "location": null,    "startsAt": "2026-11-16T15:00:00Z",    "endsAt": "2026-11-16T16:00:00Z",    "startsAtLocal": "2026-11-16T10:00:00-05:00",    "endsAtLocal": "2026-11-16T11:00:00-05:00",    "timezone": "America/New_York",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [      {        "email": "sam.patel@example.org",        "name": "Sam Patel",        "response": "needsAction",        "optional": false,        "isOrganizer": false      }    ],    "rooms": [],    "organizer": {      "email": "avery.brooks@example.com",      "name": "Avery Brooks"    },    "conferencing": {      "provider": "meet",      "joinUrl": "https://meet.google.com/reo-kkbh-vib",      "meetingId": "reo-kkbh-vib",      "passcode": null,      "dialIn": [        {          "label": "+1 555-0100",          "number": "+1-555-0100",          "pin": "603577298"        }      ],      "settings": {        "admission": "invited",        "recording": "none",        "transcription": false      }    },    "meetingUrl": "https://meet.google.com/reo-kkbh-vib",    "recurrence": null,    "series": null,    "reminders": [      {        "method": "popup",        "minutesBefore": 10      }    ],    "attachments": [],    "showAs": "busy",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": null,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:25.552Z",    "updatedAt": "2026-11-14T20:00:25.552Z",    "version": "\"1\"",    "provider": "google",    "providerRefs": {      "eventId": "4904j5d3fo5d3gdr94nctoas1kht4b9r",      "calendarId": "avery.brooks@example.com",      "accountId": "sbx_fda58c5980_google"    },    "metadata": {      "crmId": "opp_981"    }  },  "provider": "google",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

GET/v2/events/{eventId}

Get an event

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Required
    required
    Description

    The accountId of the connected account.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

  • Name
    include
    Type
    string
    Description

    Additional fields to include, as a comma-separated list. raw is the provider's original payload. extendedProperties is the provider's extended properties. conferencingSettings is available only when you retrieve one event.

  • Name
    extendedPropertyIds
    Type
    string
    Description

    Outlook only, with include=extendedProperties. The IDs of up to 10 extended properties to read, of any type, such as String {guid} Name orderId, IntegerArray {guid} Name counts or Integer 0x8012.

  • Name
    fields
    Type
    string
    Description

    The top-level fields to return, comma-separated, such as id,title,startsAt,endsAt. The id field is always included.

Errors

Request

GET
/v2/events/{eventId}
curl 'https://api.pyas.io/v2/events/sb16ba49792a79d2ce856e789a?accountId=sbx_fda58c5980_1' \  -H "x-api-key: $PYAS_API_KEY"

Response

200 OK
{  "success": true,  "data": {    "id": "sb16ba49792a79d2ce856e789a",    "iCalUID": "sb16ba49792a79d2ce856e789a@cal.pyas.io",    "title": "Customer onboarding (Zoom)",    "description": null,    "location": null,    "startsAt": "2026-11-15T16:00:00Z",    "endsAt": "2026-11-15T17:00:00Z",    "startsAtLocal": "2026-11-15T11:00:00-05:00",    "endsAtLocal": "2026-11-15T12:00:00-05:00",    "timezone": "America/New_York",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [],    "rooms": [],    "organizer": {      "email": "calfda58c59801p@cal.pyas.io",      "name": "Avery Brooks"    },    "conferencing": {      "provider": "zoom",      "joinUrl": "https://zoom.us/j/67556028668?pwd=k1NV6aHSXvDYLT96s3yhRedsmHRIroO0",      "meetingId": "67556028668",      "passcode": "1wWGDz58DC",      "dialIn": [        {          "label": "US New York",          "number": "+1 555 0100",          "pin": "604224"        }      ]    },    "meetingUrl": "https://zoom.us/j/67556028668?pwd=k1NV6aHSXvDYLT96s3yhRedsmHRIroO0",    "recurrence": null,    "series": null,    "reminders": [],    "attachments": [],    "showAs": "busy",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": null,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:24.345Z",    "updatedAt": "2026-11-14T20:00:24.345Z",    "version": "\"1\"",    "provider": "pyas",    "providerRefs": {      "eventId": "sb16ba49792a79d2ce856e789a",      "calendarId": "calfda58c59801p",      "accountId": "sbx_fda58c5980_1"    },    "metadata": null  },  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

PATCH/v2/events/{eventId}

Update an event

Updates the event. Send only the fields to update. Setting a nullable field to null clears it. To update the event only if it hasn't changed since you read it, send its version in the If-Match header. The v1 request body is also accepted.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    If-Match
    Type
    string
    Description

    The event's version (or ETag). The request succeeds only if the event hasn't changed since that version. A stale version returns RESOURCE_CONFLICT.

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. You can send it here or in the query.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary. You can send it here or in the query.

  • Name
    title
    Type
    string
    Description
  • Name
    description
    Type
    string | null
    Description
  • Name
    location
    Type
    string | null
    Description
  • Name
    startsAt
    Type
    string
    Description

    An ISO 8601 time with a zone, or a date such as 2026-03-15 for an all-day event.

  • Name
    endsAt
    Type
    string
    Description

    The end of the event. Must be later than startsAt.

  • Name
    timezone
    Type
    string
    Description

    The IANA time zone of the event. Defaults to the calendar's time zone.

  • Name
    isAllDay
    Type
    boolean
    Description
  • Name
    attendees
    Type
    array of object
    Description

    At most 500 items.

  • Name
    rooms
    Type
    array of string
    Description

    The email addresses of the rooms to book (see GET /v2/rooms). On an update, send the complete list. At most 20 items.

  • Name
    recurrence
    Type
    string | null
    Description
  • Name
    conferencing
    Type
    object | null
    Description

    Send provider to create a new meeting, options alone to update the existing meeting's settings, or null to remove the meeting.

  • Name
    reminders
    Type
    array of object
    Description

    At most 5 items.

  • Name
    visibility
    Type
    string
    Description

    One of default, public, private, confidential.

  • Name
    notifyAttendees
    Type
    boolean
    Description

    Whether the provider emails attendees about this change. Outlook always emails them: there, false isn't applied, and the response's meta.notifyAttendees says so.

  • Name
    metadata
    Type
    Metadata
    Description

    Your own key-value pairs, stored by Pyas with the object. A value is text, a number, a boolean or a list of those.

  • Name
    showAs
    Type
    string
    Description

    One of busy, free, tentative, outOfOffice, workingElsewhere.

  • Name
    color
    Type
    string | null
    Description
  • Name
    guests
    Type
    object
    Description
  • Name
    guests.canModify
    Type
    boolean
    Description
  • Name
    guests.canInviteOthers
    Type
    boolean
    Description
  • Name
    guests.canSeeGuests
    Type
    boolean
    Description
  • Name
    guests.canProposeTimes
    Type
    boolean
    Description
  • Name
    importance
    Type
    string
    Description

    One of low, normal, high.

  • Name
    categories
    Type
    array of string
    Description

    At most 25 items.

  • Name
    responseRequested
    Type
    boolean
    Description
  • Name
    autoDecline
    Type
    object
    Description
  • Name
    autoDecline.mode
    Type
    string
    Description

    One of none, all, new.

  • Name
    autoDecline.message
    Type
    string | null
    Description
  • Name
    doNotDisturb
    Type
    boolean
    Description
  • Name
    workingLocation
    Type
    WorkingLocation
    Description
  • Name
    source
    Type
    object | null
    Description
  • Name
    endTimeUnspecified
    Type
    boolean
    Description
  • Name
    privateCopy
    Type
    boolean
    Description
  • Name
    status
    Type
    string
    Description

    To cancel an event, send a DELETE request instead. One of confirmed, tentative.

  • Name
    providerOptions
    Type
    ProviderOptions
    Description

    Provider-specific fields that have no equivalent in v2, grouped by provider. Each group applies only to accounts on that provider.

Errors

Request

PATCH
/v2/events/{eventId}
curl -X PATCH 'https://api.pyas.io/v2/events/sbf60c8ae6a9f17c1e3b6cc2b8?accountId=sbx_fda58c5980_1' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "title": "Product Sync (moved)",  "startsAt": "2026-11-15T17:00:00Z",  "endsAt": "2026-11-15T18:00:00Z"}'

Response

200 OK
{  "success": true,  "data": {    "id": "sbf60c8ae6a9f17c1e3b6cc2b8",    "iCalUID": "sbf60c8ae6a9f17c1e3b6cc2b8@cal.pyas.io",    "title": "Product Sync (moved)",    "description": null,    "location": null,    "startsAt": "2026-11-15T17:00:00Z",    "endsAt": "2026-11-15T18:00:00Z",    "startsAtLocal": "2026-11-15T12:00:00-05:00",    "endsAtLocal": "2026-11-15T13:00:00-05:00",    "timezone": "America/New_York",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [],    "rooms": [],    "organizer": {      "email": "calfda58c59801p@cal.pyas.io",      "name": "Avery Brooks"    },    "conferencing": null,    "meetingUrl": null,    "recurrence": null,    "series": null,    "reminders": [],    "attachments": [],    "showAs": "busy",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": null,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:24.751Z",    "updatedAt": "2026-11-14T20:00:25.757Z",    "version": "\"2\"",    "provider": "pyas",    "providerRefs": {      "eventId": "sbf60c8ae6a9f17c1e3b6cc2b8",      "calendarId": "calfda58c59801p",      "accountId": "sbx_fda58c5980_1"    },    "metadata": {      "project": "atlas"    }  },  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

DELETE/v2/events/{eventId}

Delete an event

Deletes the event and cancels it for attendees. To delete it only if it hasn't changed since you read it, send its version in the If-Match header.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Required
    required
    Description

    The accountId of the connected account.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

  • Name
    notifyAttendees
    Type
    boolean
    Description

    Whether attendees receive a cancellation notice.

  • Name
    message
    Type
    string
    Description

    A message to include with the cancellation. Outlook only, when the account is the organizer.

  • Name
    sendUpdates
    Type
    string
    Description

    The v1 name for notifyAttendees: all, externalOnly or none.

  • Name
    calendarId
    Type
    string
    Description

    The v1 name for calendarRef.

Headers

  • Name
    If-Match
    Type
    string
    Description

    The event's version (or ETag). The request succeeds only if the event hasn't changed since that version. A stale version returns RESOURCE_CONFLICT.

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Errors

Request

DELETE
/v2/events/{eventId}
curl -X DELETE 'https://api.pyas.io/v2/events/sb0ee767b6db44fa6f8a796921?accountId=sbx_fda58c5980_1&notifyAttendees=false' \  -H "x-api-key: $PYAS_API_KEY"

Response

200 OK
{  "success": true,  "data": null,  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/import

Import an event

Imports an event from another calendar system and keeps its iCalendar UID, organizer and sequence number. Available only on Google Calendar.

Sends the request to your sandbox, never to live data.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and doesn't create the event twice.

Body

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. You can send it here or in the query.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary. You can send it here or in the query.

  • Name
    title
    Type
    string
    Required
    required
    Description
  • Name
    description
    Type
    string
    Description
  • Name
    location
    Type
    string
    Description
  • Name
    startsAt
    Type
    string
    Required
    required
    Description

    An ISO 8601 time with a zone, or a date such as 2026-03-15 for an all-day event.

  • Name
    endsAt
    Type
    string
    Required
    required
    Description

    The end of the event. Must be later than startsAt.

  • Name
    timezone
    Type
    string
    Description

    The IANA time zone of the event. Defaults to the calendar's time zone.

  • Name
    isAllDay
    Type
    boolean
    Description
  • Name
    attendees
    Type
    array of object
    Description

    At most 500 items.

  • Name
    rooms
    Type
    array of string
    Description

    The email addresses of the rooms to book (see GET /v2/rooms). On an update, send the complete list. At most 20 items.

  • Name
    recurrence
    Type
    string
    Description

    An RFC 5545 RRULE, such as FREQ=WEEKLY;BYDAY=MO.

  • Name
    reminders
    Type
    array of object
    Description

    At most 5 items.

  • Name
    visibility
    Type
    string
    Description

    One of default, public, private, confidential.

  • Name
    notifyAttendees
    Type
    boolean
    Description

    Whether the provider emails attendees about this change. Outlook always emails them: there, false isn't applied, and the response's meta.notifyAttendees says so.

  • Name
    metadata
    Type
    Metadata
    Description

    Your own key-value pairs, stored by Pyas with the object. A value is text, a number, a boolean or a list of those.

  • Name
    showAs
    Type
    string
    Description

    One of busy, free, tentative, outOfOffice, workingElsewhere.

  • Name
    color
    Type
    string
    Description

    The color, as #rrggbb. The provider uses the closest color it offers.

  • Name
    guests
    Type
    object
    Description
  • Name
    guests.canModify
    Type
    boolean
    Description
  • Name
    guests.canInviteOthers
    Type
    boolean
    Description
  • Name
    guests.canSeeGuests
    Type
    boolean
    Description
  • Name
    guests.canProposeTimes
    Type
    boolean
    Description
  • Name
    importance
    Type
    string
    Description

    One of low, normal, high.

  • Name
    categories
    Type
    array of string
    Description

    At most 25 items.

  • Name
    responseRequested
    Type
    boolean
    Description
  • Name
    autoDecline
    Type
    object
    Description
  • Name
    autoDecline.mode
    Type
    string
    Description

    One of none, all, new.

  • Name
    autoDecline.message
    Type
    string | null
    Description
  • Name
    doNotDisturb
    Type
    boolean
    Description
  • Name
    workingLocation
    Type
    WorkingLocation
    Description
  • Name
    source
    Type
    object
    Description
  • Name
    source.url
    Type
    string
    Required
    required
    Description
  • Name
    source.title
    Type
    string
    Description
  • Name
    endTimeUnspecified
    Type
    boolean
    Description
  • Name
    privateCopy
    Type
    boolean
    Description
  • Name
    status
    Type
    string
    Description

    To cancel an event, send a DELETE request instead. One of confirmed, tentative.

  • Name
    providerOptions
    Type
    ProviderOptions
    Description

    Provider-specific fields that have no equivalent in v2, grouped by provider. Each group applies only to accounts on that provider.

  • Name
    eventType
    Type
    string
    Description

    Can be set only when creating an event, because providers don't allow it to be updated. One of default, focusTime, outOfOffice, workingLocation, birthday.

  • Name
    id
    Type
    string
    Description

    Google Calendar only. Your own event ID, 5 to 1024 characters from a-v and 0-9.

  • Name
    birthday
    Type
    object
    Description
  • Name
    birthday.type
    Type
    string
    Required
    required
    Description

    One of birthday, anniversary, custom, other, self.

  • Name
    iCalUID
    Type
    string
    Required
    required
    Description

    The event's iCalendar UID, which the imported event keeps.

  • Name
    organizer
    Type
    object
    Description
  • Name
    organizer.email
    Type
    string
    Required
    required
    Description
  • Name
    organizer.name
    Type
    string
    Description
  • Name
    sequence
    Type
    integer
    Description

    From 0 to 9007199254740991.

Errors

Request

POST
/v2/events/import
curl -X POST 'https://api.pyas.io/v2/events/import' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "accountId": "sbx_fda58c5980_1",  "iCalUID": "planning-2026@other-calendar.example",  "title": "Planning (imported)",  "startsAt": "2026-11-17T10:00:00Z",  "endsAt": "2026-11-17T11:00:00Z"}'

Response

201 Created
{  "success": true,  "data": {    "id": "evt2cece5c6brq8a1b6k3ge",    "iCalUID": "planning-2026@other-calendar.example",    "title": "Planning (imported)",    "description": null,    "location": null,    "startsAt": "2026-11-17T10:00:00Z",    "endsAt": "2026-11-17T11:00:00Z",    "startsAtLocal": "2026-11-17T05:00:00-05:00",    "endsAtLocal": "2026-11-17T06:00:00-05:00",    "timezone": "America/New_York",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [],    "rooms": [],    "organizer": {      "email": "calfda58c59801p@cal.pyas.io",      "name": "Avery Brooks"    },    "conferencing": null,    "meetingUrl": null,    "recurrence": null,    "series": null,    "reminders": [],    "attachments": [],    "showAs": "busy",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": null,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:25.565Z",    "updatedAt": "2026-11-14T20:00:25.565Z",    "version": "\"1\"",    "provider": "pyas",    "providerRefs": {      "eventId": "evt2cece5c6brq8a1b6k3ge",      "calendarId": "calfda58c59801p",      "accountId": "sbx_fda58c5980_1"    },    "metadata": null  },  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/quick

Create an event from text

Creates an event from a short text description, such as "Lunch with Sam Friday 1pm". The API interprets the text the same way on every provider. With dryRun, the API returns how it interpreted the text without creating the event.

Sends the request to your sandbox, never to live data.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and doesn't create the event twice.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description
  • Name
    text
    Type
    string
    Required
    required
    Description
  • Name
    timezone
    Type
    string
    Description

    The IANA time zone used to interpret the text. Defaults to the calendar's time zone.

  • Name
    durationMinutes
    Type
    integer
    Description

    The length of the event in minutes when the text doesn't include an end time. Defaults to 60. From 1 to 1440.

  • Name
    dryRun
    Type
    boolean
    Description

Errors

Request

POST
/v2/events/quick
curl -X POST 'https://api.pyas.io/v2/events/quick' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "accountId": "sbx_fda58c5980_1",  "text": "Lunch with Sam Friday 1pm",  "timezone": "America/New_York"}'

Response

201 Created
{  "success": true,  "data": {    "id": "evt0khtemav23djrva990ln",    "iCalUID": "evt0khtemav23djrva990ln@cal.pyas.io",    "title": "Lunch with Sam",    "description": null,    "location": null,    "startsAt": "2026-11-19T18:00:00Z",    "endsAt": "2026-11-19T19:00:00Z",    "startsAtLocal": "2026-11-19T13:00:00-05:00",    "endsAtLocal": "2026-11-19T14:00:00-05:00",    "timezone": "America/New_York",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [],    "rooms": [],    "organizer": {      "email": "calfda58c59801p@cal.pyas.io",      "name": "Avery Brooks"    },    "conferencing": null,    "meetingUrl": null,    "recurrence": null,    "series": null,    "reminders": [],    "attachments": [],    "showAs": "busy",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": null,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:25.590Z",    "updatedAt": "2026-11-14T20:00:25.590Z",    "version": "\"1\"",    "provider": "pyas",    "providerRefs": {      "eventId": "evt0khtemav23djrva990ln",      "calendarId": "calfda58c59801p",      "accountId": "sbx_fda58c5980_1"    },    "metadata": null  },  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {    "parsed": {      "title": "Lunch with Sam",      "startsAt": "2026-11-19T18:00:00Z",      "endsAt": "2026-11-19T19:00:00Z",      "isAllDay": false,      "timezone": "America/New_York",      "matched": "Friday 1pm"    }  }}

GET/v2/events/{eventId}/attachments

List an event's attachments

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Errors

Request

GET
/v2/events/{eventId}/attachments
curl 'https://api.pyas.io/v2/events/sbff8ee84b7939a1d7a4943ff6/attachments?accountId=sbx_fda58c5980_1' \  -H "x-api-key: $PYAS_API_KEY"

Response

200 OK
{  "success": true,  "data": [],  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/{eventId}/attachments

Attaches a link to a file stored elsewhere. Google Calendar accepts links to Google Drive files. Outlook calendars do not support link attachments, so upload the file with /attachments/file instead.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description
  • Name
    url
    Type
    string
    Required
    required
    Description

    The https URL of the file.

  • Name
    name
    Type
    string
    Description
  • Name
    mimeType
    Type
    string
    Description

Errors

Request

POST
/v2/events/{eventId}/attachments
curl -X POST 'https://api.pyas.io/v2/events/sbff8ee84b7939a1d7a4943ff6/attachments?accountId=sbx_fda58c5980_1' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "url": "https://example.com/agenda.pdf",  "name": "Agenda.pdf",  "mimeType": "application/pdf"}'

Response

201 Created
{  "success": true,  "data": {    "id": "att3j6jb64bbls3hsvo51vg",    "name": "Agenda.pdf",    "mimeType": "application/pdf",    "size": null,    "url": "https://example.com/agenda.pdf",    "kind": "link"  },  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/{eventId}/forward

Forward an invitation

In the sandbox: On Google, forwarding invites the recipients, so they are added to the attendees. On Outlook, the event is emailed to the recipients, with your comment if you include one.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description
  • Name
    recipients
    Type
    array of object
    Required
    required
    Description

    At most 100 items.

  • Name
    comment
    Type
    string
    Description

    A message to include with the forwarded invitation. Outlook only.

Errors

Request

POST
/v2/events/{eventId}/forward
curl -X POST 'https://api.pyas.io/v2/events/sg314c0fd5415a58a532cd018d/forward?accountId=sbx_fda58c5980_google' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "recipients": [    {      "email": "colleague@example.com"    }  ]}'

Response

200 OK
{  "success": true,  "data": null,  "provider": "google",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

GET/v2/events/{eventId}/instances

List occurrences of a recurring event

Returns each occurrence of a recurring event within a time window as a separate event, with series set.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Required
    required
    Description

    The accountId of the connected account.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

  • Name
    from
    Type
    string (date-time)
    Description

    The start of the time window. Required.

  • Name
    to
    Type
    string (date-time)
    Description

    The end of the time window. Required.

  • Name
    limit
    Type
    integer
    Description

    The maximum number of results in one page. Defaults to 100. From 1 to 250.

  • Name
    cursor
    Type
    string
    Description

    The nextCursor from the previous page.

  • Name
    include
    Type
    string
    Description

    Additional fields to include, as a comma-separated list. raw is the provider's original payload. extendedProperties is the provider's extended properties. conferencingSettings is available only when you retrieve one event.

  • Name
    extendedPropertyIds
    Type
    string
    Description
  • Name
    fields
    Type
    string
    Description

    The top-level fields to return, comma-separated, such as id,title,startsAt,endsAt. The id field is always included.

Errors

Request

GET
/v2/events/{eventId}/instances
curl 'https://api.pyas.io/v2/events/sb559d0de42dffb4f183c156f8/instances?accountId=sbx_fda58c5980_1&from=2026-11-14T00%3A00%3A00Z&to=2026-11-21T00%3A00%3A00Z' \  -H "x-api-key: $PYAS_API_KEY"

Response

200 OK
{  "success": true,  "data": [    {      "id": "sb559d0de42dffb4f183c156f8_20261109T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-15T14:30:00Z",      "endsAt": "2026-11-15T14:45:00Z",      "startsAtLocal": "2026-11-15T09:30:00-05:00",      "endsAtLocal": "2026-11-15T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-15T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261109T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261110T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-16T14:30:00Z",      "endsAt": "2026-11-16T14:45:00Z",      "startsAtLocal": "2026-11-16T09:30:00-05:00",      "endsAtLocal": "2026-11-16T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-16T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261110T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261111T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-17T14:30:00Z",      "endsAt": "2026-11-17T14:45:00Z",      "startsAtLocal": "2026-11-17T09:30:00-05:00",      "endsAtLocal": "2026-11-17T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-17T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261111T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261112T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-18T14:30:00Z",      "endsAt": "2026-11-18T14:45:00Z",      "startsAtLocal": "2026-11-18T09:30:00-05:00",      "endsAtLocal": "2026-11-18T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-18T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261112T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    },    {      "id": "sb559d0de42dffb4f183c156f8_20261113T143000Z",      "iCalUID": "sb559d0de42dffb4f183c156f8@cal.pyas.io",      "title": "Daily Standup",      "description": null,      "location": null,      "startsAt": "2026-11-19T14:30:00Z",      "endsAt": "2026-11-19T14:45:00Z",      "startsAtLocal": "2026-11-19T09:30:00-05:00",      "endsAtLocal": "2026-11-19T09:45:00-05:00",      "timezone": "America/New_York",      "isAllDay": false,      "status": "confirmed",      "visibility": null,      "attendees": [        {          "email": "teammate1.1@example.com",          "name": "Morgan",          "response": "accepted",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate2.1@example.com",          "name": "Casey",          "response": "tentative",          "optional": false,          "isOrganizer": false        },        {          "email": "teammate3.1@example.com",          "name": "Drew",          "response": "declined",          "optional": false,          "isOrganizer": false        }      ],      "rooms": [],      "organizer": {        "email": "calfda58c59801p@cal.pyas.io",        "name": "Avery Brooks"      },      "conferencing": {        "provider": "meet",        "joinUrl": "https://meet.google.com/sbx-4978-a3b1",        "meetingId": null,        "passcode": null,        "dialIn": []      },      "meetingUrl": "https://meet.google.com/sbx-4978-a3b1",      "recurrence": null,      "series": {        "masterEventId": "sb559d0de42dffb4f183c156f8",        "originalStartsAt": "2026-11-19T14:30:00Z",        "isException": false      },      "reminders": [],      "attachments": [],      "showAs": "busy",      "eventType": "default",      "color": null,      "guests": {        "canModify": false,        "canInviteOthers": true,        "canSeeGuests": true,        "canProposeTimes": true      },      "importance": null,      "categories": [],      "responseRequested": null,      "autoDecline": null,      "doNotDisturb": null,      "workingLocation": null,      "birthday": null,      "source": null,      "endTimeUnspecified": null,      "privateCopy": null,      "createdAt": "2026-11-14T20:00:23.554Z",      "updatedAt": "2026-11-14T20:00:23.554Z",      "version": "\"1\"",      "provider": "pyas",      "providerRefs": {        "eventId": "sb559d0de42dffb4f183c156f8_20261113T143000Z",        "calendarId": "calfda58c59801p",        "accountId": "sbx_fda58c5980_1"      },      "metadata": null    }  ],  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {    "nextCursor": null  }}

POST/v2/events/{eventId}/move

Move an event to another calendar

Moves an event to another calendar. Outlook has no move operation, so on Outlook the event is recreated with a new ID, and the response includes meta.recreated and meta.previousId. To move an Outlook event that has attendees, send recreate: true.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description
  • Name
    destinationCalendarRef
    Type
    string
    Required
    required
    Description
  • Name
    notifyAttendees
    Type
    boolean
    Description
  • Name
    recreate
    Type
    boolean
    Description

    Outlook only. Confirms that the event can be recreated. Attendees receive a cancellation and a new invitation.

Errors

Request

POST
/v2/events/{eventId}/move
curl -X POST 'https://api.pyas.io/v2/events/sbce3d2d42c2a4d690a9860fbb/move?accountId=sbx_fda58c5980_1' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "destinationCalendarRef": "calfda58c59801w"}'

Response

200 OK
{  "success": true,  "data": {    "id": "sbce3d2d42c2a4d690a9860fbb",    "iCalUID": "sbce3d2d42c2a4d690a9860fbb@cal.pyas.io",    "title": "Lunch with Alex",    "description": null,    "location": "Corner Cafe",    "startsAt": "2026-11-14T17:30:00Z",    "endsAt": "2026-11-14T18:30:00Z",    "startsAtLocal": "2026-11-14T12:30:00-05:00",    "endsAtLocal": "2026-11-14T13:30:00-05:00",    "timezone": "America/New_York",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [],    "rooms": [],    "organizer": {      "email": "calfda58c59801p@cal.pyas.io",      "name": "Avery Brooks"    },    "conferencing": null,    "meetingUrl": null,    "recurrence": null,    "series": null,    "reminders": [],    "attachments": [],    "showAs": "free",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": null,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:24.771Z",    "updatedAt": "2026-11-14T20:00:25.616Z",    "version": "\"2\"",    "provider": "pyas",    "providerRefs": {      "eventId": "sbce3d2d42c2a4d690a9860fbb",      "calendarId": "calfda58c59801w",      "accountId": "sbx_fda58c5980_1"    },    "metadata": null  },  "provider": "pyas",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {    "recreated": false  }}

POST/v2/events/{eventId}/respond

Respond to an invitation

Sets this account's response to an invitation: accepted, declined or tentative. You can include a comment and, on Outlook, propose a different time.

In the sandbox: Outlook accepts a proposed time with tentative or declined. On Google, the response is recorded without a proposed time. The organizer can't respond to their own event.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description
  • Name
    response
    Type
    string
    Required
    required
    Description

    One of accepted, declined, tentative.

  • Name
    comment
    Type
    string
    Description
  • Name
    proposedTime
    Type
    object
    Description

    A different time to propose. Outlook only, with declined or tentative.

  • Name
    proposedTime.startsAt
    Type
    string
    Required
    required
    Description
  • Name
    proposedTime.endsAt
    Type
    string
    Required
    required
    Description
  • Name
    notifyOrganizer
    Type
    boolean
    Description

    Whether to notify the organizer. Defaults to true.

Errors

Request

POST
/v2/events/{eventId}/respond
curl -X POST 'https://api.pyas.io/v2/events/AAMkAaqP10JDPp4BdGjaZyg2dF63m6W8eIe6XhxRsmKdLG38AAA%3D/respond?accountId=sbx_fda58c5980_outlook' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "response": "tentative",  "comment": "Could we do later in the day?",  "proposedTime": {    "startsAt": "2026-11-16T16:00:00Z",    "endsAt": "2026-11-16T17:00:00Z"  }}'

Response

200 OK
{  "success": true,  "data": {    "id": "AAMkAaqP10JDPp4BdGjaZyg2dF63m6W8eIe6XhxRsmKdLG38AAA=",    "iCalUID": "040000008200E00074C5B7101A82E008692EB216F94CCB328CF8D509CF2E22779026B52F5F94CC7ACE760D0B",    "title": "Vendor demo",    "description": null,    "location": null,    "startsAt": "2026-11-16T15:00:00Z",    "endsAt": "2026-11-16T16:00:00Z",    "startsAtLocal": "2026-11-16T15:00:00+00:00",    "endsAtLocal": "2026-11-16T16:00:00+00:00",    "timezone": "Europe/London",    "isAllDay": false,    "status": "confirmed",    "visibility": null,    "attendees": [      {        "email": "sam.patel@example.org",        "name": "Sam Patel",        "response": "tentative",        "optional": false,        "isOrganizer": false      },      {        "email": "jordan.lee@example.org",        "name": "Jordan Lee",        "response": "tentative",        "optional": false,        "isOrganizer": false      }    ],    "rooms": [],    "organizer": {      "email": "riley.chen@example.org",      "name": "Riley Chen"    },    "conferencing": {      "provider": "teams",      "joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_9PnbW93DKzErExDGHH4VYkdBB4uPoz6z%40thread.v2/0",      "meetingId": "354 292 634 861",      "passcode": "RMXPxx",      "dialIn": [        {          "label": "Toll",          "number": "+1 555-0101",          "pin": "769655823"        }      ]    },    "meetingUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_9PnbW93DKzErExDGHH4VYkdBB4uPoz6z%40thread.v2/0",    "recurrence": null,    "series": null,    "reminders": [],    "attachments": [],    "showAs": "busy",    "eventType": "default",    "color": null,    "guests": {      "canModify": false,      "canInviteOthers": true,      "canSeeGuests": true,      "canProposeTimes": true    },    "importance": null,    "categories": [],    "responseRequested": true,    "autoDecline": null,    "doNotDisturb": null,    "workingLocation": null,    "birthday": null,    "source": null,    "endTimeUnspecified": null,    "privateCopy": null,    "createdAt": "2026-11-14T20:00:25.447Z",    "updatedAt": "2026-11-14T20:00:25.604Z",    "version": "\"2\"",    "provider": "microsoft",    "providerRefs": {      "eventId": "AAMkAaqP10JDPp4BdGjaZyg2dF63m6W8eIe6XhxRsmKdLG38AAA=",      "calendarId": "AAMkAU662pGNAu0JgQ5Fpjf1wipv7j82pYQuBvDbbTPOq8h4AAA=",      "accountId": "sbx_fda58c5980_outlook"    },    "metadata": null  },  "provider": "microsoft",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

DELETE/v2/events/{eventId}/attachments/{attachmentId}

Delete an attachment

In the sandbox: Use an ID from GET /v2/events/{eventId}/attachments. Deleting an attachment that no longer exists also returns 200, on every provider.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

  • Name
    attachmentId
    Type
    string
    Required
    required
    Description

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Errors

Request

DELETE
/v2/events/{eventId}/attachments/{attachmentId}
curl -X DELETE 'https://api.pyas.io/v2/events/sg314c0fd5415a58a532cd018d/attachments/1tTOPj3dD9zJTxnuHOHkvShgQGzYdlWUb?accountId=sbx_fda58c5980_google' \  -H "x-api-key: $PYAS_API_KEY"

Response

200 OK
{  "success": true,  "data": null,  "provider": "google",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/{eventId}/attachments/file

Upload a file to an event

Uploads a file and attaches it to the event. Send the file as the request body with its own Content-Type. Send JSON files as application/octet-stream with ?contentType=. With a Content-Length header, the file is streamed to the provider. On Google Calendar, the file is stored in Google Drive. Files can be up to 25 MB. The account status shows the limit in capabilities.maxAttachmentBytes. For a larger file, attach a link instead.

In the sandbox: Outlook stores the file on the event. Google uploads it to the person's Google Drive and attaches it. The sandbox stores files up to 4 MB.

This endpoint accepts a file upload. Send it from your code or with cURL.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

  • Name
    name
    Type
    string
    Required
    required
    Description

    The file name.

  • Name
    contentType
    Type
    string
    Description

    The file's media type, when the request's own Content-Type can't specify it.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Errors

Request

POST
/v2/events/{eventId}/attachments/file
curl -X POST 'https://api.pyas.io/v2/events/AAMkABPQiivgqLU9tm9fMz97PHOQGGb0wy-xR-Eg22SuOCP8AAA%3D/attachments/file?accountId=sbx_fda58c5980_outlook&name=notes.txt' \  -H "x-api-key: $PYAS_API_KEY" \  -F "file=@agenda.pdf"

Response

201 Created
{  "success": true,  "data": {    "id": "AAMkAdMhPAQjkB4bvKK-QcQsbZhkMIgklLZqpoVA-IeLqlhIAAA=",    "name": "notes.txt",    "mimeType": "application/octet-stream",    "size": 28,    "url": null,    "kind": "file"  },  "provider": "microsoft",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/{eventId}/reminder/dismiss

Dismiss a reminder

Dismisses the event's reminder. Outlook only.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description

Errors

Request

POST
/v2/events/{eventId}/reminder/dismiss
curl -X POST 'https://api.pyas.io/v2/events/AAMkABPQiivgqLU9tm9fMz97PHOQGGb0wy-xR-Eg22SuOCP8AAA%3D/reminder/dismiss?accountId=sbx_fda58c5980_outlook' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{}'

Response

200 OK
{  "success": true,  "data": null,  "provider": "microsoft",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

POST/v2/events/{eventId}/reminder/snooze

Snooze a reminder

Shows the reminder again at a later time. Outlook only.

In the sandbox: Reminder state is available only on Outlook. For Google accounts, the API returns an error, because Google's API doesn't store reminder state.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Headers

  • Name
    Idempotency-Key
    Type
    string
    Description

    A unique key that makes the request safe to retry. A retry with the same key returns the original response and does not make the change twice. Keys are kept for 24 hours.

Body

  • Name
    accountId
    Type
    string
    Description
  • Name
    calendarRef
    Type
    string
    Description
  • Name
    until
    Type
    string (date-time)
    Required
    required
    Description

    When to show the reminder again, as a future ISO 8601 time with a zone.

Errors

Request

POST
/v2/events/{eventId}/reminder/snooze
curl -X POST 'https://api.pyas.io/v2/events/AAMkABPQiivgqLU9tm9fMz97PHOQGGb0wy-xR-Eg22SuOCP8AAA%3D/reminder/snooze?accountId=sbx_fda58c5980_outlook' \  -H "x-api-key: $PYAS_API_KEY" \  -H "content-type: application/json" \  -d '{  "until": "2026-11-15T09:55:00Z"}'

Response

200 OK
{  "success": true,  "data": null,  "provider": "microsoft",  "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d",  "meta": {}}

GET/v2/events/{eventId}/attachments/{attachmentId}/content

Download an attachment

Returns the file contents of an Outlook attachment. For Google Drive files and links, responds with 303 See Other and the file's location.

In the sandbox: A file on an Outlook event is returned as its bytes. A link or a Google Drive file is returned as a redirect to its location.

Sends the request to your sandbox, never to live data.

Path parameters

  • Name
    eventId
    Type
    string
    Required
    required
    Description

    The ID of the event.

  • Name
    attachmentId
    Type
    string
    Required
    required
    Description

Query parameters

  • Name
    accountId
    Type
    string
    Description

    The accountId of the connected account. Required here or in the request body of a write.

  • Name
    calendarRef
    Type
    string
    Description

    The calendar to use. Defaults to primary.

Errors

Request

GET
/v2/events/{eventId}/attachments/{attachmentId}/content
curl 'https://api.pyas.io/v2/events/AAMkABPQiivgqLU9tm9fMz97PHOQGGb0wy-xR-Eg22SuOCP8AAA%3D/attachments/AAMkArXFqduOUNsr8qIMCtJ66XOMYtyB4ZLBHoqtmM72Np-gAAA%3D/content?accountId=sbx_fda58c5980_outlook' \  -H "x-api-key: $PYAS_API_KEY"