Skip to main content

Calendar

Calendar events for users, and the external calendars (Google or Microsoft) their events sync to.

📄️ Add Calendar Event

Creates a new calendar event with the specified details including type, date, duration, and location. Omit `ownerId` to make the authenticated user the owner. Requires the `event:save` permission for the owner or attendee. Consultations created without an attendee may have a closer assigned automatically, depending on settings; if closer availability is enforced and no closer is available, the request fails unless `errorOnCloserUnavailable` is `false`. Use `/calendar/event/upsert` instead when syncing from an external system or when you do not know whether the event already exists.

📄️ List Calendar Connections

Lists the authenticated user's external calendar connections: for each connected provider (Google Calendar or Microsoft Outlook), the ID of the calendar in that account that Terros writes the user's events to, and `invalid`, which means a Google sync has failed since the user last connected (it does not mean sync stopped). An empty `connections` array means no external calendar is connected, so events are not synced anywhere. Use it to answer whether a user's events reach Google or Microsoft and which calendar they land in; the event itself comes from `/calendar/event/get`. There is no `userId` parameter: to see another user's connections, make the request as that user (impersonating them needs `user:login`). Access tokens are never returned. `calendarId` is absent until the first event syncs, and the calendar's name is not stored.