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

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

  1. 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.
  2. 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.