Create a manager session

POST
/v1/scheduling/manager_sessions

Lets a team lead manage cover for the hosts you name, or those matching an attribute filter whenever it's asked: time off, bookings that need someone else, and moving them. It never sees attendees' details. Send the url to their browser, or embed it with coss/scheduling.

Authorization

bearerAuth
headerAuthorizationBearer <token>

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

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
hosts?array<string>

The hosts this page can reach, by id or uid.

Items1 <= items <= 1000
host_filter?

Everyone matching these attributes, asked again on every request.

expires_in?integer

Seconds until it stops working. At most a day.

Range60 <= value <= 86400
read_only?boolean

Response Body

The session.

application/json
  1. response
object*"scheduling.session"
Value in"scheduling.session"
id*string
token*string

Shown only now. A bearer token for the client API.

url*|

coss.com's hosted page, with the token in its fragment.

expires_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.sessions.createForManager({  host_filter: {    team: "cardiology",  },  expires_in: 3600,});
{  "object": "scheduling.session",  "id": "schs_01kd2m9a0b1c2d3e4f5g6h7j8m",  "token": "cossch_abc123",  "url": "https://example.test/h/schs_01kd2m9a0b1c2d3e4f5g6h7j8m#cossch_abc123",  "expires_at": "2027-01-01T11:00:00.000Z"}