Lead capture and sale flow
This guide provides a comprehensive, step-by-step overview for onboarding members using the Glofox API.
POST: Register a member
To register a member with a specific location, use the endpoints detailed in the Users section of the API reference.

To create a new member within a particular studio, submit a request to the following endpoint:
- Endpoint:
/2.0/register - Method:
POST - Content-Type:
application/json
Required Headers
{
"x-glofox-branch-id": "{branch_id}",
"x-api-key": "{api_key}",
"x-glofox-api-token": "{api_token}"
}
Request Body
{
"first_name": "aliquip nostrud",
"last_name": "consequat quis ut",
"email": "john@test.com",
"type": "MEMBER",
"password": "password_$",
"lead_status": "LEAD",
"phone": "dolore adipisicing",
"emergency_contact": "aliquip deserunt",
"access_barcode": "Duis sed consectetur anim",
"birth": "occaecat aute",
"consent": {
"email": { "active": true },
"sms": { "active": false }
}
}
Registration flag
To create a new member within a particular studio, turn on the Registration from the apps and web integration is enabled option. Otherwise, the app will show the following error message:
This branch does not allow pay as you go.

Date of birth
When registering a new member, the system requires the date of birth only when the Set minimum age a client needs to be to create an account in your Studio option is enabled. When this option is disabled, the date of birth is optional. You can find this option under Settings > Clients.

Important
You will need to add the minimum age value.
GET: Waiver template

To present the waiver agreement to a member, retrieve the template using the member-authenticated trigger.
- Endpoint:
/2.3/branches/{branchId}/agreements/template/trigger/{trigger} - Method:
GET - Content-Type:
application/json
Memberships
In this section you will know how to do the onboarding flow with API calls and one sequencing constraint.
GET: Memberships
To browse and purchase memberships, use the memberships listing endpoint.
- Endpoint:
/2.0/memberships - Method:
GET - Content-Type:
application/json

Important
For more information, access the Electronic Agreements section on the API reference.
GET: Membership Terms & Conditions

You can obtain the membership terms and conditions from the same electronic agreements endpoint used for waivers.
- Endpoint:
/2.3/branches/{branchId}/agreements/template/trigger/{trigger} - Method:
GET - Content-Type:
application/json
Electronic Signature
If you wish to enable electronic signature during onboarding, the membership purchase must be completed before collecting the signature. Typically, the signature prompt appears on the subsequent screen. For implementation guidance on this flow, please contact the support team.
Add tax_id and address to a Member
You can add a tax_id and address to a member during the lead capture process. This information is stored in the metadata field of the member's profile.
Important
To enable the tax_id field for your branch, you need to enable the Capture Client's Tax ID on Settings > Tax in the Glofox dashboard. If this feature is disabled, the tax_id field will not appear in the client's Details tab.

- Endpoint:
/2.1/branches/{branchId}/leads - Method:
POST - Content-Type:
application/json
Warning
The tax_id only work with the 2.1 endpoints, it won't work with the 2.0 endpoints.
Request body:
{
"first_name": "John",
"last_name": "Doe",
"gender": "M",
"email": "user@example.com",
"birth": "1992-08-01",
"metadata": {
"fiscal": {
"tax_id": "1234567890"
}
},
"consent": {
"email": {
"active": true
},
"sms": {
"active": true
},
"push": {
"active": true
}
},
"address": {
"street": "Street 1",
"city": "New York",
"state": "New York",
"country": "USA",
"postal_code": "1234-887",
"country_code": "USA"
}
}
Response:
{
"success": true,
"user": {
"membership": {
"type": "payg"
},
"first_name": "John",
"last_name": "Doe",
"phone": "",
"email": "user@example.com",
"branch_id": "BRANCH_ID",
"birth": "1992-08-01",
"gender": {
"name": "M",
"label": "MALE"
},
"answers": [],
"type": "member",
"active": true,
"emergency_contact": null,
"lead_status": null,
"WAIVER": false,
"address": {
"street": "Street 1",
"city": "New York",
"state": "New York",
"country": "USA",
"postal_code": "1234-887",
"country_code": "USA"
},
"login": "user@example.com",
"namespace": "example_namespace",
"consent": {
"email": { "active": true },
"sms": { "active": true },
"push": { "active": true }
},
"modified": 1771856584,
"created": 1771856584,
"categories": [],
"origin_branch_id": "ORIGIN_BRANCH_ID",
"metadata": {
"twilio": {
"phone_number": ""
}
},
"name": "John Doe",
"_id": "USER_ID",
"image_url": null
}
}
Update a member
You can also update the tax_id and address of an existing member using the 2.1/branches/{branchId}/members/{memberId} endpoint. The same rules and structure apply as in the lead capture process.
If you wish to enable electronic signature during onboarding, complete the membership purchase before collecting the signature. Typically, the signature prompt appears on the subsequent screen. For implementation guidance on this flow, please contact the support team.