- Start connecting a calendar POST
- List a host's calendar connections GET
- Connect a calendar with a password POST
- Disconnect a calendar DELETE
- Choose how a calendar counts PATCH
- List calendar delegations GET
- Add a calendar delegation POST
- Get a calendar delegation GET
- Update a calendar delegation PATCH
- Delete a calendar delegation DELETE
- Verify a calendar delegation POST
- Set a simulated calendar's busy times PUT
Update a calendar delegation
New credentials are tried on the verified mailbox before they replace the old ones, and end an outage if they work.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
id*stringThe delegation's id.
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
"2026-10-10"application/json- body
- body
- …
match_host_email?booleanWhether a host's email picks their mailbox when calendar_account isn't set. Turn it off if end users can type their own email into your app: otherwise one could name a colleague's address and reach that calendar.
service_account_key?stringA new key. It's tried on the verified mailbox before it replaces the old one.
length <= 10000client_secret?stringA new client secret. It's tried on the verified mailbox before it replaces the old one.
length <= 1000secret_expires_at?|When the Entra client secret expires. Owners and admins are warned 14 days before.
date-timeThe delegation.
application/json- response
- response
- …
object*"scheduling.calendar_delegation""scheduling.calendar_delegation"id*stringprovider*string"google""microsoft"domain*stringstatus*stringpending: not verified yet. failing: the provider refused access, and its hosts aren't offered until it's back. deleting: its connections are being removed.
"pending""active""failing""deleting"match_host_email*booleanclient_id*stringGoogle: the numeric client ID your Workspace admin authorizes.
tenant_id*string|nullscopes*array<string>What to authorize: OAuth scopes in Google's Admin console, the application permission in Entra.
verified_account*string|nulllast_error_code*string|nullfailing_since*string|nullsecret_expires_at*string|nullhosts_connected*integerhosts_failed*integerHosts whose mailbox can't be reached, or who are out while this is failing.
created_at*stringupdated_at*stringimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.scheduling.calendarDelegations.update("caldlg_01kd2m9a0b1c2d3e4f5g6h7j8m", { match_host_email: false,});{ "object": "scheduling.calendar_delegation", "id": "caldlg_01kd2m9a0b1c2d3e4f5g6h7j8m", "provider": "google", "domain": "example.com", "status": "active", "match_host_email": true, "client_id": "117063284751902345678", "tenant_id": null, "scopes": [ "https://www.googleapis.com/auth/calendar.events.freebusy" ], "verified_account": "ana@example.com", "last_error_code": null, "failing_since": null, "secret_expires_at": null, "hosts_connected": 240, "hosts_failed": 1, "created_at": "2027-01-01T10:00:00.000Z", "updated_at": "2027-01-01T10:00:00.000Z"}