Skip to main content
PUT
/
v1
/
event-types
/
{id}
{
  "name": "45 Minute Meeting",
  "duration": 45,
  "color": "#8B5CF6"
}
{
  "success": true,
  "data": {
    "id": 1,
    "name": "45 Minute Meeting",
    "slug": "30-minute-meeting",
    "description": "A quick 30-minute consultation",
    "type": "one_on_one",
    "duration": 45,
    "hidden_from_profile": false,
    "color": "#8B5CF6",
    "max_group_size": null,
    "form_fields": []
  }
}
Update an existing event type. You can only update event types that belong to you or are accessible through your team memberships.
If you update the slug field, it must remain unique for your user account. Updating to an existing slug will cause the request to fail.

Path Parameters

id
integer
required
The unique identifier of the event type to update.

Request Body

name
string
The name of the event type. Maximum 55 characters.
slug
string
The URL-friendly identifier. Must be unique for the user if changed. Maximum 80 characters. Must match pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$.
description
string
Description of the event type. Maximum 5000 characters.
type
string
The type of event. Must be one of: one_on_one, group, round_robin, collective.
duration
integer
Duration in minutes. Must be between 1 and 1440 (24 hours).
max_group_size
integer
Maximum group size for group events. Required when type is group. Must be between 2 and 10.
hidden_from_profile
boolean
Whether the event type should be hidden from the user’s public profile.
color
string
Color code in hex format (e.g., #FF5733). Must match pattern: ^#([A-Fa-f0-9]{6})$.
team_id
integer
Team ID for collective event types. Required when type is collective.
All request body fields are optional. Only include the fields you want to update.

Example Request

{
  "name": "45 Minute Meeting",
  "duration": 45,
  "color": "#8B5CF6"
}

Example Response

{
  "success": true,
  "data": {
    "id": 1,
    "name": "45 Minute Meeting",
    "slug": "30-minute-meeting",
    "description": "A quick 30-minute consultation",
    "type": "one_on_one",
    "duration": 45,
    "hidden_from_profile": false,
    "color": "#8B5CF6",
    "max_group_size": null,
    "form_fields": []
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The given data was invalid.",
    "details": {
      "slug": ["The slug has already been taken."]
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
integer<int64>
required

ID of event type to update

Body

application/json

Event type data to update

name
string
required

The name of the event type

Maximum string length: 55
slug
string
required

The URL-friendly identifier (must be unique)

Maximum string length: 80
type
enum<string>
required

The type of event

Available options:
one_on_one,
group,
round_robin,
collective
duration
integer
required

Duration in minutes

Required range: 1 <= x <= 1440
hidden_from_profile
boolean
required

Whether the event type is hidden from profile

color
string
required

Color code in hex format (e.g., #FF5733)

description
string

Description of the event type

Maximum string length: 5000
max_group_size
integer

Maximum group size (required for group type, min: 2, max: 10)

Required range: 2 <= x <= 10
team_id
integer

Team ID (required for collective type)

Response

Event type updated

success
boolean
required

Indicates whether the request was successful

Example:

true

data
object
required

The response data. Can be an object, array, or null