Connect a calendar with a password

POST
/v1/scheduling/hosts/{host}/calendar_connections

CalDAV (Apple and others) with an app password, or, in sandbox environments, a simulated calendar whose busy times you set yourself. Google and Microsoft use authorize.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.

Path Parameters

host*string

The host's id or uid.

Header Parameters

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"

Request Body

application/json
  1. body
provider*"caldav"
Value in"caldav"
url*string

The server's https URL.

Formaturi
Lengthlength <= 2000
username*string
Length1 <= length <= 320
password*string

An app-specific password. Encrypted, and never returned.

Length1 <= length <= 500

Response Body

The connection.

application/json
  1. response
object*"scheduling.calendar_connection"
Value in"scheduling.calendar_connection"
id*string
host*string
provider*string
Value in"google""microsoft""caldav""simulated"
account*string
status*string

needs_reauth: access was lost, and this host isn't offered until it's back.

Value in"active""needs_reauth"
calendars*array<>
created_at*string
import { 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.connect({  value: "host_01kd2m9a0b1c2d3e4f5g6h7j8m",}, {  provider: "caldav",  url: "https://caldav.icloud.com",  username: "ana@example.com",  password: "abcd-efgh-ijkl-mnop",});
{  "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"}