Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Public API access token issued by /public/v1/oauth/token. Example: Authorization: Bearer fspt_....

Headers

Idempotency-Key
string
required

Required for Public API write requests. Reusing the same key with the same method, path, and body replays the stored successful response; reusing it with a different request returns 409 idempotency.conflict.

Required string length: 1 - 200
Example:

"booking-create-20260714-001"

Body

application/json
name
string
required
Maximum string length: 120
Example:

"CRM sync"

url
string<uri>
required

Public HTTPS URL that receives outbound FITsociety webhook deliveries.

Example:

"https://example.com/fitsociety/webhooks"

events
enum<string>[]
required
Minimum array length: 1
Available options:
subscription.test,
client.created,
client.updated,
client.archived,
client.invited,
client.portal_access.changed,
client.relationship.approved,
client.relationship.rejected,
client.note.created,
client.note.updated,
client.note.deleted,
booking.created,
booking.updated,
booking.cancelled,
booking_request.created,
booking_request.approved,
booking_request.rejected,
recurring_booking.changed,
calendar_task.created,
calendar_task.updated,
calendar_task.cancelled,
invoice.created,
invoice.sent,
invoice.overdue,
invoice.cancelled,
invoice.paid,
payment.succeeded,
payment.failed,
payment.request.created,
payment.request.cancelled,
chargeback.created,
subscription.changed,
subscription.cancelled,
client_product.assigned,
client_product.revoked,
credit.assigned,
credit.adjusted,
credit.revoked,
membership.assigned,
form.assigned,
form.submitted,
intake.submitted,
checkup.assigned,
checkup.submitted,
measurement.created,
measurement.updated,
progress_photo.created,
goal.updated,
habit_entry.created,
document.linked,
document.updated,
document.archived
Example:

Response

Webhook subscription created

data
object
required
meta
object
required