Conventions
The base URL ishttps://api.zenamu.com. The API follows REST conventions:
resources are read with GET, filtered by query parameters, and modified with
POST and a JSON body. Requests and responses are JSON.
- HTTPS only
- Paths are versioned:
/v1/classes,/v1/clients - Resource paths use plural nouns
Two tiers of access
Endpoints split into two groups by the key they accept.
Read the authentication guide.
Response envelope
Every successful response has the same three keys. The payload is always underdata — an array for list endpoints, an object for the credit and pass
endpoints.
data with error and a human-readable message.
Read the errors guide.
IDs
Two kinds of ID appear in responses, and they are not interchangeable._id is an opaque string. Classes, workshops, lecturers, and places are
identified this way. Treat it as a string, store it as given, and never parse or
increment it.
id is a sequential integer. Clients, pass groups, and tags use it, and it
is the value the write endpoints and the filter parameters expect.
A class carries
_id only; a client carries both id and _id. When granting
credits or passes, always send the client’s numeric id.Dates and time zones
Read the dates guide. Date-only fields useYYYY-MM-DD. Events carry their start and end three times
over — in UTC, in the studio’s local time with an offset, and as an IANA
timezone name — so you never have to guess which zone a timestamp is in.
Pagination
Read the pagination guide. The schedule endpoints acceptlimit and offset. Omit them and you get every
event in the requested date range.
Filtering
Read the filtering guide. Filters take comma-separated numeric IDs, for examplelecturerIds=5,10. Each endpoint documents the filters it supports.
Plans and access
The check runs on every request, so a downgrade takes effect immediately
even though the keys keep working, and restoring the plan restores access
without regenerating anything. If Zenamu cannot determine a studio’s plan, the
request is denied with
403 rather than allowed.
Rate limits
Read the rate limits guide. 100 requests per minute, per endpoint.Errors
Read the errors guide and the status codes.Objects
Class
A class or one session of a course.
Workshop
A standalone event with its own address.
Lecturer
A lecturer profile.
Place
A physical location.
Client
A studio client with balances and history.
Pass group
A category of entry passes.
Pricing option
One way to pay for an event.

