Partner API
Create appointment or block
POST /api/v2/appointments - Creates an appointment (requires contact_uuid) or a blocked time (appointment_type=block). Omit agent_uuid (or pass all) on blocks for an agency-wide busy period. Times are wall-clock in timezone.
POST
/api/v2/appointmentsCreates an appointment (requires contact_uuid) or a blocked time (appointment_type=block). Omit agent_uuid (or pass all) on blocks for an agency-wide busy period. Times are wall-clock in timezone.
Required scope: appointments (or *).
JSON body
| Name | Required | Description |
|---|---|---|
start_time | Yes | Start (YYYY-MM-DD HH:MM:SS wall clock, or ISO) |
end_time | Yes | End (must be after start_time) |
timezone | No | IANA timezone (default America/New_York) |
appointment_type | No | `appointment` (default) or `block` |
title | No | Title (defaults to Appointment / Blocked) |
notes | No | Optional notes |
agent_uuid | No | Assigned agent; omit/`all`/`*` for agency-wide blocks |
contact_uuid | No | Required for appointments; ignored for blocks |
curl -s -X POST -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"appointment_type": "block",
"title": "Team offsite",
"start_time": "2026-07-24 09:00:00",
"end_time": "2026-07-24 17:00:00",
"timezone": "America/New_York",
"agent_uuid": "all"
}' \
"https://benefitpath.com/api/v2/appointments"
{
"success": true,
"appointment": {
"appointment_uuid": "c0a80101-0000-4000-8000-000000000002",
"agent_uuid": null,
"contact_uuid": null,
"title": "Team offsite",
"start_time": "2026-07-24 09:00:00",
"end_time": "2026-07-24 17:00:00",
"timezone": "America/New_York",
"appointment_type": "block",
"status": "confirmed"
}
}
See Errors for the standard error envelope and rate limits.