Using API v1? See what changes in v2, or the v1 docs
CONNECTION_SCOPE_INSUFFICIENT
The connected account did not grant a permission that this operation requires.
HTTP status: 422. Retrying the same request returns the same error.
What to do
Have the user reconnect through PyasConnect and accept every permission.
Hint returned with the error: Ask the user to reconnect and approve all requested permissions.
Why it happens
- The user unchecked a permission on the consent screen
- The operation requires a scope that was added after the user connected
Endpoints that return it
- Get calendar settings
GET /v2/accounts/{accountId}/settings - Update calendar settings
PATCH /v2/accounts/{accountId}/settings - List calendar groups
GET /v2/calendar-groups - Create a calendar group
POST /v2/calendar-groups - List calendars
GET /v2/calendars - Create a calendar
POST /v2/calendars - Rename a calendar group
PATCH /v2/calendar-groups/{groupId} - Delete a calendar group
DELETE /v2/calendar-groups/{groupId} - Get a calendar
GET /v2/calendars/{calendarRef} - Update a calendar
PATCH /v2/calendars/{calendarRef} - Delete a calendar
DELETE /v2/calendars/{calendarRef} - Subscribe to a calendar
POST /v2/calendars/subscribe - List categories
GET /v2/calendars/{calendarRef}/categories - Create a category
POST /v2/calendars/{calendarRef}/categories - List calendar permissions
GET /v2/calendars/{calendarRef}/permissions - Share a calendar
POST /v2/calendars/{calendarRef}/permissions - Unsubscribe from a calendar
DELETE /v2/calendars/{calendarRef}/subscription - Update a category
PATCH /v2/calendars/{calendarRef}/categories/{categoryId} - Delete a category
DELETE /v2/calendars/{calendarRef}/categories/{categoryId} - Update a calendar permission
PATCH /v2/calendars/{calendarRef}/permissions/{permissionId} - Delete a calendar permission
DELETE /v2/calendars/{calendarRef}/permissions/{permissionId} - List events
GET /v2/events - Create an event
POST /v2/events - Get an event
GET /v2/events/{eventId} - Update an event
PATCH /v2/events/{eventId} - Delete an event
DELETE /v2/events/{eventId} - Import an event
POST /v2/events/import - Create an event from text
POST /v2/events/quick - List an event's attachments
GET /v2/events/{eventId}/attachments - Attach a link
POST /v2/events/{eventId}/attachments - Forward an invitation
POST /v2/events/{eventId}/forward - List occurrences of a recurring event
GET /v2/events/{eventId}/instances - Move an event to another calendar
POST /v2/events/{eventId}/move - Respond to an invitation
POST /v2/events/{eventId}/respond - Delete an attachment
DELETE /v2/events/{eventId}/attachments/{attachmentId} - Upload a file to an event
POST /v2/events/{eventId}/attachments/file - Dismiss a reminder
POST /v2/events/{eventId}/reminder/dismiss - Snooze a reminder
POST /v2/events/{eventId}/reminder/snooze - Download an attachment
GET /v2/events/{eventId}/attachments/{attachmentId}/content - List rooms and resources
GET /v2/rooms - List meetings
GET /v2/meetings - Create a meeting
POST /v2/meetings - Get a meeting
GET /v2/meetings/{meetingId} - Update a meeting
PATCH /v2/meetings/{meetingId} - Delete a meeting
DELETE /v2/meetings/{meetingId}