Email
Inboxes
Marketing
SMS
Sign
Verify
Forms
Scheduling
Hooks
Risk
Platform
Choose how a calendar counts
PATCH
/v1/scheduling/hosts/{host}/calendars/{calendar_id}
Whether its busy times block slots, and whether bookings are written to it.
bearerAuthheader
AuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
host*stringThe host's id or uid.
calendar_id*stringThe calendar'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.
Value in
"2026-10-10"application/json- body
- body
- …
read_busy?booleanwrite_target?booleanBookings are written to one calendar; setting this moves it here.
The host's connections.
application/json- response
- response
- …
object*"list"Value in
"list"data*array<>has_more*booleanimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.scheduling.calendars.update({ value: "host_01kd2m9a0b1c2d3e4f5g6h7j8m",}, { value: "cal_01kd2m9a0b1c2d3e4f5g6h7j8m",}, { read_busy: true,});{ "object": "list", "data": [ { "object": "scheduling.calendar_connection", "id": "calconn_01kd2m9a0b1c2d3e4f5g6h7j8m", "host": "host_01kd2m9a0b1c2d3e4f5g6h7j8m", "provider": "google", "account": "ana@example.com", "status": "active", "calendars": [ { "id": "cal_01kd2m9a0b1c2d3e4f5g6h7j8m", "external_id": "ana@example.com", "read_busy": true, "write_target": true, "verified_at": "2027-01-01T10:00:00.000Z" } ], "created_at": "2027-01-01T10:00:00.000Z" } ], "has_more": false}