Partner API
Create a booking
POST /api/v2/calendar/bookings - Creates (or updates) a contact and books an appointment at the given local date/time.
POST
/api/v2/calendar/bookingsCreates (or updates) a contact and books an appointment at the given local date/time.
Required scope: calendar (or *).
JSON body
| Name | Required | Description |
|---|---|---|
date | Yes | YYYY-MM-DD in the calendar timezone |
time | Yes | HH:MM in the calendar timezone |
first_name | Yes | Contact first name |
last_name | Yes | Contact last name |
phone | Yes | Contact phone |
email | No | Contact email |
notes | No | Appointment / inbox notes |
agent_uuid | No | Preferred team member (fixed mode) |
include_meet | No | If true, prefer Google Meet when calendar sync supports it |
survey_type | No | Optional survey/path type for attribution |
order_id | No | Optional lead order id for attribution |
curl -s -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"date": "2026-07-21",
"time": "14:30",
"first_name": "Jane",
"last_name": "Doe",
"phone": "5551234567",
"email": "jane.doe@example.com",
"notes": "Follow up on plan options",
"agent_uuid": "c0a80101-0000-4000-8000-000000000003",
"include_meet": true,
"survey_type": "medicare",
"order_id": "c0a80101-0000-4000-8000-000000000006"
}' \
"https://benefitpath.com/api/v2/calendar/bookings"
{
"success": true,
"appointment_uuid": "c0a80101-0000-4000-8000-000000000002",
"contact_uuid": "c0a80101-0000-4000-8000-000000000001",
"agent_uuid": "c0a80101-0000-4000-8000-000000000003",
"start_time": "2026-07-21 14:30:00",
"end_time": "2026-07-21 15:00:00",
"timezone": "America/New_York",
"booking_redirect_url": null,
"meet_url": "https://meet.google.com/abc-defg-hij"
}
If the requested slot was taken, the API returns 409 with This time slot is no longer available.
See Errors for the standard error envelope and rate limits.