Developer Documentation
Integrate with BuildStability using MCP (for AI agents) or REST API (for traditional apps). Get your first API call working in under 5 minutes.
Quick Start (5 minutes)
Enable API Access
Already a customer? Business → Profile → API & Integrations → Enable API/MCP Access. New here? Start a trial first.
Sign up →Get Your Token
Create an OAuth app under API apps for integrations, or use Business → Profile → API & Integrations → Copy Token for MCP
Auth guide →Choose Your Integration Method
Pick the approach that fits your use case. Both provide full access to your data.
MCP (AI Agents)
For Claude, ChatGPT, Gemini, custom agents
- JSON-RPC 2.0 over HTTP
- 15 pre-built tools (clients, schedule, revenue, etc.)
- Bearer token auth (JWT)
REST API
For web apps, mobile apps, integrations
- Standard REST endpoints (GET, POST, PUT)
- OAuth 2.0 Client Credentials flow
- Clients, appointments, programs, revenue, classes, workouts
Authentication
REST API v1 (OAuth 2.0) — for integrations
The only credential /api/v1/* accepts. Create an app under API apps, copy the client ID and secret (the secret is shown once), then exchange them:
POST /api/oauth/token
Content-Type: application/json
{ "grant_type": "client_credentials",
"client_id": "...", "client_secret": "..." }
-> { "access_token": "...", "token_type": "Bearer",
"expires_in": 3600, "scope": "read write" }Send it as Authorization: Bearer <access_token>. Scoped, revocable on its own, counted against the plan limits below, and refreshed by repeating the call. No human needed.
MCP (personal JWT) — for AI assistants
Business → Profile → API & Integrations → Copy Token. The JWT is copied to your clipboard.
Set Authorization: Bearer <token> on every MCP or REST Data API request. It does not authenticate /api/v1/*.
This is your own login, not a scoped key: it can write as well as read, it expires after an hour, and it is not counted by the usage meter. Treat it like a password.
What a JWT looks like: Three base64url segments separated by dots (header.payload.signature), typically 200–500+ characters. Example format:
eyJhbGciOiJIUzI1NiIs...eyJhdWQiLCJlbWFpbC...<signed>
Authorization: Bearer <your-jwt-token> Content-Type: application/json
Rate Limits
| Plan | Requests / 15 min | Daily Cap | Query Complexity |
|---|---|---|---|
| Free Trial | 30 | 100 | Basic |
| Essential | 50 | 1,000 | Standard |
| Starter | 100 | 5,000 | Standard |
| Pro | 200 | 15,000 | Advanced |
| Pro+ | 500 | 50,000 | Advanced |
On a 429 the response carries Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Successful responses do not carry them, so pace against your own request count rather than polling for headroom. Daily allowances reset at midnight UTC, which your Business page shows in your own timezone alongside live usage. See pricing for plan details.
Resources
Guides
API Reference
Account Resources (Login Required)
Available MCP Tools
16 tools available via MCP. Use tools/list for full details or see the Agent Guide.
Core
get_client_summarylist_active_programscheck_churn_riskget_business_stats
Schedule
get_schedulelist_clientsget_available_slots
Analytics
get_revenue_summaryget_attendance_statsget_popular_times
Actions
send_client_messagecreate_client_noteget_client_notesget_client_workout_history
Ready to Build?
Start your free trial and get API access immediately. No credit card required.