Event Types API
Event types define the types of meetings or appointments that can be booked.
List Event Types
GET
/api/v1/event-typesRetrieve a list of event types
Query Parameters
| Parameter | Type | Description |
|---|---|---|
active | boolean | Filter by active status Default: true |
limit | number | Max results Default: 50 |
offset | number | Skip results Default: 0 |
Request
curl -X GET "https://api.webkasa.app/api/v1/event-types?active=true" \
-H "Authorization: Bearer wk_live_xxx..."Response
{
"data": [
{
"id": "evt_abc123",
"title": "30-Minute Consultation",
"slug": "30-min-consultation",
"description": "A quick introductory call",
"duration": 30,
"location_type": "video",
"location_details": "Zoom link will be provided",
"color": "#3B82F6",
"requires_approval": false,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
},
{
"id": "evt_def456",
"title": "1-Hour Deep Dive",
"slug": "1-hour-deep-dive",
"description": "Comprehensive discussion session",
"duration": 60,
"location_type": "video",
"color": "#10B981",
"requires_approval": true,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
}
],
"meta": {
"total": 2,
"limit": 50,
"offset": 0,
"hasMore": false
}
}Create Event Type
POST
/api/v1/event-typesCreate a new event type
Request Body
| Parameter | Type | Description |
|---|---|---|
title required | string | Event type title |
duration required | number | Duration in minutes |
slug | string | URL-friendly identifier (auto-generated if not provided) |
description | string | Event type description |
location_type | string | Location type (in_person, phone, video, custom) Default: video |
location_details | string | Additional location details |
color | string | Display color (hex) |
requires_approval | boolean | Whether bookings need approval Default: false |
is_active | boolean | Whether event type is active Default: true |
Request
curl -X POST "https://api.webkasa.app/api/v1/event-types" \
-H "Authorization: Bearer wk_live_xxx..." \
-H "Content-Type: application/json" \
-d '{
"title": "30-Minute Consultation",
"slug": "30-min-consultation",
"description": "A quick introductory call",
"duration": 30,
"location_type": "video",
"location_details": "Zoom link will be provided",
"color": "#3B82F6",
"requires_approval": false,
"is_active": true
}'Response
{
"data": {
"id": "evt_abc123",
"title": "30-Minute Consultation",
"slug": "30-min-consultation",
"duration": 30,
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
}
}Location Types
The following location types are supported:
in_person
Physical meeting at a specified location
phone
Phone call (attendee provides number)
video
Video conference (Zoom, Meet, etc.)
custom
Custom location specified in details