Skip to content

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.

Register UI screen

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.

Registrations Flag enabled

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.

Minimum age option

Important

You will need to add the minimum age value.

GET: Waiver template

Waiver UI screen

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

Memberships Purchase Screen

Important

For more information, access the Electronic Agreements section on the API reference.

GET: Membership Terms & Conditions

Membership Terms Screen

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.

Enable Tax ID

  • 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.