Look up Momence members, class schedules, bookings and memberships, and handle front-desk actions.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Put a member on a session's waitlist. If a spot opens and they are booked from the waitlist, Momence uses the best matching bought membership unless you name specific ones in useBoughtMembershipIds. Returns the waitlistBookingId. Momence: POST /api/v2/host/sessions/{sessionId}/waitlist/bookings.
The member id.
The session id.
Bought memberships to try when booking from the waitlist.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Put a member on a session's waitlist. If a spot opens and they are booked from the waitlist, Momence uses the best matching bought membership unless you name specific ones in useBoughtMembershipIds. Returns the waitlistBookingId. Momence: POST /api/v2/host/sessions/{sessionId}/waitlist/bookings.
| Argument | Type | Description |
|---|---|---|
| memberId* | integer | The member id. |
| sessionId* | integer | The session id. |
| useBoughtMembershipIds | array | Bought memberships to try when booking from the waitlist. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sessionId",
"memberId"
],
"properties": {
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"sessionId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The session id.",
"exclusiveMinimum": 0
},
"useBoughtMembershipIds": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"description": "Bought memberships to try when booking from the waitlist."
}
}
}Add a member to a session at no charge (a comp booking), optionally as a recurring booking for every occurrence of a recurring class. Returns the sessionBookingId. Undo with momence_cancel_session_booking. Momence: POST /api/v2/host/sessions/{sessionId}/bookings/free.
| Argument | Type | Description |
|---|---|---|
| memberId* | integer | The member id. |
| sessionId* | integer | The session id. |
| createRecurringBooking | boolean | Also book every future occurrence (recurring sessions only). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sessionId",
"memberId"
],
"properties": {
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"sessionId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The session id.",
"exclusiveMinimum": 0
},
"createRecurringBooking": {
"type": "boolean",
"description": "Also book every future occurrence (recurring sessions only)."
}
}
}Cancel a SINGLE session booking (not a recurring series). By default: NO refund, NOT treated as a late cancellation (no penalty), and the member IS notified. Set refund=true only to return the member's payment or credit; isLateCancellation=true applies the studio's late-cancel policy. Not undoable except by re-booking. Momence: DELETE /api/v2/host/session-bookings/{bookingId}.
| Argument | Type | Description |
|---|---|---|
| refund | boolean | Refund the member's payment/credit for this booking (default false). |
| bookingId* | integer | The session booking id. |
| isLateCancellation | boolean | Treat as a late cancellation under the studio policy (default false). |
| disableNotifications | boolean | Suppress the cancellation notification to the member (default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bookingId"
],
"properties": {
"refund": {
"type": "boolean",
"description": "Refund the member's payment/credit for this booking (default false)."
},
"bookingId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The session booking id.",
"exclusiveMinimum": 0
},
"isLateCancellation": {
"type": "boolean",
"description": "Treat as a late cancellation under the studio policy (default false)."
},
"disableNotifications": {
"type": "boolean",
"description": "Suppress the cancellation notification to the member (default false)."
}
}
}Add a new customer to the studio. Returns the new memberId. Momence: POST /api/v2/host/members.
| Argument | Type | Description |
|---|---|---|
| email* | string | The customer's email address. |
| lastName* | string | Last name. |
| firstName* | string | First name. |
| phoneNumber | string | Phone number. |
| homeLocationId | integer | The customer's home location id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"email",
"firstName",
"lastName"
],
"properties": {
"email": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The customer's email address."
},
"lastName": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Last name."
},
"firstName": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "First name."
},
"phoneNumber": {
"type": "string",
"description": "Phone number."
},
"homeLocationId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "The customer's home location id."
}
}
}Return the staff user the API is acting as (userId, email, name). A cheap way to confirm the credentials work. Momence: GET /api/v2/auth/profile.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fetch one customer by id: contact details, first/last seen, visit counts, custom fields and tags. Momence: GET /api/v2/host/members/{memberId}.
| Argument | Type | Description |
|---|---|---|
| memberId* | integer | The member id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId"
],
"properties": {
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
}
}
}Fetch one session's detail: times, capacity and booking count, waitlist capacity and count, teachers, location, online stream details and tags. Momence: GET /api/v2/host/sessions/{sessionId}.
| Argument | Type | Description |
|---|---|---|
| sessionId* | integer | The session id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sessionId"
],
"properties": {
"sessionId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The session id.",
"exclusiveMinimum": 0
}
}
}List all appointment reservations across the studio (service, teacher, time, price, paid state, attendees). Momence: GET /api/v2/host/appointments/reservations.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| isPaid | boolean | Only paid (true) or unpaid (false) appointments. |
| endAfter | string | Only appointments ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| pageSize | integer | Rows per page, 1-200 (default 20). |
| endBefore | string | Only appointments ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| sortOrder | string | Sort direction. |
| startAfter | string | Only appointments starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| startBefore | string | Only appointments starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| includeCancelled |
List the studio's sales leads, open and converted (a non-null memberId means converted). Filter by search text, lead source or pipeline stage; resolve the ids with momence_list_lead_sources / momence_list_lead_stages. Momence: GET /api/v2/host/customer-leads.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| query | string | Search leads by first name, last name, email or phone. |
| stageId | integer | Only leads in this lead stage. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sourceId | integer | Only leads from this lead source. |
| sortOrder | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"query": {
"type": "string",
"description": "Search leads by first name, last name, email or phone."
},
"stageId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only leads in this lead stage."
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sourceId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only leads from this lead source."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}List lead sources (resolves the sourceId on customer leads). Momence: GET /api/v2/host/customer-lead-sources.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| query | string | Search lead sources by name. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sortOrder | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"query": {
"type": "string",
"description": "Search lead sources by name."
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}List lead pipeline stages (resolves the stageId on customer leads). Momence: GET /api/v2/host/customer-lead-stages.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| query | string | Search lead stages by name. |
| sortBy | string | Field to sort by. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sortOrder | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"query": {
"type": "string",
"description": "Search lead stages by name."
},
"sortBy": {
"enum": [
"name",
"order"
],
"type": "string",
"description": "Field to sort by."
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}List the appointment reservations (1:1 services) of one member. Momence: GET /api/v2/host/members/{memberId}/appointments.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| endAfter | string | Only appointments ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| memberId* | integer | The member id. |
| pageSize | integer | Rows per page, 1-200 (default 20). |
| endBefore | string | Only appointments ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| sortOrder | string | Sort direction. |
| startAfter | string | Only appointments starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| startBefore | string | Only appointments starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| includeCancelled |
List one member's active subscriptions and class packs (bought memberships): type, dates, credits left, usage limits and freeze state. Momence: GET /api/v2/host/members/{memberId}/bought-memberships/active.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| memberId* | integer | The member id. |
| pageSize | integer | Rows per page, 1-200 (default 20). |
| includeFrozen | boolean | Also include frozen memberships. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"pageSize": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows per page, 1-200 (default 20)."
},
"includeFrozen": {
"type": "boolean",
"description": "Also include frozen memberships."
}
}
}List the staff notes (regular and SOAP) recorded on one member. Momence: GET /api/v2/host/members/{memberId}/notes.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| sortBy | string | Field to sort by. |
| memberId* | integer | The member id. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sortOrder | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"sortBy": {
"enum": [
"createdAt",
"modifiedAt"
],
"type": "string",
"description": "Field to sort by."
},
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}List the class/session bookings of one member, with the session details and check-in state. Momence: GET /api/v2/host/members/{memberId}/sessions.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| endAfter | string | Only sessions ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| memberId* | integer | The member id. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| endBefore | string | Only sessions ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| sortOrder | string | Sort direction. |
| startAfter | string | Only sessions starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| startBefore | string | Only sessions starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| includeCancelled |
List or search the studio's customers (members), with visit counts, custom fields and tags. Search by name, email or phone with `query`; use filterPreset=with-active-membership for current members. Momence: GET /api/v2/host/members.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| query | string | Search customers by name, email or phone. |
| sortBy | string | Field to sort by. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sortOrder | string | Sort direction. |
| filterPreset | string | Only customers with an active membership. |
| staticSegmentId | integer | Only customers in this static segment. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"query": {
"type": "string",
"description": "Search customers by name, email or phone."
},
"sortBy": {
"enum": [
"lastSeenAt",
"firstSeenAt",
"firstName",
"lastName",
"email"
],
"type": "string",
"description": "Field to sort by."
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"filterPreset": {
"enum": [
"with-active-membership"
],
"type": "string",
"description": "Only customers with an active membership."
},
"staticSegmentId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only customers in this static segment."
}
}
}List the membership plans the studio sells (subscriptions, class packs, money packs): pricing, duration, credits, usage limits, trial and intro-offer flags. Optionally only plans usable for a given session or appointment. Momence: GET /api/v2/host/memberships.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| sortBy | string | Field to sort by. |
| pageSize | integer | Rows per page, 1-200 (default 20). |
| sortOrder | string | Sort direction. |
| onlyFeatured | boolean | Only featured plans. |
| includeDisabled | boolean | Also include disabled plans. |
| compatibleWithSessionId | integer | Only plans that can pay for this session. |
| compatibleWithAppointmentId | integer | Only plans that can pay for this appointment. |
List who is booked into one session — the class roster — with each booking's id, member, check-in state and recurring-booking id. Momence: GET /api/v2/host/sessions/{sessionId}/bookings.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| sortBy | string | Field to sort by. |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sessionId* | integer | The session id. |
| sortOrder | string | Sort direction. |
| includeCancelled | boolean | Also include cancelled bookings. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sessionId"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"sortBy": {
"enum": [
"createdAt",
"firstName",
"lastName"
],
"type": "string",
"description": "Field to sort by."
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sessionId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The session id.",
"exclusiveMinimum": 0
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"includeCancelled": {
"type": "boolean",
"description": "Also include cancelled bookings."
}
}
}List the studio's scheduled sessions — classes, events, courses — with time, teacher, location, capacity and booking count. Filter by date window, type, teacher or location. Momence: GET /api/v2/host/sessions.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| types | array | Only these session types. |
| sortBy | string | Field to sort by. |
| endAfter | string | Only sessions ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| pageSize | integer | Rows per page, 1-200 (default 20). |
| endBefore | string | Only sessions ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| sortOrder | string | Sort direction. |
| teacherId | integer | Only sessions taught by this teacher. |
| locationId | integer | Only sessions at this location. |
List the customer tags defined for the studio (ids for momence_set_member_tag). Momence: GET /api/v2/host/tags.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 0 (default 0). |
| pageSize | integer | Rows per page, 1-100 (default 20). |
| sortOrder | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}Mark a session booking as checked in (checkedIn=true) or undo the check-in (checkedIn=false). Booking ids come from momence_list_session_bookings. Momence: POST / DELETE /api/v2/host/session-bookings/{bookingId}/check-in.
| Argument | Type | Description |
|---|---|---|
| bookingId* | integer | The session booking id. |
| checkedIn* | boolean | true to check in, false to undo the check-in. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bookingId",
"checkedIn"
],
"properties": {
"bookingId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The session booking id.",
"exclusiveMinimum": 0
},
"checkedIn": {
"type": "boolean",
"description": "true to check in, false to undo the check-in."
}
}
}Assign a customer tag to a member (assigned=true) or remove it (assigned=false). Fully reversible. Tag ids come from momence_list_tags. Momence: POST / DELETE /api/v2/host/members/{memberId}/tags/{tagId}.
| Argument | Type | Description |
|---|---|---|
| tagId* | integer | The tag id. |
| assigned* | boolean | true to assign the tag, false to remove it. |
| memberId* | integer | The member id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId",
"tagId",
"assigned"
],
"properties": {
"tagId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The tag id.",
"exclusiveMinimum": 0
},
"assigned": {
"type": "boolean",
"description": "true to assign the tag, false to remove it."
},
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
}
}
}Correct a customer's contact details. Give firstName+lastName together to rename, and/or email, and/or phoneNumber; each is a separate Momence call (PUT /api/v2/host/members/{memberId}/name, /email, /phone-number) and they run in that order, stopping at the first failure.
| Argument | Type | Description |
|---|---|---|
| string | New email address. | |
| lastName | string | New last name (requires firstName too). |
| memberId* | integer | The member id. |
| firstName | string | New first name (requires lastName too). |
| phoneNumber | string | New phone number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId"
],
"properties": {
"email": {
"type": "string",
"minLength": 1,
"description": "New email address."
},
"lastName": {
"type": "string",
"minLength": 1,
"description": "New last name (requires firstName too)."
},
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"firstName": {
"type": "string",
"minLength": 1,
"description": "New first name (requires lastName too)."
},
"phoneNumber": {
"type": "string",
"minLength": 1,
"description": "New phone number."
}
}
}| boolean |
| Also include cancelled appointments. |
| includeCancelledAttendees | boolean | Also include attendees who cancelled. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"isPaid": {
"type": "boolean",
"description": "Only paid (true) or unpaid (false) appointments."
},
"endAfter": {
"type": "string",
"description": "Only appointments ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"pageSize": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows per page, 1-200 (default 20)."
},
"endBefore": {
"type": "string",
"description": "Only appointments ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"startAfter": {
"type": "string",
"description": "Only appointments starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"startBefore": {
"type": "string",
"description": "Only appointments starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"includeCancelled": {
"type": "boolean",
"description": "Also include cancelled appointments."
},
"includeCancelledAttendees": {
"type": "boolean",
"description": "Also include attendees who cancelled."
}
}
}| boolean |
| Also include cancelled appointments. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"endAfter": {
"type": "string",
"description": "Only appointments ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"pageSize": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows per page, 1-200 (default 20)."
},
"endBefore": {
"type": "string",
"description": "Only appointments ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"startAfter": {
"type": "string",
"description": "Only appointments starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"startBefore": {
"type": "string",
"description": "Only appointments starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"includeCancelled": {
"type": "boolean",
"description": "Also include cancelled appointments."
}
}
}| boolean |
| Also include cancelled bookings. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"memberId"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"endAfter": {
"type": "string",
"description": "Only sessions ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"memberId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The member id.",
"exclusiveMinimum": 0
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1-100 (default 20)."
},
"endBefore": {
"type": "string",
"description": "Only sessions ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"startAfter": {
"type": "string",
"description": "Only sessions starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"startBefore": {
"type": "string",
"description": "Only sessions starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"includeCancelled": {
"type": "boolean",
"description": "Also include cancelled bookings."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"sortBy": {
"enum": [
"name",
"orderNumber"
],
"type": "string",
"description": "Field to sort by."
},
"pageSize": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows per page, 1-200 (default 20)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"onlyFeatured": {
"type": "boolean",
"description": "Only featured plans."
},
"includeDisabled": {
"type": "boolean",
"description": "Also include disabled plans."
},
"compatibleWithSessionId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only plans that can pay for this session."
},
"compatibleWithAppointmentId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only plans that can pay for this appointment."
}
}
}| startAfter | string | Only sessions starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| startBefore | string | Only sessions starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z). |
| includeCancelled | boolean | Also include cancelled sessions. |
| includeChildLocations | boolean | With locationId, also include its child locations. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Page number, starting at 0 (default 0)."
},
"types": {
"type": "array",
"items": {
"enum": [
"private",
"special-event",
"special-event-new",
"retreat",
"fitness",
"course",
"course-class",
"semester",
"recital"
],
"type": "string"
},
"description": "Only these session types."
},
"sortBy": {
"enum": [
"name",
"startsAt",
"endsAt"
],
"type": "string",
"description": "Field to sort by."
},
"endAfter": {
"type": "string",
"description": "Only sessions ending after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"pageSize": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Rows per page, 1-200 (default 20)."
},
"endBefore": {
"type": "string",
"description": "Only sessions ending before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"sortOrder": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"teacherId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only sessions taught by this teacher."
},
"locationId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Only sessions at this location."
},
"startAfter": {
"type": "string",
"description": "Only sessions starting after (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"startBefore": {
"type": "string",
"description": "Only sessions starting before (ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z)."
},
"includeCancelled": {
"type": "boolean",
"description": "Also include cancelled sessions."
},
"includeChildLocations": {
"type": "boolean",
"description": "With locationId, also include its child locations."
}
}
}