Start connecting a calendar

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

A URL for the host to give consent at Google or Microsoft. Open it in a new window: providers refuse to be framed. Coss.com reads only busy times, and writes events with a neutral title.

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*string
Value in"google""microsoft"
return_url?string

Where to send the browser afterwards, on one of the environment's allowed origins. coss_calendar says what happened: connected, denied or invalid.

Formaturi
Lengthlength <= 2000

Response Body

Where to send the host.

application/json
  1. response
object*"scheduling.calendar_authorization"
Value in"scheduling.calendar_authorization"
url*string

Open it in a new window: providers refuse to be framed.

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.authorize({  value: "host_01kd2m9a0b1c2d3e4f5g6h7j8m",}, {  provider: "google",});
{  "object": "scheduling.calendar_authorization",  "url": "https://accounts.google.com/o/oauth2/v2/auth?client_id=abc"}