PUT /api/v1/calendar-connections/{connectionId}
Select the writable calendar used for call events and external busy checks.
Use an organization-bound API key. Connection owner with owner/admin or closer permission. The key acts with its bearer’s current permissions, and never accepts an organization or actor in the body.
| Organization role | Access |
|---|---|
| OWNER | Only own connection for selection/consent |
| ADMIN | Same organization boundary |
| MEMBER | Only the explicit business role and scope described above |
| Business requirement | Rule |
|---|---|
| Resource scope | Current organization and authorized call/connection |
| Participation | Connection owner with owner/admin or closer permission. |
The UUID identifies a booking or connection visible in the organization attached to the key.
Idempotency-Key: a unique intention identifier. Reuse it only when retrying the identical request.
{
"calendarId": "provider-calendar-id"
}curl -X PUT 'https://www.cohorte.io/api/v1/calendar-connections/{connectionId}' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Idempotency-Key: 6e5dd303-43e5-4a41-92ea-030ac9680394' \
-H 'Content-Type: application/json' \
--data '{"calendarId": "provider-calendar-id"}'200 returns the result. Invalid input is refused; missing authentication returns 401, insufficient permission 403, and inaccessible resources 404. Provider failures never imply successful synchronization.
Updated connection status, selected calendar and error.
{
"data": {
"id": "11111111-1111-4111-8111-111111111111",
"userId": "22222222-2222-4222-8222-222222222222",
"provider": "google",
"configured": true,
"status": "connected",
"calendarId": "calendar-id",
"calendarName": "Work",
"error": null
},
"success": true,
"correlationId": "33333333-3333-4333-8333-333333333333"
}Cohorte owns call fields. The provider supplies independent busy periods. Connected-provider failures block affected availability. Google and Outlook require human consent. Remote edits do not alter calls. Credentials and personal prospect-management links are never returned or written to external calendar events.