Partner API
Overview
Benefit Path Partner API v2 - agency-scoped REST API for calendar, CRM, paths, and more.
Base URL
All Partner API v2 requests use your Benefit Path host plus the /api/v2 prefix:
https://benefitpath.com/api/v2
Discovery + OpenAPI:
curl -s https://benefitpath.com/api/v2 | jq
curl -s https://benefitpath.com/api/v2/openapi.json | jq '.info'
How the docs are organized
Reference pages follow section → HTTP call. Start from Resources, open a section (for example Calendar), then open an individual GET/POST/PATCH/PUT/DELETE page for parameters and examples.
What you can do
- Calendar - availability, bookings, hours, appointments, booking widgets (
calendar,appointments). - Contacts - CRM list/create/update/delete/restore/tags (
contacts). - Messages - inbox and contact notes (
messages). - Paths - builder CRUD, publish, history (
paths). - Fields - custom field catalog (
fields). - Analytics - Path Analytics reports (
analytics). - Lead orders - list, pause/resume, cancel, patch (
lead-orders). - Voice AI - calls and wallet (
voice-ai). - Users - members, invites, roles (
users). - Settings - curated agency settings (
settings).
Use scope * for complete agency Partner API permissions. Creating lead-order checkouts, outbound Voice AI calls, or SMS sends remains in the dashboard (not Partner API v2).
Quick start
- Create an API key from Integrations → API Keys and save both the access token and one-time rotate key (see Authentication). Access tokens expire every 30 days.
- Call a scoped endpoint - for example list contacts or the Path Analytics report.
# List contacts
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
"https://benefitpath.com/api/v2/contacts?limit=25"
# Path Analytics
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
"https://benefitpath.com/api/v2/analytics/paths?from=2026-07-01&to=2026-07-13"
# Book a slot (calendar scope)
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@example.com"
}' \
"https://benefitpath.com/api/v2/calendar/bookings"
Response envelope
Successful responses use { "success": true, ... }. Errors use { "success": false, "error": "..." } with an appropriate HTTP status. See Errors.