Users
User management, authentication, profiles, and account operations.
o0drORnu2aUjJEvceKPa4QUyJgC2["items._links.membership"]Returns a MembershipSubscriptionCollection
GET /apis/v2/users/{userId}/memberships HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a MembershipSubscriptionCollection
{
"items": [
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"status": "DRAFT",
"extendedStatus": "ACTIVE",
"mode": "PREVIEW",
"condition": "VALID",
"conditionUpdatedDate": "2026-01-01T00:00:00.000Z",
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"cancellationRequestDate": "2026-01-01T00:00:00.000Z",
"lastChargeDate": "2026-01-01T00:00:00.000Z",
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"lastGrantDate": "2026-01-01T00:00:00.000Z",
"nextGrantDate": "2026-01-01T00:00:00.000Z",
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"billingCycleEnd": "2026-01-01T00:00:00.000Z",
"activePause": {
"id": "text",
"pauseStartDate": "2026-01-01T00:00:00.000Z",
"pauseEndDate": "2026-01-01T00:00:00.000Z",
"pauseDurationWeeks": 1,
"pauseFeePaid": 1,
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {
"id": "text"
},
"_links": {}
},
"timezone": "text",
"price": 1,
"initiationFee": 1,
"durationDays": 1,
"oneTimeOption": {
"id": "text"
},
"total": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"additionalMemberFee": 1,
"chargeType": "FREE",
"member": {
"id": "text"
},
"membership": {
"id": "text"
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"order": {
"id": "text"
},
"summary": {
"total": 1,
"membershipPrice": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"messages": [
{
"code": "text",
"message": "text"
}
],
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"initiationFee": 1,
"chargeType": "FREE"
},
"_links": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2The last time the membership perks were granted to the user
The timezone used to display and calculate charge and grant dates for the subscription.
The number of days the membership will be active for if the charge type is non-recurring
Returns a MembershipSubscription
The last time the membership perks were granted to the user
The timezone used to display and calculate charge and grant dates for the subscription.
The number of days the membership will be active for if the charge type is non-recurring
Returns an error
Returns an ErrorDto in case of validation errors or failures.
Possible error codes are:MS001: A payment method is required to continue.MS002: The payment method is not active.MS003: A phone number is required.MS010: You are not allowed to perform this action.MS011: Custom price cannot be 0, use Free instead.MS012: We've reached the maximum number of members for this membershipMS013: To change from monthly to annual payment or vice versa, you must first cancel your current membershipMS014: To change your membership plan, you must first cancel your current membershipMS015: This membership is not available for purchase on the selected payment planMS016: To change your membership plan, you must wait until your current membership cancellation is effectiveMS017: Liability waiver acceptance is required.MS018: Liability Waiver agreement not found. Please contact support.MS019: Custom price cannot be 0 for non-recurring memberships. Only admins can create free passes.MS020: Invalid membership configuration. Please contact support.MS021: To change your membership plan, your current membership cannot be paused or pending pause.MS040: Unable to proceed with the current payment method. Please try using a different one.MS041: Prepaid cards are not accepted, please use a credit or debit card.RA001: Could not confirm the payment. Please try again.
POST /apis/v2/users/{userId}/memberships HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
user-agent: text
Content-Type: application/json
Accept: */*
Content-Length: 769
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"status": "DRAFT",
"extendedStatus": "ACTIVE",
"mode": "PREVIEW",
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"cancellationRequestDate": "2026-01-01T00:00:00.000Z",
"lastChargeDate": "2026-01-01T00:00:00.000Z",
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"nextGrantDate": "2026-01-01T00:00:00.000Z",
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"billingCycleEnd": "2026-01-01T00:00:00.000Z",
"activePause": {
"_links": {}
},
"timezone": "text",
"price": 1,
"initiationFee": 1,
"durationDays": 1,
"oneTimeOption": {
"id": "text"
},
"total": 1,
"additionalMemberFee": 1,
"chargeType": "FREE",
"member": {
"id": "text"
},
"membership": {
"id": "text"
},
"order": {
"id": "text"
},
"_links": {}
}{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"status": "DRAFT",
"extendedStatus": "ACTIVE",
"mode": "PREVIEW",
"condition": "VALID",
"conditionUpdatedDate": "2026-01-01T00:00:00.000Z",
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"cancellationRequestDate": "2026-01-01T00:00:00.000Z",
"lastChargeDate": "2026-01-01T00:00:00.000Z",
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"lastGrantDate": "2026-01-01T00:00:00.000Z",
"nextGrantDate": "2026-01-01T00:00:00.000Z",
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"billingCycleEnd": "2026-01-01T00:00:00.000Z",
"activePause": {
"id": "text",
"pauseStartDate": "2026-01-01T00:00:00.000Z",
"pauseEndDate": "2026-01-01T00:00:00.000Z",
"pauseDurationWeeks": 1,
"pauseFeePaid": 1,
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {
"id": "text"
},
"_links": {}
},
"timezone": "text",
"price": 1,
"initiationFee": 1,
"durationDays": 1,
"oneTimeOption": {
"id": "text"
},
"total": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"additionalMemberFee": 1,
"chargeType": "FREE",
"member": {
"id": "text"
},
"membership": {
"id": "text"
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"order": {
"id": "text"
},
"summary": {
"total": 1,
"membershipPrice": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"messages": [
{
"code": "text",
"message": "text"
}
],
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"initiationFee": 1,
"chargeType": "FREE"
},
"_links": {}
}3857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2["_links.membership"]Returns a MembershipSubscription
The last time the membership perks were granted to the user
The timezone used to display and calculate charge and grant dates for the subscription.
The number of days the membership will be active for if the charge type is non-recurring
GET /apis/v2/users/{userId}/memberships/{membershipSubscriptionId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a MembershipSubscription
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"status": "DRAFT",
"extendedStatus": "ACTIVE",
"mode": "PREVIEW",
"condition": "VALID",
"conditionUpdatedDate": "2026-01-01T00:00:00.000Z",
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"cancellationRequestDate": "2026-01-01T00:00:00.000Z",
"lastChargeDate": "2026-01-01T00:00:00.000Z",
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"lastGrantDate": "2026-01-01T00:00:00.000Z",
"nextGrantDate": "2026-01-01T00:00:00.000Z",
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"billingCycleEnd": "2026-01-01T00:00:00.000Z",
"activePause": {
"id": "text",
"pauseStartDate": "2026-01-01T00:00:00.000Z",
"pauseEndDate": "2026-01-01T00:00:00.000Z",
"pauseDurationWeeks": 1,
"pauseFeePaid": 1,
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {
"id": "text"
},
"_links": {}
},
"timezone": "text",
"price": 1,
"initiationFee": 1,
"durationDays": 1,
"oneTimeOption": {
"id": "text"
},
"total": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"additionalMemberFee": 1,
"chargeType": "FREE",
"member": {
"id": "text"
},
"membership": {
"id": "text"
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"order": {
"id": "text"
},
"summary": {
"total": 1,
"membershipPrice": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"messages": [
{
"code": "text",
"message": "text"
}
],
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"initiationFee": 1,
"chargeType": "FREE"
},
"_links": {}
}3857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2["_links.membership"]The timezone used to display and calculate charge and grant dates for the subscription.
Returns a MembershipSubscription
The last time the membership perks were granted to the user
The timezone used to display and calculate charge and grant dates for the subscription.
The number of days the membership will be active for if the charge type is non-recurring
PATCH /apis/v2/users/{userId}/memberships/{membershipSubscriptionId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 160
{
"lastChargeDate": "2026-01-01T00:00:00.000Z",
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"nextGrantDate": "2026-01-01T00:00:00.000Z",
"timezone": "text",
"price": 1
}Returns a MembershipSubscription
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"status": "DRAFT",
"extendedStatus": "ACTIVE",
"mode": "PREVIEW",
"condition": "VALID",
"conditionUpdatedDate": "2026-01-01T00:00:00.000Z",
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"cancellationRequestDate": "2026-01-01T00:00:00.000Z",
"lastChargeDate": "2026-01-01T00:00:00.000Z",
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"lastGrantDate": "2026-01-01T00:00:00.000Z",
"nextGrantDate": "2026-01-01T00:00:00.000Z",
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"billingCycleEnd": "2026-01-01T00:00:00.000Z",
"activePause": {
"id": "text",
"pauseStartDate": "2026-01-01T00:00:00.000Z",
"pauseEndDate": "2026-01-01T00:00:00.000Z",
"pauseDurationWeeks": 1,
"pauseFeePaid": 1,
"status": "PENDING",
"createdAt": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {
"id": "text"
},
"_links": {}
},
"timezone": "text",
"price": 1,
"initiationFee": 1,
"durationDays": 1,
"oneTimeOption": {
"id": "text"
},
"total": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"additionalMemberFee": 1,
"chargeType": "FREE",
"member": {
"id": "text"
},
"membership": {
"id": "text"
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"order": {
"id": "text"
},
"summary": {
"total": 1,
"membershipPrice": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"fees": [
{
"name": "Credit Card Fee",
"percentage": 2.9,
"amount": 100
}
],
"messages": [
{
"code": "text",
"message": "text"
}
],
"billingCycleStart": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"initiationFee": 1,
"chargeType": "FREE"
},
"_links": {}
}3857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2["items._links.redemptions"]Returns a PackageCollection
GET /apis/v2/users/{userId}/memberships/{membershipSubscriptionId}/packages HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a PackageCollection
{
"items": [
{
"id": "text",
"displayName": "text",
"displayNamePlural": "text",
"status": "ACTIVE",
"createdDate": "2026-01-01T00:00:00.000Z",
"expirationDate": "2026-01-01T00:00:00.000Z",
"items": {
"items": [
{
"id": "text",
"type": "BOOKING",
"displayName": "text",
"displayNamePlural": "text",
"totalItems": 1,
"constraints": {
"bookingEventSubtype": [
null
],
"bookingEventCustomType": "text",
"bookingEventCustomTypesMatchAny": [
"text"
],
"bookingEventTagsMatchAll": [
"text"
],
"bookingEventTagsMatchAny": [
"text"
],
"allowKids": true,
"bookingSessionPeriodTypeMatchAny": [
null
],
"bookingAreaSlugMatchAny": [
"text"
],
"bookingPodIdsMatchAny": [
"text"
]
},
"remainingItems": 1
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"redemptions": {
"items": [
{
"id": "text",
"redemptionDate": "2026-01-01T00:00:00.000Z",
"item": 1,
"user": {
"id": "text"
},
"order": {
"id": "text"
},
"orderItem": {
"id": "text"
},
"cancelationDate": "2026-01-01T00:00:00.000Z",
"_links": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"template": {
"id": "text"
},
"order": {
"id": "text"
},
"_links": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2["items._links.membershipSubscription"]Returns a MembershipEnrollmentCollection
GET /apis/v2/users/{userId}/enrollments HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a MembershipEnrollmentCollection
{
"items": [
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"user": {
"id": "text"
},
"creatorUser": {
"id": "text"
},
"membership": {
"id": "text"
},
"membershipSubscription": {
"id": "text"
},
"isOwner": true,
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"customFee": 0,
"_links": {}
}
],
"_total": 1,
"_links": {}
}3857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2Returns a MembershipSubscription
0GET /apis/v2/users/{userId}/enrollments/{membershipEnrollmentId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a MembershipSubscription
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"user": {
"id": "text"
},
"creatorUser": {
"id": "text"
},
"membership": {
"id": "text"
},
"membershipSubscription": {
"id": "text"
},
"isOwner": true,
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"customFee": 0,
"_links": {}
}eff5a89e-b040-493d-ab9c-1f3a4763b451W2kubmCsuXS2AvyRw2NyyJ3CePl2Returns a membershipEnrollmentCollection
GET /apis/v2/users/{userId}/memberships/{membershipSubscriptionId}/enrollments HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a membershipEnrollmentCollection
{
"items": [
{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"user": {
"id": "text"
},
"creatorUser": {
"id": "text"
},
"membership": {
"id": "text"
},
"membershipSubscription": {
"id": "text"
},
"isOwner": true,
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"customFee": 0,
"_links": {}
}
],
"_total": 1,
"_links": {}
}eff5a89e-b040-493d-ab9c-1f3a4763b451W2kubmCsuXS2AvyRw2NyyJ3CePl20Returns an UsersMembershipSubscription
0Returns an error
POST /apis/v2/users/{userId}/memberships/{membershipSubscriptionId}/enrollments HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 216
{
"id": "text",
"user": {
"id": "text"
},
"membershipSubscription": {
"id": "text"
},
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"customFee": 0,
"_links": {}
}{
"id": "text",
"displayName": "text",
"type": "GLOBAL_MEMBER",
"user": {
"id": "text"
},
"creatorUser": {
"id": "text"
},
"membership": {
"id": "text"
},
"membershipSubscription": {
"id": "text"
},
"isOwner": true,
"createdDate": "2026-01-01T00:00:00.000Z",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"customFee": 0,
"_links": {}
}eff5a89e-b040-493d-ab9c-1f3a4763b451W2kubmCsuXS2AvyRw2NyyJ3CePl2Returns an MembershipEnrollmentInvitationCollection
Returns an error
PATCH /apis/v2/users/{userId}/memberships/{membershipSubscriptionId}/invitations HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 70
{
"items": [
{
"inviteeEmail": "text",
"_links": {}
}
],
"_total": 1,
"_links": {}
}{
"items": [
{
"id": "text",
"status": "text",
"createdDate": "2026-01-01T00:00:00.000Z",
"acceptedDate": "2026-01-01T00:00:00.000Z",
"declinedDate": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {},
"membership": {},
"inviteeEmail": "text",
"inviter": {},
"invitee": {},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}
],
"_total": 1,
"_links": {}
}eff5a89e-b040-493d-ab9c-1f3a4763b451feff5a88e-b040-ab9c-493d-1f3a4763b454W2kubmCsuXS2AvyRw2NyyJ3CePl2Returns a MembershipEnrollmentInvitation
GET /apis/v2/users/{userId}/memberships/{membershipSubscriptionId}/invitations/{invitationId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a MembershipEnrollmentInvitation
{
"id": "text",
"status": "text",
"createdDate": "2026-01-01T00:00:00.000Z",
"acceptedDate": "2026-01-01T00:00:00.000Z",
"declinedDate": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {},
"membership": {},
"inviteeEmail": "text",
"inviter": {},
"invitee": {},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}eff5a89e-b040-493d-ab9c-1f3a4763b451feff5a88e-b040-ab9c-493d-1f3a4763b454W2kubmCsuXS2AvyRw2NyyJ3CePl2Returns a MembershipEnrollmentInvitation
PATCH /apis/v2/users/{userId}/memberships/{membershipSubscriptionId}/invitations/{invitationId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35
{
"inviteeEmail": "text",
"_links": {}
}Returns a MembershipEnrollmentInvitation
{
"id": "text",
"status": "text",
"createdDate": "2026-01-01T00:00:00.000Z",
"acceptedDate": "2026-01-01T00:00:00.000Z",
"declinedDate": "2026-01-01T00:00:00.000Z",
"membershipSubscription": {},
"membership": {},
"inviteeEmail": "text",
"inviter": {},
"invitee": {},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}1857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2Returns an MembershipEnrollmentReactivation
Returns an error
POST /apis/v2/users/{userId}/enrollments/{membershipEnrollmentId}/reactivations HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 34
{
"type": "PREVIEW",
"reason": "text"
}{
"type": "PREVIEW",
"reason": "text",
"summary": {
"policy": "FREE_OF_CHARGE",
"reactivationTime": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}
}1857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2Returns an EventSignupCancellation
Returns an error
POST /apis/v2/users/{userId}/enrollments/{membershipEnrollmentId}/cancellation HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 72
{
"type": "PREVIEW",
"reason": "text",
"extraMemberFee": 1,
"immediately": true
}{
"type": "PREVIEW",
"status": "DRAFT",
"reason": "text",
"extraMemberFee": 1,
"immediately": true,
"summary": {
"policy": "FREE_OF_CHARGE",
"cancellationTime": "2026-01-01T00:00:00.000Z",
"validUntilTime": "2026-01-01T00:00:00.000Z",
"cancellationFee": 1,
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"messages": [
{
"code": "text",
"message": "text"
}
]
}
}1857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2Duration of pause in weeks
Returns a MembershipEnrollmentPause
Duration of pause in weeks
Returns an error
POST /apis/v2/users/{userId}/enrollments/{membershipEnrollmentId}/pause HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 49
{
"type": "PREVIEW",
"durationWeeks": 1,
"pauseFee": 1
}{
"type": "PREVIEW",
"status": "DRAFT",
"durationWeeks": 1,
"pauseFee": 1,
"summary": {
"pauseStartDate": "2026-01-01T00:00:00.000Z",
"pauseEndDate": "2026-01-01T00:00:00.000Z",
"pauseDurationWeeks": 1,
"pauseFee": 1,
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"messages": [
{
"code": "text",
"message": "text"
}
]
}
}1857358a-59e8-4944-8c48-3345c4375b43o0drORnu2aUjJEvceKPa4QUyJgC2Returns a MembershipEnrollmentUnpause
Returns an error
POST /apis/v2/users/{userId}/enrollments/{membershipEnrollmentId}/unpause HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"type": "PREVIEW"
}{
"type": "PREVIEW",
"summary": {
"unpauseTime": "2026-01-01T00:00:00.000Z",
"actualPauseDurationWeeks": 1,
"nextChargeDate": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}
}matiApplicable only if areaId is specified.
2022-01-01T00:00:00.000Z2024-01-01T00:00:00.000Z2022-01-01T00:00:00.000Z2024-01-01T23:59:59.999Z["GRACE"]130If true, do not bypass location filters for exact email/full-name searches.
["items._links.phoneNumber","items._links.paymentMethod","items._links.profile"]If not set, sort will be defaulted as fullName (ASC)
-fullName["COACH"]["home-pod-nyc"]["les","w37"]["les","w37"]["userId1","userId2"]Returns a UserCollection
GET /apis/v2/users HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserCollection
{
"items": [
{
"id": "text",
"email": "name@gmail.com",
"firstName": "text",
"lastName": "text",
"description": "text",
"notes": {
"id": "text"
},
"phoneNumberPreview": "text",
"phoneNumber": {
"id": "text"
},
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"paymentMethod": {
"id": "text"
},
"paymentElements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"favoriteReplays": {},
"profile": {
"id": "text"
},
"coachProfile": {
"id": "text"
},
"qrCode": {
"id": "text"
},
"membershipEnrollment": {
"id": "text"
},
"ratings": {
"_total": 1
},
"securityPicture": {
"id": "text"
},
"chat": {
"id": "text"
},
"segmentation": {
"id": "text"
},
"_links": {}
}
],
"_pagination": {
"page": 1,
"ipp": 1,
"count": 1,
"total": 1
},
"_links": {
"self": {
"href": "text"
}
}
}lesMinimum requirements: 6 characters long, at least 1 number.
Phone verification session ID from the signup phone verification flow. Required when the tenant has phone number verification enabled on signup.
Returns the UserSignup
Minimum requirements: 6 characters long, at least 1 number.
Phone verification session ID from the signup phone verification flow. Required when the tenant has phone number verification enabled on signup.
Returns an ErrorDto in case of validation errors or failures.
Possible error codes are:US001: The email address is not valid.US002: The email address is already in use.US003: The password does not meet the minimum requirements.US004: Birthday is required.US005: Gender is required.US006: Gender is too long. (Max 25 characters)US007: Must be at least {{minimumAge}} years old to sign up.US008: You must accept the liability waiver to sign up.US009: Invalid agreement IDs: {{invalidAgreementIds}}
POST /apis/v2/users HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 308
{
"email": "name@gmail.com",
"password": "text",
"firstName": "text",
"lastName": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"emailMarketingOptIn": true,
"smsMarketingOptIn": true,
"acceptedAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"phoneVerificationSessionId": "text"
}{
"id": "text",
"email": "name@gmail.com",
"password": "text",
"firstName": "text",
"lastName": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"emailMarketingOptIn": true,
"smsMarketingOptIn": true,
"requiredAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"phoneVerificationSessionId": "text",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}Disconnect the DUPR account from the user
No content
POST /apis/v2/users/{userId}/dupr/logout HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Disconnect the DUPR account from the user
No content
["_links.phoneNumber","_links.paymentMethod","_links.profile"]Returns the logged in User
GET /apis/v2/users/current HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns the logged in User
{
"id": "text",
"email": "name@gmail.com",
"firstName": "text",
"lastName": "text",
"description": "text",
"notes": {
"id": "text"
},
"phoneNumberPreview": "text",
"phoneNumber": {
"id": "text"
},
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"paymentMethod": {
"id": "text"
},
"paymentElements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"favoriteReplays": {},
"profile": {
"id": "text"
},
"coachProfile": {
"id": "text"
},
"qrCode": {
"id": "text"
},
"membershipEnrollment": {
"id": "text"
},
"ratings": {
"_total": 1
},
"securityPicture": {
"id": "text"
},
"chat": {
"id": "text"
},
"segmentation": {
"id": "text"
},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2["_links.phoneNumber","_links.paymentMethod","_links.profile","_links.coachProfile","_links.picture"]Returns a User
GET /apis/v2/users/{userId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a User
{
"id": "text",
"email": "name@gmail.com",
"firstName": "text",
"lastName": "text",
"description": "text",
"notes": {
"id": "text"
},
"phoneNumberPreview": "text",
"phoneNumber": {
"id": "text"
},
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"paymentMethod": {
"id": "text"
},
"paymentElements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"favoriteReplays": {},
"profile": {
"id": "text"
},
"coachProfile": {
"id": "text"
},
"qrCode": {
"id": "text"
},
"membershipEnrollment": {
"id": "text"
},
"ratings": {
"_total": 1
},
"securityPicture": {
"id": "text"
},
"chat": {
"id": "text"
},
"segmentation": {
"id": "text"
},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns the deleted User
DELETE /apis/v2/users/{userId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns the deleted User
{
"id": "text",
"email": "name@gmail.com",
"firstName": "text",
"lastName": "text",
"description": "text",
"notes": {
"id": "text"
},
"phoneNumberPreview": "text",
"phoneNumber": {
"id": "text"
},
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"paymentMethod": {
"id": "text"
},
"paymentElements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"favoriteReplays": {},
"profile": {
"id": "text"
},
"coachProfile": {
"id": "text"
},
"qrCode": {
"id": "text"
},
"membershipEnrollment": {
"id": "text"
},
"ratings": {
"_total": 1
},
"securityPicture": {
"id": "text"
},
"chat": {
"id": "text"
},
"segmentation": {
"id": "text"
},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2["_links.phoneNumber"]Returns a User
Returns an Error
PATCH /apis/v2/users/{userId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 301
{
"firstName": "text",
"lastName": "text",
"description": "text",
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"securityPicture": {
"id": "text"
}
}{
"id": "text",
"email": "name@gmail.com",
"firstName": "text",
"lastName": "text",
"description": "text",
"notes": {
"id": "text"
},
"phoneNumberPreview": "text",
"phoneNumber": {
"id": "text"
},
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"paymentMethod": {
"id": "text"
},
"paymentElements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"favoriteReplays": {},
"profile": {
"id": "text"
},
"coachProfile": {
"id": "text"
},
"qrCode": {
"id": "text"
},
"membershipEnrollment": {
"id": "text"
},
"ratings": {
"_total": 1
},
"securityPicture": {
"id": "text"
},
"chat": {
"id": "text"
},
"segmentation": {
"id": "text"
},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2No content
POST /apis/v2/users/{userId}/activation HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
o0drORnu2aUjJEvceKPa4QUyJgC2No content
DELETE /apis/v2/users/{userId}/activation HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
o0drORnu2aUjJEvceKPa4QUyJgC2130["items._links.replay","items._links.event","items._links.event._links.invitations","items._links.event._links.invitations.items._links.inviteeProfile"]Returns a EventReplayPaginatedCollection
GET /apis/v2/users/{userId}/favorite-replays HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a EventReplayPaginatedCollection
{
"items": [
"text"
],
"_pagination": {
"page": 1,
"ipp": 1,
"count": 1,
"total": 1
},
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2No content
POST /apis/v2/users/{userId}/coach-profile HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
o0drORnu2aUjJEvceKPa4QUyJgC2No content
DELETE /apis/v2/users/{userId}/coach-profile HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserContactCollection
GET /apis/v2/users/{userId}/contacts HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserContactCollection
{
"items": [
{
"id": "text",
"type": "EMAIL",
"email": "text",
"phoneNumber": "text"
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2130Returns a VirtualCreditsTransactionsCollection
GET /apis/v2/users/{userId}/virtual-credits-transactions HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a VirtualCreditsTransactionsCollection
{
"items": [
{
"id": "text",
"order": {
"id": "text"
},
"user": {
"id": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z",
"amountType": "INCOME",
"amount": 1,
"balance": 1,
"source": "BOOKING",
"reason": "text",
"updatedBy": {
"id": "text"
},
"_links": {}
}
],
"_pagination": {
"page": 1,
"ipp": 1,
"count": 1,
"total": 1
},
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a User with updated virtual credits
POST /apis/v2/users/{userId}/virtual-credits-transactions HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 62
{
"amountType": "INCOME",
"amount": 1,
"reason": "text",
"_links": {}
}Returns a User with updated virtual credits
{
"id": "text",
"email": "name@gmail.com",
"firstName": "text",
"lastName": "text",
"description": "text",
"notes": {
"id": "text"
},
"phoneNumberPreview": "text",
"phoneNumber": {
"id": "text"
},
"roles": [
"ADMIN"
],
"rolesAreas": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"flags": [
"NEW"
],
"paymentMethod": {
"id": "text"
},
"paymentElements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"freeQuickReplays": 1,
"picture": {
"id": "text"
},
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"favoriteReplays": {},
"profile": {
"id": "text"
},
"coachProfile": {
"id": "text"
},
"qrCode": {
"id": "text"
},
"membershipEnrollment": {
"id": "text"
},
"ratings": {
"_total": 1
},
"securityPicture": {
"id": "text"
},
"chat": {
"id": "text"
},
"segmentation": {
"id": "text"
},
"_links": {}
}currentGet the user preferences
No content
GET /apis/v2/users/{userId}/preferences HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Get the user preferences
No content
currentUpdate the user preferences
No content
PATCH /apis/v2/users/{userId}/preferences HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 128
{
"showUserNameOnEvents": true,
"showUserRatingOnEvents": true,
"chatOptIn": true,
"emailMarketingOptIn": true,
"smsMarketingOptIn": true
}Update the user preferences
No content
o0drORnu2aUjJEvceKPa4QUyJgC2Returns a FrontChat
GET /apis/v2/users/{userId}/frontchat HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a FrontChat
{
"hash": "text"
}currentGet the UserChat
GET /apis/v2/users/{userId}/chat HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Get the UserChat
{
"id": "text",
"status": "INACTIVE",
"handle": "text",
"displayName": "text",
"unreadMessages": 1,
"avatar": {
"id": "text",
"small": {
"href": "text"
},
"medium": {
"href": "text"
},
"large": {
"href": "text"
},
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
"text"
]
}currentAn optional parameter to tell the User is agreeing the "Terms" along with the chat activation request.
Update the UserChat
Possible error codes are:UC001: User phone number is required.UC002: Terms of Service agreement is required.
PATCH /apis/v2/users/{userId}/chat HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"status": "INACTIVE",
"termsAgreed": true
}{
"id": "text",
"status": "INACTIVE",
"handle": "text",
"displayName": "text",
"unreadMessages": 1,
"avatar": {
"id": "text",
"small": {
"href": "text"
},
"medium": {
"href": "text"
},
"large": {
"href": "text"
},
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
"text"
]
}leso0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserQuotasBookingArea
The default duration is 0.5.
null means no limit.
The default limit is 12.
null means no limit.
null means no limit, so no remaining value is possuble to calculate.
null means no limit.
null means no limit, so no remaining value is possuble to calculate.
GET /apis/v2/users/{userId}/quotas/booking/{areaId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserQuotasBookingArea
{
"selectableUnit": "HOUR",
"allowMultiReservationBooking": true,
"minDurationHours": 0.5,
"maxDurationHours": 1,
"maxFreeOffPeakHours": 1,
"maxFuturePrivateReservations": 1,
"remainingFuturePrivateReservations": 1,
"remainingPrivateReservationsByDay": {
"items": [
{
"isoDate": "2014-09-18",
"remainingPrivateReservations": 1
}
]
}
}leso0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserBookingSettingsDto
GET /apis/v2/users/{userId}/settings/booking/{areaId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserBookingSettingsDto
{
"strategy": "spot+",
"quotas": {
"selectableUnit": "HOUR",
"allowMultiReservationBooking": true,
"minDurationHours": 0.5,
"maxDurationHours": 1,
"maxFreeOffPeakHours": 1,
"maxFuturePrivateReservations": 1,
"remainingFuturePrivateReservations": 1,
"remainingPrivateReservationsByDay": {
"items": [
{
"isoDate": "2014-09-18",
"remainingPrivateReservations": 1
}
]
}
}
}ZOlaEGIHhDdqfx1cBMfZuXb7nbA2Get the QR code urls for the user
No content
GET /apis/v2/users/{userId}/qr-code HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Get the QR code urls for the user
No content
smallZOlaEGIHhDdqfx1cBMfZuXb7nbA2Get the QR code PNG image for the user
No content
GET /apis/v2/users/{userId}/qr-code-image/{size} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Get the QR code PNG image for the user
No content
o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserKidCollection
GET /apis/v2/users/{userId}/kids HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserKidCollection
{
"items": [
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"requiredAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}
],
"_total": 1
}o0drORnu2aUjJEvceKPa4QUyJgC2lesReturns a UserKid
POST /apis/v2/users/{userId}/kids?utm_location=text HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 375
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"acceptedAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}
}Returns a UserKid
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"requiredAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}o0drORnu2aUjJEvceKPa4QUyJgC2011e86e0-7765-43f2-b700-b05a4b2d30edReturns a UserKid
GET /apis/v2/users/{userId}/kids/{kidId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserKid
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"requiredAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}o0drORnu2aUjJEvceKPa4QUyJgC2011e86e0-7765-43f2-b700-b05a4b2d30edReturns a UserKid
DELETE /apis/v2/users/{userId}/kids/{kidId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserKid
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"requiredAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}o0drORnu2aUjJEvceKPa4QUyJgC2011e86e0-7765-43f2-b700-b05a4b2d30edReturns a UserKid
PATCH /apis/v2/users/{userId}/kids/{kidId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 375
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"acceptedAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}
}Returns a UserKid
{
"id": "text",
"user": {
"id": "text"
},
"firstName": "text",
"lastName": "text",
"emergencyContactName": "text",
"emergencyContactPhoneNumber": "text",
"selfDismissal": true,
"pickupAuthorization": "text",
"allergies": "text",
"specialInstructions": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"requiredAgreements": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}011e86e0-7765-43f2-b700-b05a4b2d30edo0drORnu2aUjJEvceKPa4QUyJgC2Returns an EventInvitationCollection
GET /apis/v2/users/{userId}/kids/{kidId}/invitations HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns an EventInvitationCollection
{
"items": [
{
"id": "text",
"event": {
"id": "text"
},
"invitation": {
"id": "text"
},
"messages": [
{
"code": "text",
"message": "text"
}
],
"_links": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}ZOlaEGIHhDdqfx1cBMfZuXb7nbA2Retrieve UserSegmentation info.
No content
GET /apis/v2/users/{userId}/segmentation HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Retrieve UserSegmentation info.
No content
o0drORnu2aUjJEvceKPa4QUyJgC2Return only the latest agreements for each type and area, regardless of its status
false["les","w37"]["items._links.agreement"]Returns a UserAgreementCollection
GET /apis/v2/users/{userId}/agreements HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserAgreementCollection
{
"items": [
{
"id": "text",
"type": "TERMS_OF_SERVICE",
"status": "PENDING",
"agreementReleaseTime": "2026-01-01T00:00:00.000Z",
"agreementTime": "2026-01-01T00:00:00.000Z",
"agreedBy": {},
"area": {},
"agreement": {},
"kid": {},
"_links": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserAgreement
POST /apis/v2/users/{userId}/agreements HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 77
{
"type": "TERMS_OF_SERVICE",
"status": "PENDING",
"area": {},
"kid": {},
"_links": {}
}Returns a UserAgreement
{
"id": "text",
"type": "TERMS_OF_SERVICE",
"status": "PENDING",
"agreementReleaseTime": "2026-01-01T00:00:00.000Z",
"agreementTime": "2026-01-01T00:00:00.000Z",
"agreedBy": {},
"area": {},
"agreement": {},
"kid": {},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2lesReturns a UserAgreementCollection
Unable to fetch the required user agreements.
GET /apis/v2/users/{userId}/agreements/required HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "text",
"type": "TERMS_OF_SERVICE",
"status": "PENDING",
"agreementReleaseTime": "2026-01-01T00:00:00.000Z",
"agreementTime": "2026-01-01T00:00:00.000Z",
"agreedBy": {},
"area": {},
"agreement": {},
"kid": {},
"_links": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}Returns the logged in User FeatureFlags
GET /apis/v2/users/current/feature-flags HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns the logged in User FeatureFlags
{
"items": [
{
"id": "text",
"enabled": true,
"config": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}some-feature-flag-idReturns the logged in User FeatureFlag
Feature flag not found
GET /apis/v2/users/current/feature-flags/{featureFlagId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"enabled": true,
"config": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns the given User FeatureFlags
Forbidden
User not found
GET /apis/v2/users/{userId}/feature-flags HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "text",
"enabled": true,
"config": {}
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}some-feature-flag-ido0drORnu2aUjJEvceKPa4QUyJgC2Returns the logged in User FeatureFlag
Forbidden
Feature flag not found
GET /apis/v2/users/{userId}/feature-flags/{featureFlagId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"enabled": true,
"config": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserPhoneNumber
GET /apis/v2/users/{userId}/phone-number HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserPhoneNumber
{
"phoneNumber": "text",
"verificationCodeExpiration": "2026-01-01T00:00:00.000Z",
"status": "VERIFIED",
"smsMarketingOptIn": true,
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {
"self": {
"href": "text"
}
}
}Update `User`'s phone number. It's a two-steps process: first the `phoneNumber` is sent alone, then the pair `phoneNumber` + `verificationCode`.
o0drORnu2aUjJEvceKPa4QUyJgC2Returns the updated UserPhoneNumberDto
Returns an ErrorDto in case of validation errors or failures.
Possible error codes are:PN001: Invalid phone number.PN002: The phone number is already taken by another account.PN003: Invalid verification code.PN004: Invalid recaptcha verification.PN005: Recaptcha token expired.PN006: Too many phone verification attempts for the same phone number, please come back later.
PUT /apis/v2/users/{userId}/phone-number HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 155
{
"phoneNumber": "text",
"verificationCode": "text",
"recaptchaToken": "text",
"verificationId": "text",
"smsMarketingOptIn": true,
"_links": {
"self": {
"href": "text"
}
}
}{
"phoneNumber": "text",
"verificationCodeExpiration": "2026-01-01T00:00:00.000Z",
"status": "VERIFIED",
"smsMarketingOptIn": true,
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns the deleted UserPhoneNumberDto
Returns an ErrorDto in case of failures.
DELETE /apis/v2/users/{userId}/phone-number HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 155
{
"phoneNumber": "text",
"verificationCode": "text",
"recaptchaToken": "text",
"verificationId": "text",
"smsMarketingOptIn": true,
"_links": {
"self": {
"href": "text"
}
}
}{
"phoneNumber": "text",
"verificationCodeExpiration": "2026-01-01T00:00:00.000Z",
"status": "VERIFIED",
"smsMarketingOptIn": true,
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2trueReturns a PaymentMethod
GET /apis/v2/users/{userId}/payment-method HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a PaymentMethod
{
"id": "text",
"type": "STRIPE",
"stripe": {
"paymentMethodId": "text",
"userId": "text"
},
"preferredCard": {
"id": "text",
"status": "text",
"stripe": {
"paymentMethodId": "text"
},
"brand": "text",
"numberPreview": "text",
"expirationMonth": 1,
"expirationYear": 1,
"funding": "text",
"_links": {
"self": {
"href": "text"
}
}
},
"preferredBankAccount": {
"id": "text",
"bankName": "text",
"accountHolderType": "text",
"last4": "text"
},
"virtualCredits": 1,
"paymentElement": {
"id": "text"
},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a PaymentMethodStripeEphemeralKeyDto
POST /apis/v2/users/{userId}/payment-method/stripe/ephemeral-keys HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a PaymentMethodStripeEphemeralKeyDto
{
"id": "text",
"object": "text",
"associated_objects": [
"text"
],
"created": 1,
"expires": 1,
"livemode": true,
"secret": "text"
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a PaymentMethodStripeSetupIntentDto
POST /apis/v2/users/{userId}/payment-method/stripe/setup-intents HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 52
{
"terminal": {},
"tokenId": "text",
"context": "booking"
}Returns a PaymentMethodStripeSetupIntentDto
{
"id": "text",
"terminal": {},
"tokenId": "text",
"context": "booking",
"ipAddress": "text",
"userAgent": "text",
"object": "text",
"created": 1,
"clientSecret": "text"
}o0drORnu2aUjJEvceKPa4QUyJgC2PREVIEWPossible values: Returns a PaymentMethod
DELETE /apis/v2/users/{userId}/payment-method/default HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a PaymentMethod
{
"id": "text",
"type": "STRIPE",
"stripe": {
"paymentMethodId": "text",
"userId": "text"
},
"preferredCard": {
"id": "text",
"status": "text",
"stripe": {
"paymentMethodId": "text"
},
"brand": "text",
"numberPreview": "text",
"expirationMonth": 1,
"expirationYear": 1,
"funding": "text",
"_links": {
"self": {
"href": "text"
}
}
},
"preferredBankAccount": {
"id": "text",
"bankName": "text",
"accountHolderType": "text",
"last4": "text"
},
"virtualCredits": 1,
"paymentElement": {
"id": "text"
},
"_links": {},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserProfile
GET /apis/v2/users/{userId}/profile HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserProfile
{
"id": "text",
"user": {
"id": "text"
},
"type": "REGULAR",
"firstName": "text",
"lastName": "text",
"gender": "text",
"birthday": "2026-01-01T00:00:00.000Z",
"initials": "text",
"description": "text",
"picture": {},
"usattRating": 1,
"duprProfileUrl": "text",
"memberSince": "2026-01-01T00:00:00.000Z",
"membershipEnrollment": {},
"kids": {},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns an Image
GET /apis/v2/users/{userId}/profile/picture HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns an Image
{
"id": "text",
"small": {
"href": "text"
},
"medium": {
"href": "text"
},
"large": {
"href": "text"
},
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns an Image
GET /apis/v2/users/{userId}/security-picture HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns an Image
{
"id": "text",
"small": {
"href": "text"
},
"medium": {
"href": "text"
},
"large": {
"href": "text"
},
"_links": {
"self": {
"href": "text"
}
}
}aced9ca9-fcc5-409a-b3d4-990301b53ae8o0drORnu2aUjJEvceKPa4QUyJgC2Returns the deleted device as DeviceDto
DELETE /apis/v2/users/{userId}/devices/{deviceId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns the deleted device as DeviceDto
{
"id": "text",
"token": "text",
"name": "text",
"user": {},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a DeviceDto
POST /apis/v2/users/{userId}/devices HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 86
{
"token": "text",
"name": "text",
"user": {},
"bundle": "text",
"platform": "text",
"_links": {}
}Returns a DeviceDto
{
"id": "text",
"token": "text",
"name": "text",
"user": {},
"_links": {}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserRatingsCollection
GET /apis/v2/users/{userId}/ratings HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserRatingsCollection
{
"items": [
{
"id": "text",
"type": "DUPR",
"singles": 1,
"doubles": 1,
"lastUpdated": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserRating
Returns an ErrorDto in case of validation errors or failures.
Possible error codes are:UR000: User ratings not connectedUR001: (rating, minRating, maxRating) => ${rating} rating must be between ${minRating} and ${maxRating}.UR002: Your DUPR account is already associated with another user.
PATCH /apis/v2/users/{userId}/ratings HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"type": "DUPR",
"singles": 1,
"doubles": 1,
"lastUpdated": "2026-01-01T00:00:00.000Z",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns the url to the user`s DUPR profile
GET /apis/v2/users/{userId}/profile/dupr HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns the url to the user`s DUPR profile
texto0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserNotes
GET /apis/v2/users/{userId}/notes HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserNotes
{
"notes": "text"
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserNotes
Returns an ErrorDto in case of validation errors or failures.
PUT /apis/v2/users/{userId}/notes HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"notes": "text"
}{
"notes": "text"
}o0drORnu2aUjJEvceKPa4QUyJgC2Returns the deleted UserNotes
Returns an ErrorDto in case of failures.
DELETE /apis/v2/users/{userId}/notes HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"notes": "text"
}{
"notes": "text"
}o0drORnu2aUjJEvceKPa4QUyJgC2bookingPossible values: true["items._links.contextAvailability"]Returns a UserPaymentElementCollectionDto
GET /apis/v2/users/{userId}/payment-elements HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserPaymentElementCollectionDto
{
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}pm_1RAGN7JZDKZ6l3VXCeCXFna9o0drORnu2aUjJEvceKPa4QUyJgC2["items._links.contextAvailability"]Returns a UserPaymentElementCollectionDto
GET /apis/v2/users/{userId}/payment-elements/{paymentElementId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserPaymentElementCollectionDto
{
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}pm_1RAGN7JZDKZ6l3VXCeCXFna9o0drORnu2aUjJEvceKPa4QUyJgC2PREVIEWPossible values: Deletes a payment element, and returns the deleted UserPaymentElementDto as part of the response.
DELETE /apis/v2/users/{userId}/payment-elements/{paymentElementId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Deletes a payment element, and returns the deleted UserPaymentElementDto as part of the response.
{
"id": "text",
"user": {
"id": "text"
},
"type": "klarna",
"displayName": "text",
"description": "text",
"contextAvailability": {
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
},
"createdAt": "2026-01-01T00:00:00.000Z",
"status": "ACTIVE",
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}pm_1RAGN7JZDKZ6l3VXCeCXFna9o0drORnu2aUjJEvceKPa4QUyJgC2Returns a UserPaymentElementContextAvailabilityCollectionDto
GET /apis/v2/users/{userId}/payment-elements/{paymentElementId}/context-availability HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a UserPaymentElementContextAvailabilityCollectionDto
{
"items": [
"text"
],
"_total": 1,
"_links": {
"self": {
"href": "text"
}
}
}pm_1RAGN7JZDKZ6l3VXCeCXFna9bookingPossible values: o0drORnu2aUjJEvceKPa4QUyJgC2Return the updated payment method context availability UserPaymentElementContextAvailabilityDto
PATCH /apis/v2/users/{userId}/payment-elements/{paymentElementId}/context-availability/{context} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"isDefault": true
}Return the updated payment method context availability UserPaymentElementContextAvailabilityDto
{
"id": "booking",
"user": {
"id": "text"
},
"paymentElement": {
"id": "text"
},
"isDefault": true,
"_links": {}
}currentBOOKINGevent-uuid2024-01-01T00:00:00.000Z2024-01-31T23:59:59.999Z130Sort format: -fieldName (DESC) or +fieldName (ASC). Allowed fields: createdAt, createdDate, gross, id
-createdDateReturns a CustomerSettlementCollectionDto
GET /apis/v2/users/{userId}/settlements HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a CustomerSettlementCollectionDto
{
"items": [
{
"id": "text",
"code": "text",
"createdDate": "2026-01-01T00:00:00.000Z",
"title": "text",
"source": "text",
"description": "text",
"summary": {
"paymentMethod": "text",
"paymentMethodBrand": "text",
"paymentMethodLast4": "text",
"currency": "text",
"subtotal": 1,
"discounts": 1,
"taxableAmount": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"taxAmount": 1,
"gross": 1,
"virtualCredits": 1
},
"payment": {
"id": "text"
},
"lineItems": {
"items": [
{
"id": "text",
"description": "text",
"quantity": 1,
"unitPrice": 1,
"subtotal": 1,
"totalDiscount": 1,
"taxableAmount": 1,
"taxAmount": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"grossAmount": 1
}
],
"total": 1
},
"event": {
"id": "text"
},
"orders": {
"_total": 1
},
"_links": {}
}
],
"_pagination": {
"page": 1,
"ipp": 1,
"count": 1,
"total": 1
},
"_links": {
"self": {
"href": "text"
}
}
}currentsettlement-uuidReturns a CustomerSettlementDto
Unique identifier for the settlement
Short code derived from the first 8 characters of the settlement id
Date the settlement was created
Human-friendly title for the settlement
Source type of the settlement (e.g., BOOKING, MEMBERSHIP, EVENT_SIGNUP)
Description of the settlement
GET /apis/v2/users/{userId}/settlements/{settlementId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Returns a CustomerSettlementDto
{
"id": "text",
"code": "text",
"createdDate": "2026-01-01T00:00:00.000Z",
"title": "text",
"source": "text",
"description": "text",
"summary": {
"paymentMethod": "text",
"paymentMethodBrand": "text",
"paymentMethodLast4": "text",
"currency": "text",
"subtotal": 1,
"discounts": 1,
"taxableAmount": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"taxAmount": 1,
"gross": 1,
"virtualCredits": 1
},
"payment": {
"id": "text"
},
"lineItems": {
"items": [
{
"id": "text",
"description": "text",
"quantity": 1,
"unitPrice": 1,
"subtotal": 1,
"totalDiscount": 1,
"taxableAmount": 1,
"taxAmount": 1,
"taxes": [
{
"name": "text",
"amount": 1,
"percentage": 1
}
],
"grossAmount": 1
}
],
"total": 1
},
"event": {
"id": "text"
},
"orders": {
"_total": 1
},
"_links": {}
}Last updated
Was this helpful?

