VP
VERVE Pulse

Developer

API Reference

The VERVE Pulse REST API lets you read and write gym data programmatically. Available on Growth and Pro plans.

Base URL: https://app.vervepulse.io/api/v1
Format: JSON
Auth: Bearer token
Rate limit: 1,000 req/hour

Authentication

All API requests must include your API key in the Authorization header. Generate your API key from Settings → Developer → API Keys.

curl https://app.vervepulse.io/api/v1/members \
  -H "Authorization: Bearer vp_live_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json"

Keep your API key secret. Do not expose it in client-side code or public repositories. Rotate compromised keys immediately from Settings → Developer.

Endpoints

Members
GET/api/v1/membersList all members
POST/api/v1/membersCreate a member
GET/api/v1/members/:idGet a member
PATCH/api/v1/members/:idUpdate a member
DELETE/api/v1/members/:idArchive a member
Classes
GET/api/v1/classesList classes
POST/api/v1/classesCreate a class
GET/api/v1/classes/:idGet a class
PATCH/api/v1/classes/:idUpdate a class
DELETE/api/v1/classes/:idCancel a class
Bookings
GET/api/v1/classes/:id/bookingsList bookings for a class
POST/api/v1/classes/:id/bookingsBook a member into a class
DELETE/api/v1/bookings/:idCancel a booking
Leads
GET/api/v1/leadsList leads
POST/api/v1/leadsCreate a lead
GET/api/v1/leads/:idGet a lead
PATCH/api/v1/leads/:idUpdate a lead
Check-ins
GET/api/v1/checkinsList check-ins
POST/api/v1/checkinsRecord a check-in

Webhooks

VERVE Pulse sends webhook events to your endpoint when key actions occur. Configure webhook URLs in Settings → Developer → Webhooks.

member.createdA new member was added
member.updatedMember profile or membership was changed
payment.succeededA payment was successfully processed
payment.failedA payment attempt failed
booking.createdA member booked a class
booking.cancelledA booking was cancelled
lead.createdA new lead entered the pipeline
checkin.recordedA member checked in
// Example webhook payload
{
  "event": "member.created",
  "timestamp": "2026-03-18T06:00:00Z",
  "gym_id": "gym_xxxxxxxxxxxx",
  "data": {
    "id": "mem_xxxxxxxxxxxx",
    "name": "Alex Johnson",
    "email": "alex@example.com",
    "membership_type": "Growth",
    "created_at": "2026-03-18T06:00:00Z"
  }
}

Rate Limits & Errors

The API allows 1,000 requests per hour per API key. If you exceed this, you will receive a 429 Too Many Requests response. The Retry-After header indicates when you can retry.

200OK — request succeeded
201Created — resource was created
400Bad Request — invalid parameters
401Unauthorized — invalid or missing API key
403Forbidden — API not available on your plan
404Not Found — resource does not exist
429Too Many Requests — rate limit exceeded
500Server Error — contact support

Need help with the API?

API access is available on Growth ($199/mo) and Pro ($349/mo) plans. Contact us for enterprise rate limits or custom integration support.

Contact developer support →