Pardon our mess These API docs are a work in progress. Endpoints, examples, and behavior may change as we continue to develop the Partner API v2.

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/bookings

Creates (or updates) a contact and books an appointment at the given local date/time.

Required scope: calendar (or *).

JSON body

NameRequiredDescription
dateYesYYYY-MM-DD in the calendar timezone
timeYesHH:MM in the calendar timezone
first_nameYesContact first name
last_nameYesContact last name
phoneYesContact phone
emailNoContact email
notesNoAppointment / inbox notes
agent_uuidNoPreferred team member (fixed mode)
include_meetNoIf true, prefer Google Meet when calendar sync supports it
survey_typeNoOptional survey/path type for attribution
order_idNoOptional 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.