---
title: "Update an event type"
method: PATCH
path: "/v1/event-types/{id}"
tags: ["Event Types"]
---

# Update an event type

`PATCH /v1/event-types/{id}`

## Request

- Base URL: `https://api.astrocal.dev`
- URL: `https://api.astrocal.dev/v1/event-types/{id}`
- Auth: HTTP bearer

Partially updates an event type. Only provided fields are changed. Returns the full updated event type. Returns 409 if the new slug conflicts with an existing one.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `title` string
  - `description` string
  - `duration_minutes` integer
  - `buffer_before_minutes` integer
  - `buffer_after_minutes` integer
  - `minimum_notice_minutes` integer
  - `color` string
  - `active` boolean
  - `assignment_strategy` 'none' | 'round_robin' | 'least_recent' | 'least_bookings' | 'availability_weighted'
  - `price_amount` integer, nullable
  - `price_currency` string
  - `reminder_intervals` integer[]
  - `duration_options` integer[], nullable
  - `max_attendees` integer
  - `booking_cap` integer, nullable
  - `booking_cap_period` 'daily' | 'weekly' | 'monthly' | 'total' | 'null', nullable
  - `waitlist_enabled` boolean
  - `waitlist_max` integer
  - `waitlist_ttl_days` integer
  - `booking_page_enabled` boolean
  - `conferencing_provider` 'zoom' | 'google_meet' | 'microsoft_teams' | 'custom' | 'in_person' | 'null', nullable
  - `custom_meeting_url` string, uri, nullable
  - `location` string, nullable

## Response `200`

Event type updated

- object
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `title` string, required
  - `slug` string, required
  - `description` string, nullable, required
  - `duration_minutes` integer, required
  - `buffer_before_minutes` integer, required
  - `buffer_after_minutes` integer, required
  - `minimum_notice_minutes` integer, required
  - `color` string, required
  - `timezone` string, required
  - `active` boolean, required
  - `is_test` boolean, required
  - `price_amount` integer, nullable, required
  - `price_currency` string, required
  - `reminder_intervals` integer[], required
  - `duration_options` integer[], nullable, required
  - `max_attendees` integer, required
  - `assignment_strategy` 'none' | 'round_robin' | 'least_recent' | 'least_bookings' | 'availability_weighted', required
  - `booking_cap` integer, nullable, required
  - `booking_cap_period` 'daily' | 'weekly' | 'monthly' | 'total' | 'null', nullable, required
  - `bookings_remaining` integer, nullable, required
  - `booking_count` integer, required
  - `waitlist_enabled` boolean, required
  - `waitlist_max` integer, required
  - `waitlist_ttl_days` integer, required
  - `booking_page_enabled` boolean, required
  - `conferencing_provider` string, nullable, required
  - `custom_meeting_url` string, nullable, required
  - `location` string, nullable, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/astrocal/apis/astrocal-api.md) · [All operations](https://skmtc.dev/astrocal/apis/astrocal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/astrocal/apis/astrocal-api/revisions/3b953e19a348?raw)
