Email
Inboxes
Marketing
SMS
Sign
Verify
Forms
Scheduling
Hooks
Risk
Platform
Create a schedule
POST
/v1/scheduling/hosts/{host}/schedules
A host's weekly hours and date overrides, in local time. The first one is the host's default.
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.
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
- …
name?stringLength
1 <= length <= 100time_zone?stringDefault: the host's.
Length
1 <= length <= 64is_default?booleanrules*array<>Items
items <= 50overrides?array<>Replaces the schedule's overrides when given.
Items
items <= 366The schedule.
application/json- response
- response
- …
object*"scheduling.schedule"Value in
"scheduling.schedule"id*stringhost*stringname*stringtime_zone*stringis_default*booleanrules*array<>overrides*array<>created_at*stringupdated_at*stringimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.scheduling.schedules.create({ value: "host_01kd2m9a0b1c2d3e4f5g6h7j8m",}, { name: "Clinic hours", rules: [ { days: [ 1, 2, 3, 4, 5, ], start: "09:00", end: "17:00", }, ], overrides: [ { date: "2027-12-24", ranges: [], }, ],});{ "object": "scheduling.schedule", "id": "sched_01kd2m9a0b1c2d3e4f5g6h7j8m", "host": "host_01kd2m9a0b1c2d3e4f5g6h7j8m", "name": "Clinic hours", "time_zone": "America/New_York", "is_default": true, "rules": [ { "days": [ 1, 2, 3, 4, 5 ], "start": "09:00", "end": "17:00" } ], "overrides": [ { "date": "2027-12-24", "ranges": [] } ], "created_at": "2027-01-01T10:00:00.000Z", "updated_at": "2027-01-01T10:00:00.000Z"}