Skip to content

Book one server-issued handoff calendar slot

POST
/v1/mobile/receptionist/handoffs/{handoff_id}/booking
curl --request POST \
--url https://api.vocapable.com/v1/mobile/receptionist/handoffs/example/booking \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--data '{ "slot_id": "example" }'
handoff_id
required
Handoff Id
string
Idempotency-Key
required
string
<= 255 characters

Unique key for this mobile booking request, so a retry replays the original calendar receipt instead of creating another invitation. Stored for 24 hours; a replay carries Idempotent-Replay: true.

Media typeapplication/json
MobileHandoffBookingCreateRequest

Book exactly one prior server-issued availability snapshot.

Notes and attendee fields are deliberately absent. The server derives the contact’s current invitation identity from the authorized carrier handoff, and v1 never turns a receptionist phone into a generic calendar-event composer.

object
slot_id
required
Slot Id
string
>= 1 characters <= 64 characters
Examplegenerated
{
"slot_id": "example"
}

Successful Response

Media typeapplication/json
MobileHandoffBookingReceipt

A privacy-minimized receipt for one server-authorized handoff booking.

object
id
required
Id
string
handoff_id
required
Handoff Id
string
starts_at
required
Starts At
string format: date-time
ends_at
required
Ends At
string format: date-time
timezone
required
Timezone
string
status
required
Status
string
Allowed values: calendar_event_created appointment_materialized
appointment_id
Any of:
string
booked_at
required
Booked At
string format: date-time
materialized_at
Any of:
string format: date-time
Example
{
"status": "calendar_event_created"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}