Create an event type
What can be booked: one_on_one with one host, pool for any free host, collective when every required host must be free, or group for a session with seats.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
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.
"2026-10-10"application/json- body
- body
- …
uid?string1 <= length <= 255kind?string"one_on_one""one_on_one""pool""collective""group"title*stringShown to attendees and in emails. Host calendars always show a neutral title.
1 <= length <= 120duration_minutes*integer5 <= value <= 1440duration_options?array<>items <= 10step_minutes?integerHow far apart slots start. Default: the duration.
5 <= value <= 1440grid_time_zone?|The zone slots align in. Default: each host's own.
1 <= length <= 64buffer_before_minutes?integer0 <= value <= 480buffer_after_minutes?integer0 <= value <= 480min_notice_minutes?integer0 <= value <= 525600booking_window?||nulllimits?array<>items <= 4capacity?|Attendees per session. Required for, and only allowed on, group.
2 <= value <= 10000requires_approval?booleanapproval_ttl_minutes?integer5 <= value <= 43200hold_ttl_seconds?integer60 <= value <= 86400cancel_notice_minutes?integerAttendees can't cancel closer to the start than this. API keys can.
0 <= value <= 525600reschedule_notice_minutes?integer0 <= value <= 525600questions?array<>items <= 25locations?array<||||>items <= 10host_filter?|Pool members also include active hosts matching all of these attributes.
metadata?Your own key-value pairs. Don't put sensitive data here.
hosts?array<>items <= 500[]The event type.
application/json- response
- response
- …
object*"scheduling.event_type""scheduling.event_type"id*stringuid*string|nulltitle*stringkind*string"one_on_one""pool""collective""group"status*string"active""archived"duration_minutes*numberduration_options*array<number>step_minutes*numbergrid_time_zone*string|nullbuffer_before_minutes*numberbuffer_after_minutes*numbermin_notice_minutes*numberbooking_window*||nulllimits*array<>capacity*number|nullrequires_approval*booleanapproval_ttl_minutes*numberhold_ttl_seconds*numbercancel_notice_minutes*numberreschedule_notice_minutes*numberquestions*array<>locations*array<||||>host_filter*|nullhosts*array<>metadata*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.eventTypes.create({ title: "Initial consultation", kind: "one_on_one", duration_minutes: 30, buffer_after_minutes: 10, min_notice_minutes: 120, hosts: [ { host: "doctor_482", }, ],});{ "object": "scheduling.event_type", "id": "evtype_01kd2m9a0b1c2d3e4f5g6h7j8m", "uid": null, "title": "Initial consultation", "kind": "one_on_one", "status": "active", "duration_minutes": 30, "duration_options": [], "step_minutes": 30, "grid_time_zone": null, "buffer_before_minutes": 0, "buffer_after_minutes": 10, "min_notice_minutes": 120, "booking_window": null, "limits": [], "capacity": null, "requires_approval": false, "approval_ttl_minutes": 1440, "hold_ttl_seconds": 600, "cancel_notice_minutes": 0, "reschedule_notice_minutes": 0, "questions": [], "locations": [], "host_filter": null, "hosts": [ { "host": "host_01kd2m9a0b1c2d3e4f5g6h7j8m", "role": "member", "weight": 100, "schedule": null } ], "metadata": {}, "created_at": "2027-01-01T10:00:00.000Z", "updated_at": "2027-01-01T10:00:00.000Z"}