Update an event type
Changes what's given. Existing bookings keep what they were booked with. Set status to archived to stop new bookings.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
event_type*stringThe event type'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.
"2026-10-10"application/json- body
- body
- …
uid?|1 <= length <= 255title?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.
status?string"active""archived"hosts?array<>Replaces the assigned hosts. Removed hosts keep their existing bookings.
items <= 500The 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.update({ value: "evtype_01kd2m9a0b1c2d3e4f5g6h7j8m",}, { min_notice_minutes: 240,});{ "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"}