GymLinx REST API
Build custom integrations with your gym management platform. The GymLinx API provides programmatic access to members, classes, payments, check-ins, and more.
Base URL
https://api.gymlinx.com/v1 Authentication
All API requests require a Bearer token in the Authorization header. Generate API keys at Settings → API → Generate Key in your dashboard.
Authorization: Bearer your_api_key_here
API keys have scoped permissions — you choose which resources each key can access (members.read, payments.write, etc.).
Rate Limits
| Plan | Limit | Headers |
|---|---|---|
| Starter | 100 req/min | X-RateLimit-Limit, X-RateLimit-Remaining |
| Professional | 500 req/min | X-RateLimit-Limit, X-RateLimit-Remaining |
| Enterprise | Custom | X-RateLimit-Limit, X-RateLimit-Remaining |
/v1/members List Members
Returns a paginated list of members for your organization. You can filter the results by branch or search for specific member names.
Requires scope: members.read
Parameters
limit Optional integer Default: 20 Number of records to return per page. Maximum value is 100.
offset Optional integer Default: 0 The number of items to skip before starting to collect the result set.
branch_id Optional UUID Filter members belonging to a specific gym branch.
search Optional string Search members by name or email.
Request
curl -X GET "https://api.gymlinx.com/v1/members?limit=20" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" /v1/classes List Classes
Returns upcoming classes with schedule, instructor, and capacity information. Filter by branch, date range, or instructor.
Requires scope: classes.read
Parameters
branch_id Optional UUID Filter classes by branch.
from Optional date Start date (ISO 8601). Defaults to today.
to Optional date End date (ISO 8601). Defaults to 7 days from now.
instructor_id Optional UUID Filter by instructor.
Request
curl -X GET "https://api.gymlinx.com/v1/classes?limit=20" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" /v1/payments List Payments
Returns transaction history with amounts, statuses, and member details. Filter by date range, status, or member.
Requires scope: payments.read
Parameters
status Optional string Filter by status: succeeded, failed, refunded, pending.
member_id Optional UUID Filter transactions for a specific member.
from Optional date Start date for transaction range.
to Optional date End date for transaction range.
Request
curl -X GET "https://api.gymlinx.com/v1/payments?limit=20" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" /v1/check-ins List Check-ins
Returns check-in records with timestamps, member details, and branch information. Useful for attendance analytics.
Requires scope: check_ins.read
Parameters
branch_id Optional UUID Filter check-ins by branch.
member_id Optional UUID Filter check-ins for a specific member.
date Optional date Filter by specific date (ISO 8601).
Request
curl -X GET "https://api.gymlinx.com/v1/check-ins?limit=20" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" Webhooks
Configure webhooks to receive real-time notifications when events occur in your gym. Set up webhook endpoints at Settings → API → Webhooks.
Available Events
member.created member.updated member.deleted payment.succeeded payment.failed class.booked class.cancelled check_in.created SDKs
Official client libraries for popular languages. All SDKs are open source and available on GitHub.
JavaScript / TypeScript
npm install @gymlinx/sdk Python
pip install gymlinx PHP
composer require gymlinx/sdk Error Codes
| Code | Message | Description |
|---|---|---|
| 400 | bad_request | The request body or parameters are invalid. |
| 401 | unauthorized | Invalid or expired API key. |
| 403 | forbidden | Scope insufficient for this resource. |
| 404 | not_found | The requested resource does not exist. |
| 429 | rate_limit_exceeded | Too many requests in a given window. |
| 500 | internal_error | An unexpected error occurred. Contact support. |