OPEN
OPEN Manager

OPEN Public API

The OPEN Public API is a read-only REST API that lets a studio read its own data — locations, schedule, classes, students, and memberships — over HTTPS as JSON. Authenticate with a per-studio API key generated in your dashboard. The base URL is https://app.openmanagerapp.com/api/v1.
Last updated 2026-06-10

Getting started

The API is a read-only JSON REST API served over HTTPS at https://app.openmanagerapp.com/api/v1. Every endpoint returns JSON and is scoped to a single studio: a request can only ever see the data of the studio that owns the API key it was made with.
A typical first call lists your studio locations: send a GET request to https://app.openmanagerapp.com/api/v1/locations with your API key in the Authorization header. From there you can read the schedule for a date range, drill into a single class, search students, and look up memberships.
All requests must use HTTPS. Responses are UTF-8 JSON. Dates are ISO 8601 (YYYY-MM-DD); times are returned per class as start and end fields.

Authentication

Authenticate every request with your API key. Send it either as a bearer token in the Authorization header — Authorization: Bearer <api_key> — or in the X-API-KEY header. Requests without a valid key return 401.
Keys are per-studio and scoped: a key only ever grants read access to the data of the studio it belongs to. There is no cross-studio access and no write access. Treat your key like a password — anyone with it can read your studio data. If a key is exposed, revoke it in the dashboard and generate a new one.

How a studio gets an API key

API keys are generated from the admin dashboard. Open OPEN Manager (openmanagerapp.com), go to Business Profile, and open the API Keys section. Generate a key there, copy it, and store it somewhere safe — it is shown once.
You can hold more than one key and revoke any of them at any time from the same screen. Revoking a key takes effect immediately and breaks any integration still using it, so rotate deliberately: generate the replacement first, switch your integration over, then revoke the old key.

Endpoint reference

All paths are relative to the base URL https://app.openmanagerapp.com/api/v1. Every endpoint is GET and read-only. The machine-readable contract (request and response schemas) is in the OpenAPI document linked below.

GET /api/v1/locations

List your studio locations.
Returns: An array of locations, each with id, title, priority, and is_main.

GET /api/v1/schedule

List classes in a date range (range up to 31 days).
Parameters
date_from — Start of the range, YYYY-MM-DD.
date_to — End of the range, YYYY-MM-DD (≤31 days after date_from).
Returns: An object { date_start, date_end, classes: [...] }, where each class has id, name, date, start, end, teacher, room, capacity, booked_count, and spots_left.

GET /api/v1/classes/:id

Get one class in detail.
Parameters
:id — The class id.
Returns: A single class with its detail, including roster count and waitlist.

GET /api/v1/students

Search students (paginated, 25 per page).
Parameters
query — Optional search text (name or email).
active — Optional boolean to filter active students.
page — Optional page number (25 results per page).
Returns: An object { students: [{ id, name, email, active, ... }], page, per_page, total_entries, total_pages }.

GET /api/v1/students/:id

Get one student profile.
Parameters
:id — The student id.
Returns: A single student profile.

GET /api/v1/students/active_count

Count active students.
Returns: An object { active_count }.

GET /api/v1/students/:id/memberships

List a student's memberships and tickets.
Parameters
:id — The student id.
Returns: The student's memberships and tickets.

GET /api/v1/expiring_memberships

List memberships expiring within N days.
Parameters
within_days — Window in days; returns memberships expiring within it.
Returns: The memberships expiring within the given window.

Errors and rate limits

Errors are returned as JSON in the shape { "error": <code>, "message": <text> }, with a matching HTTP status. 401 means the API key is missing or invalid. 404 (not_found) means the requested resource does not exist or is not in your studio. 422 (invalid_params) means a parameter was malformed or out of range — for example a schedule range longer than 31 days.
The API is rate limited per key (429 when you exceed the limit). If you receive a 429, back off and retry after a short pause. Because limits are per key, heavy automated workloads should use their own dedicated key.

Frequently asked questions

Is the API read-only?

Yes. The Public API only reads your studio data — there are no endpoints that create, update, or delete anything.

Can one key see other studios?

No. Keys are per-studio and scoped: a key only ever grants read access to the data of the studio that generated it.

Where do I get an API key?

In the admin dashboard at openmanagerapp.com: Business Profile → API Keys. Generate a key there, copy it, and keep it safe — it is shown once.

How do I authenticate?

Send your key as Authorization: Bearer <api_key>, or in the X-API-KEY header. Requests without a valid key return 401.

What is the base URL?

The Public API is served at https://app.openmanagerapp.com/api/v1. The machine-readable OpenAPI document is at https://app.openmanagerapp.com/api/v1/openapi.json.
OPEN
Connecting mindful movers with premier fitness studios worldwide. Your gateway to better movement.
Quick Links
Find Studios
About Us
Contact
For Studios
Become a Partner
Studio Dashboard
Developers / API
© 2026 OPEN CLIENT. All rights reserved.
Privacy Policy
·
Terms of Service