Using API v1? See what changes in v2, or the v1 docs
Invitations
Invitations sent for virtual calendars.
The examples use IDs from a sample sandbox. Your sandbox has the same people, calendars and events with its own IDs, which GET /v2/sandbox returns. When you're signed in to the dashboard, Try it fills in your IDs and sends the request to your sandbox, never to live data.
List invitations
Lists the invitations that virtual calendars sent for the app, newest first. The sandbox doesn't send invitations. Each one is listed with the status captured and the iCalendar text attendees would have received.
Query parameters
- Name
accountId- Type
- string
- Description
- Name
eventId- Type
- string
- Description
- Name
status- Type
- string
- Description
One of
queued,sent,captured,held,suppressed,failed.
- Name
limit- Type
- integer
- Description
The maximum number of results in one page. Defaults to 50. From 1 to 200.
- Name
cursor- Type
- string
- Description
The
nextCursorfrom the previous page.
Errors
VALIDATION_INVALID_QUERY(400): A query parameter is not valid.AUTH_INVALID_KEY(401): The API key is missing, unknown or revoked.AUTH_EXPIRED_KEY(401): The API key has expired.AUTH_INSUFFICIENT_SCOPE(403): The API key or session does not have permission to make this request.RATE_LIMIT_EXCEEDED(429): The request rate exceeds this plan's rate limit.RATE_LIMIT_BURST(429): Too many requests were sent in a short period.INTERNAL_ERROR(500): Something went wrong on our end.
Request
curl 'https://api.pyas.io/v2/invitations?accountId=sbx_fda58c5980_1' \ -H "x-api-key: $PYAS_API_KEY"Response
{ "success": true, "data": [], "provider": null, "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d", "meta": { "nextCursor": null }}Get an invitation
In the sandbox: Use an ID from GET /v2/invitations. An event with attendees on a virtual calendar creates invitations.
Path parameters
- Name
invitationId- Type
- string
- Required
- required
- Description
Errors
AUTH_INVALID_KEY(401): The API key is missing, unknown or revoked.AUTH_EXPIRED_KEY(401): The API key has expired.AUTH_INSUFFICIENT_SCOPE(403): The API key or session does not have permission to make this request.RESOURCE_NOT_FOUND(404): The calendar or event was not found.RATE_LIMIT_EXCEEDED(429): The request rate exceeds this plan's rate limit.RATE_LIMIT_BURST(429): Too many requests were sent in a short period.INTERNAL_ERROR(500): Something went wrong on our end.
Request
curl 'https://api.pyas.io/v2/invitations/inv_from_the_list' \ -H "x-api-key: $PYAS_API_KEY"Response
{ "success": true, "data": { "id": "inv_23871b494bdc3886eaf3bef0", "accountId": "sbx_fda58c5980_1", "calendarId": "calfda58c59801p", "eventId": "evtrsm7egur84pa64mdnoet", "method": "REQUEST", "kind": "new", "to": "sam.patel@example.org", "status": "captured", "reason": null, "subject": "Invitation: Project kickoff @ Tue, Nov 10, 2026 10:00 AM to 11:00 AM (America/New_York)", "createdAt": "2026-11-14T20:00:32.966Z", "sentAt": null, "bounced": false, "complained": false, "ics": "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//Pyas//Virtual calendar//EN\r\nCALSCALE:GREGORIAN\r\nMETHOD:REQUEST\r\nBEGIN:VTIMEZONE\r\nTZID:America/New_York\r\nBEGIN:STANDARD\r\nDTSTART:19700101T000000\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0500\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nDTSTART:20260308T020000\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nDTSTART:20261101T020000\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nEND:STANDARD\r\nBEGIN:DAYLIGHT\r\nDTSTART:20270314T020000\r\nTZOFFSETFROM:-0500\r\nTZOFFSETTO:-0400\r\nEND:DAYLIGHT\r\nBEGIN:STANDARD\r\nDTSTART:20271107T020000\r\nTZOFFSETFROM:-0400\r\nTZOFFSETTO:-0500\r\nEND:STANDARD\r\nEND:VTIMEZONE\r\nBEGIN:VEVENT\r\nUID:evtrsm7egur84pa64mdnoet@cal.pyas.io\r\nSEQUENCE:0\r\nDTSTAMP:20261108T200032Z\r\nDTSTART;TZID=America/New_York:20261110T100000\r\nDTEND;TZID=America/New_York:20261110T110000\r\nSUMMARY:Project kickoff\r\nORGANIZER;CN=Avery Brooks:mailto:calfda58c59801p@cal.pyas.io\r\nATTENDEE;CN=Sam Patel;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:\r\n mailto:sam.patel@example.org\r\nSTATUS:CONFIRMED\r\nTRANSP:OPAQUE\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n" }, "provider": null, "traceId": "trc_5f2a9c1e7b3d4a6f8e0c2b1d", "meta": {}}