meeva
Docs

Event Types API

Manage event types — the templates for your scheduled meetings.

POST /event-typesGET /event-typesGET /event-types/:idPATCH /event-types/:idDELETE /event-types/:id
POST/event-types

Create a new event type for your organization.

Request Body:

FieldTypeDescription
title *stringDisplay name
slug *stringURL identifier
durationMinutes *numberMeeting length
descriptionstringOptional description
locationTypestringzoom, meet, phone, in_person
bufferBeforeMinutesnumberBuffer before meeting
bufferAfterMinutesnumberBuffer after meeting
minimumNoticeHoursnumberAdvance notice required
// Request
{
  "title": "30 Minute Meeting",
  "slug": "30min",
  "description": "Quick sync meeting",
  "durationMinutes": 30,
  "locationType": "zoom",
  "bufferBeforeMinutes": 10,
  "bufferAfterMinutes": 5,
  "minimumNoticeHours": 24,
  "bookingWindowDays": 60
}

// Response (201 Created)
{
  "eventType": {
    "id": "evt_abc123",
    "title": "30 Minute Meeting",
    "slug": "30min",
    "durationMinutes": 30,
    "isActive": true,
    "createdAt": "2024-01-15T10:00:00Z"
  }
}
GET/event-types

List all event types for the current organization.

// Response (200 OK)
{
  "eventTypes": [
    {
      "id": "evt_abc123",
      "title": "30 Minute Meeting",
      "slug": "30min",
      "durationMinutes": 30,
      "schedulingType": "one_on_one",
      "isActive": true,
      "bookingsCount": 42
    }
  ],
  "totalCount": 1
}
GET/event-types/:id

Get full details for a specific event type including all configuration options.

PATCH/event-types/:id

Partial update of an event type. Only include fields you want to change.

// Request
{
  "title": "45 Minute Meeting",
  "durationMinutes": 45
}

// Response (200 OK)
{
  "eventType": {
    "id": "evt_abc123",
    "title": "45 Minute Meeting",
    "durationMinutes": 45,
    "updatedAt": "2024-01-16T10:00:00Z"
  }
}
DELETE/event-types/:id

Soft delete an event type. The event type will be marked as inactive but existing bookings are preserved.