ABC Trainerize Clients API
Create, update, find, and manage clients, trainer assignment, tags, and groups.
Create, update, find, and manage clients, trainer assignment, tags, and groups.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/trainerize-clients-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ABC Trainerize Clients API
description: Programmatic access to an ABC Trainerize personal-training / fitness-coaching business.
version: v03
contact:
name: ABC Trainerize
url: https://www.trainerize.com
x-parent-company: ABC Fitness Solutions (Trainerize was acquired by ABC Fitness in 2021)
servers:
- url: https://api.trainerize.com/v03
description: ABC Trainerize production API (host + v03 version prefix confirmed live; requires provisioned credentials)
security:
- apiKey: []
tags:
- name: Clients
description: Create, update, find, and manage clients, trainer assignment, tags, and groups.
paths:
/client/find:
post:
operationId: findClient
tags:
- Clients
summary: Find a client
description: Searches for a client in the business by a term such as email or name. (Modeled from the documented "Find Client" search action.)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientSearchInput'
responses:
'200':
description: Matching clients.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Client'
'401':
$ref: '#/components/responses/Unauthorized'
/client/addOrUpdate:
post:
operationId: addOrUpdateClient
tags:
- Clients
summary: Create or update a client
description: Creates a new client or updates an existing one (the documented "Create / Update Client V2" action). Used to onboard clients from a form or CRM.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientInput'
responses:
'200':
description: The created or updated client.
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
/client/deactivate:
post:
operationId: deactivateClient
tags:
- Clients
summary: Deactivate a client
description: Deactivates (archives) a client so they no longer count as active.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientRef'
responses:
'200':
description: Deactivation result.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/client/reactivate:
post:
operationId: reactivateClient
tags:
- Clients
summary: Reactivate a client
description: Reactivates a previously deactivated client.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientRef'
responses:
'200':
description: Reactivation result.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/client/assignTrainer:
post:
operationId: assignTrainer
tags:
- Clients
summary: Assign a client to a trainer
description: Assigns (or reassigns) a client to a trainer within the business.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- userID
- trainerID
properties:
userID:
type: integer
trainerID:
type: integer
responses:
'200':
description: Assignment result.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/client/tag:
post:
operationId: modifyClientTag
tags:
- Clients
summary: Add or remove a client tag
description: Adds a tag to or removes a tag from a client (documented add/remove tag actions).
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- userID
- tag
- action
properties:
userID:
type: integer
tag:
type: string
action:
type: string
enum:
- add
- remove
responses:
'200':
description: Tag change result.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/client/group:
post:
operationId: modifyClientGroup
tags:
- Clients
summary: Add or remove a client from a group
description: Adds a client to or removes a client from a group.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- userID
- groupID
- action
properties:
userID:
type: integer
groupID:
type: integer
action:
type: string
enum:
- add
- remove
responses:
'200':
description: Group change result.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
ClientSearchInput:
type: object
properties:
email:
type: string
format: email
searchTerm:
type: string
trainerID:
type: integer
Client:
allOf:
- $ref: '#/components/schemas/ClientInput'
- type: object
properties:
userID:
type: integer
status:
type: string
enum:
- active
- inactive
StatusResponse:
type: object
properties:
success:
type: boolean
message:
type: string
ClientInput:
type: object
required:
- email
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
phone:
type: string
trainerID:
type: integer
tags:
type: array
items:
type: string
Error:
type: object
properties:
code:
type: string
message:
type: string
ClientRef:
type: object
required:
- userID
properties:
userID:
type: integer
description: The ABC Trainerize user ID of the client.
responses:
ValidationError:
description: The request payload failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing or invalid credentials, or the plan does not include API access.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization
description: API key provisioned in the ABC Trainerize account settings (Studio and Enterprise plans only). An OAuth2 connection is also offered for partner integrations. The exact header format is documented only in the gated help center; model as an Authorization header credential.