Teshape

API

Beta

The Teshape API gives coaches and integrators programmatic access to workout history, client data, and the training library. It’s in early beta — breaking changes may ship with notice, and not all resources are available yet.

Beta status

The API is available to coaches on Pro and Elite plans. During the beta period:

  • Breaking changes may be introduced with at least 30 days notice
  • Rate limits are more generous than the planned GA limits
  • Some resource types are read-only (writes are coming)
  • No SLA is offered; the API runs on the same infrastructure as the main app

Authentication

All API requests require a bearer token in the Authorization header. Generate an API key from Settings → API → Create key. Keys are scoped to your coach account — they can only access resources you own.

GET /v1/clients
Authorization: Bearer tsh_live_xxxxxxxxxxxx

API keys can be rotated or revoked at any time from the same settings page. Revoked keys return 401 Unauthorized immediately.

Keep keys secret. Anyone with your API key has full read access to your coaching account. Never embed a key in client-side code or commit it to a public repository.

Base URL

https://api.teshape.com/v1/

All endpoints are HTTPS-only. HTTP requests are rejected at the load balancer. The API speaks JSON — set Content-Type: application/json on all POST/PATCH requests.

Rate limits

During beta, rate limits are applied per API key per minute:

PlanRequests / min
Pro120
Elite600

Rate limit headers are included on every response:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117
X-RateLimit-Reset: 1717026600

When you exceed the limit, the API returns 429 Too Many Requests. Implement exponential backoff in your client.

Endpoint categories

The following resource groups are available in beta. Full reference docs for each are available in the developer portal (access on request).

GET/v1/clients

List all active and archived clients. Includes basic profile, connection date, and current plan.

GET/v1/clients/:id/sessions

Paginated workout session history for a client. Includes logged sets, RPE, and session summary metrics.

GET/v1/clients/:id/measurements

Body measurement history for a client. Returns all measurement types and timestamps.

GET/v1/library/plans

List all training plans in your coach library.

GET/v1/library/workouts

List all workouts in your coach library.

GET/v1/library/exercises

List exercises — both the global Teshape catalog and your custom exercises.

Errors

All errors return a JSON body with a code and message:

{
  "code": "not_found",
  "message": "Client 9f3a… not found or not accessible."
}
StatusMeaning
200OK
400Bad request — check request body or query params
401Missing or invalid API key
403Authenticated, but not authorised for this resource
404Resource not found or not accessible by your account
429Rate limit exceeded
500Server error — retry with backoff

Requesting access

API access during beta is available on Pro and Elite plans. To enable it on your account, go to Settings → API. You’ll see the option to create your first key once beta access is live on your account.

If you’re building an integration and need early access or have specific endpoint requirements, email support@teshape.comwith “API beta” in the subject. We’re actively looking for use cases to prioritise for v1.

Was this page helpful?