Native booking appointments api
Book an appointment
Creates a booking for the given appointment type and slot. Only free appointment types can be booked through this API; a paid appointment type (see pricing_type on the appointment type) returns 400, since paid appointments can only be booked through the site's cart and checkout UI, which collects payment first. On conflict the API returns 400 (the host already has a booking at this time or is not available); the agent should re-query /availability and pick a different slot.
post/api/sites/multiscreen/{site_name}/booking/appointments
Request
- Base URLhttps://api.duda.co
- URLhttps://api.duda.co/api/sites/multiscreen/{site_name}/booking/appointments
- AuthHTTP basic
Path parameters
site_namestring required
The site's unique name (its ID), returned when the site is created.
Request body
Example request
{
"appointment_type_id": "01JZ83QB5MQFRMXWAVQ55C648W",
"attendee": {
"email": "jane@example.com",
"name": "Jane Doe",
"phone_number": "+12025550123",
"time_zone": "America/New_York"
},
"booking_fields_responses": {
"notes": "first visit"
},
"duration": 30,
"guests": [
"bob@example.com"
],
"metadata": {
"agent_id": "a-123",
"source": "ai-chatbot"
},
"start": "2026-06-02T14:00:00.000Z"
}Response
OK
Example response
{
"appointment_type": {
"id": "2660601",
"slug": "sample-event"
},
"attendees": [
{
"absent": false,
"email": "user@multiscreensite.com",
"language": "en",
"name": "Default",
"timeZone": "Asia/Jerusalem"
}
],
"booking_fields_responses": {
"email": "user@multiscreensite.com",
"guests": [],
"name": "Default"
},
"cancellation_reason": "Schedule conflict",
"cancelled_by_email": "user@multiscreensite.com",
"created_at": "2025-06-16T14:31:58.794Z",
"duration": 30,
"end": "2025-06-16T18:00:00.000Z",
"hosts": [
{
"email": "staffmember1@multiscreensite.com",
"id": "1582498",
"name": "Staff Member 1",
"time_zone": "Asia/Jerusalem",
"username": "staffmember1-example-com"
}
],
"ics_uid": "kko1gv8tFZe8JjpCpct5tG@duda.co",
"id": 8589828,
"location": "https://app.example.com/video/kko1gv8tFZe8JjpCpct5tG",
"metadata": {
"pricingType": "FREE",
"source": "qa-test"
},
"rating": 5,
"recurring_booking_uid": "rec_kko1gv8tFZe8JjpCpct5tG",
"rescheduled_by_email": "user@multiscreensite.com",
"rescheduled_from_uid": "abc123defGHIjkl456MNO",
"rescheduling_reason": "Availability changed",
"start": "2025-06-16T17:30:00.000Z",
"status": "accepted",
"title": "Sample Event between Staff Member 1 and Default",
"uid": "kko1gv8tFZe8JjpCpct5tG",
"updated_at": "2025-06-16T14:31:59.219Z"
}Changes
No recorded changes to this operation across all 1 revision of this API.