GymMaster Member Portal API

Version: v1058

Schemes:

Summary

Path Operation Description
/portal/api/v1/booking/classes/schedule GET

List all classes at facility

/portal/api/v1/booking/classes/seats GET

Available seats in a class

/portal/api/v1/booking/resources_and_sessions GET

List available service booking times

/portal/api/v1/booking/servicebookings POST

Book a service booking

/portal/api/v1/booking/servicebookings/equipment GET

Available equipment resources

/portal/api/v1/booking/servicebookings/rooms GET

Available room resources

/portal/api/v1/booking/services GET

List available services

/portal/api/v1/companies GET

List clubs

/portal/api/v1/email/feedback POST

Send feedback to facility

/portal/api/v1/email/resetpassword POST

Password recovery for a member

/portal/api/v1/email/sendemailtemplate POST

Send email to member

/portal/api/v1/login POST

Login as a member

/portal/api/v1/member/cancelbooking POST

Cancel a member's booking

/portal/api/v1/member/membership/benefit/balances GET

Member benefit balances

/portal/api/v1/member/memberships GET

List member's memberships

/portal/api/v1/member/outstandingbalance GET

List member's outstanding charges

POST

Pay for member's outstanding charges

/portal/api/v1/member/profile GET

Get member's profile

POST

Update member's profile

/portal/api/v1/member/visits/monthly GET

Member's monthly visits

/portal/api/v1/members GET

List all current members

/portal/api/v1/memberships GET

List available memberships

POST

Purchase a membership

/portal/api/v1/memberships/cancel GET

Membership cancellation reasons

POST

Cancel a member's membership

/portal/api/v1/memberships/suspend POST

Suspend a member's memberships

/portal/api/v1/prospect/create POST

Create a prospect

/portal/api/v1/settings GET

GymMaster settings

/portal/api/v1/signup POST

Signup a new member with a membership

/portal/api/v1/version GET

GymMaster version number

/portal/api/v1/workouts GET

Member workouts

/portal/api/v2/booking/classes GET

List available classes

POST

Book into a class

/portal/api/v2/booking/classes/{bookingid}/attendees GET

Show list of members attending class booking

/portal/api/v2/communication/file POST

Upload a file

/portal/api/v2/contactmethods GET

List contact methods

/portal/api/v2/member/assign_credit POST

Pay for outstanding charges using available credit

/portal/api/v2/member/booking/rate POST

Rate a booking

/portal/api/v2/member/bookings GET

Member's upcoming bookings

/portal/api/v2/member/bookings/checkin POST

Checkin a member's booking

/portal/api/v2/member/bookings/checkout POST

Checkout a member's booking

/portal/api/v2/member/bookings/past GET

Member's past bookings

/portal/api/v2/member/exists GET

Check if a member exists

/portal/api/v2/member/kiosk/checkin POST

Checks in a member

/portal/api/v2/member/measurements GET

List member's measurements

POST

Add a member's measurement

/portal/api/v2/member/membership/{membershipid}/agreement POST

Log a member's agreement

/portal/api/v2/member/membership/{membershipid}/contract GET

Get a member's PDF contract

/portal/api/v2/member/signature POST

Save a member's signature

/portal/api/v2/member/visits/daily GET

Member's daily visits

/portal/api/v2/membership/{membershiptypeid}/agreement GET

Show membership type agreement content

/portal/api/v2/payment/log POST

Logging external payments

/portal/api/v2/products GET

List available products

POST

Purchase products

/portal/api/v2/promotions GET

List available promotions

/portal/api/v2/questionnaires GET

Get a list of questionnaires available online

/portal/api/v2/questionnaires/{questionnaireid}/answers GET

Get a member's answers to a questionnaire

/portal/api/v2/staff/salesrep GET

List sales reps

Paths

List all classes at facility

GET /portal/api/v1/booking/classes/schedule

Retrieves a schedule of classes in a given week. This will get all classes, regardless of if the current member can book into them.

The response from this endpoint may be cached for up to 5 minutes.

api_key

API Key for integration

query string
week

Date to show the schedule of in ISO format (YYYY-MM-DD) - Week displayed will be 7 days from this date

query string
resourceid

Only show classes on this resource

query integer
companyid

Only show classes that are part of this club

query integer
classid

Only show classes with this class type

query integer
staffid

Only show classes with this assigned staff member

query integer
200 OK

Successful response

result: object[]
error: string
Available seats in a class

GET /portal/api/v1/booking/classes/seats

Retrieves a list of available seats in a given class

api_key

API Key for integration

query string
token

Returned token from login call

query string
bookingid

ID number of the class

query integer
200 OK

Successful response

result: object[]
error: string
List available service booking times

GET /portal/api/v1/booking/resources_and_sessions

Get a list of available service bookings using the provided service & benefit. If no token is provided, a companyid must be.

api_key

API Key for integration

query string
token

Returned token from the login call

query string
serviceid

The ID number of the service to use

query integer
companyid

Only show times available at this club

query integer
200 OK

Successful response

result: object
dates: object[]
resources: object[]
error: string
Book a service booking

POST /portal/api/v1/booking/servicebookings

Book a service booking

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
resourceid

The ID number of the resource to book on

formData integer
serviceid

The ID number of the service to book

formData integer
benefitid

The ID number of the benefit to book with

formData integer
membershipid

The ID number of the membership to book with

formData integer
day

The date of the booking in ISO format (YYYY-MM-DD)

formData string
bookingstart

The start of the booking in format HH:MM:SS

formData string
bookingend

The end of the booking in format HH:MM:SS

formData string
roomid

The ID of the room to book

formData integer
equipmentid

The ID of the equipment to book

formData integer
200 OK

Successful response

result: string
error: string
Available equipment resources

GET /portal/api/v1/booking/servicebookings/equipment

Get a list of available equipment at the given time

The response from this endpoint may be cached for up to 5 minutes.

api_key

API Key for integration

query string
token

Returned token from the login call

query string
serviceid

The ID of the service being booked into

query integer
day

The date of the booking in ISO format (YYYY-MM-DD)

query string
bookingstart

The start of the booking in format HH:MM:SS

query string
bookingend

The end of the booking in format HH:MM:SS

query string
200 OK

Successful response

result: object[]
error: string
Available room resources

GET /portal/api/v1/booking/servicebookings/rooms

Get a list of available rooms at the given time.

The response from this endpoint may be cached for up to 5 minutes.

api_key

API Key for integration

query string
token

Returned token from the login call

query string
serviceid

The ID of the service being booked into

query integer
day

The date of the booking in ISO format (YYYY-MM-DD)

query string
bookingstart

The start of the booking in format HH:MM:SS

query string
bookingend

The end of the booking in format HH:MM:SS

query string
200 OK

Successful response

result: object[]
error: string
List available services

GET /portal/api/v1/booking/services

Get a list of services that can be used booking on a given resource when making a service booking. If no token is provided, a companyid must be.

api_key

API Key for integration

query string
token

Returned token from login call

query string
resourceid

The ID number of the resource to check

query integer
companyid

Only show services available at this club

query integer
200 OK

Successful response

result: object[]
error: string
List clubs

GET /portal/api/v1/companies

Get a list of the clubs set up

api_key

API Key for integration

query string
200 OK

Successful response

result: Club
error: string
Send feedback to facility

POST /portal/api/v1/email/feedback

Sends feedback to the facility from a member given their email address

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
email

Email of the member sending feedback

formData string
message

The feedback being sent

formData string
200 OK

Successful response

result: string
error: string
Password recovery for a member

POST /portal/api/v1/email/resetpassword

Sends a password reset link email to any member with the provided email

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
email

Member email who needs to reset their password

formData string
200 OK

Successful response

result: string
error: string
Send email to member

POST /portal/api/v1/email/sendemailtemplate

Send an email to a member using a specific GymMaster email template

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
email

Email of the member to send the email to

formData string
templateid

Unique identifier representing an email template in GymMaster

formData integer
200 OK

Successful response

result: string
error: string
Login as a member

POST /portal/api/v1/login

Login as member to perform actions using member account. Either the member's email & password can be used, or their ID. Note that logging in with only ID requires the use of 'API Key for Staff' instead of 'API Key for Members'. Use returned token for any future calls. The lifespan of the token in seconds (generally 1 hour) will be returned along with the token.

Also returns ID of member logged in as, for reference.

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
email

Member email to log in as

formData string
password

Member password to log in as

formData string
memberid

Member ID to login as

formData integer
200 OK

Successful response

result: object
token: string
expires: integer
memberid: integer
error: string
Cancel a member's booking

POST /portal/api/v1/member/cancelbooking

Cancel a member booking

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
bookingid

The ID number of the booking to cancel

formData integer
waitlist

1 if the booking is a waitlist booking

formData integer
200 OK

Successful response

result: string
error: string
Member benefit balances

GET /portal/api/v1/member/membership/benefit/balances

Get a member's current membership benefit balances.

The response from this endpoint may be cached for up to 2 minutes.

api_key

API Key for integration.

query string
token

Returned token from login call.

query string
200 OK

Successful response

result: object[]
object
membershipid: string
benefitname: string
nextanniversary: string (date)
balance: integer
comment: string
error: string
List member's memberships

GET /portal/api/v1/member/memberships

Get a list of member's current memberships

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: MemberMembership
error: string
List member's outstanding charges

GET /portal/api/v1/member/outstandingbalance

Get a list of member's outstanding charges

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: MemberCharge
owingamount: string
error: string
Pay for member's outstanding charges

POST /portal/api/v1/member/outstandingbalance

Pay for a member's outstanding charges

application/json

api_key: string

API Key for integration

token: string

Returned token from login call

postingids: integer[]

The list of charges to pay for

integer
make_payment: integer

Must be set to 1.

200 OK

Successful response

result: string
error: string
Get member's profile

GET /portal/api/v1/member/profile

Get member's account information.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: Member
error: string
Update member's profile

POST /portal/api/v1/member/profile

Update member's account information.

multipart/form-data

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
firstname

Firstname of the member

formData string
surname

Surname of the member

formData string
email

Email address of the member

formData string
dob

Date of birth of the member in ISO format (YYYY-MM-DD)

formData string (date)
gender

Gender of the member. Either "M", "F", or "O"

formData string
phonecell

Cellphone number of the member

formData string
phonehome

Home phone number of the member

formData string
addressstreet

Street of member address

formData string
addresssuburb

Suburb of member address

formData string
addresscity

City of member address

formData string
addresscountry

Country of member address

formData string
addressareacode

Area code of member address

formData string
receivesms

Whether member is subscribed to SMS communication

formData boolean
receiveemail

Whether member is subscribed to email communication

formData boolean
memberphoto

An image/photo for the member. Accepts jpg, png, or base64 encoded string

formData file
customtextX

Detail for member's Custom Text X where X

formData string
customdropdownX

Value of option for member's Custom Dropdown X

formData integer
custombooleanX

Whether to enable member's Custom Checkbox X

formData boolean
customdateX

Date in ISO format (YYYY-MM-DD) for member's Custom Date X

formData string
200 OK

Successful response

result: string
error: string
Member's monthly visits

GET /portal/api/v1/member/visits/monthly

Get a count of member's visits grouped by month.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration.

query string
token

Returned token from login call.

query string
200 OK

Successful response

result: object[]
object
month: string
visits: integer
error: string
List all current members

GET /portal/api/v1/members

Retrieves a list of all current members.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration

query string
when

Only show members updated after this timestamp, in format YYYY-MM-DD HH:mm:ss

query string
companyid

Filter the members list by company, only members from this company will be returned.

query integer
200 OK

Successful response

result: object[]
error: string
List available memberships

GET /portal/api/v1/memberships

Retrieves a list of the available memberships that can be purchased. If a token for a logged in member is provided, the memberships will be those available for that member.

The response from this endpoint may be cached for up to 2 minutes.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: object[]
error: string
Purchase a membership

POST /portal/api/v1/memberships

Adds a membership to the logged in member

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
membershiptypeid

ID of the membership to add to the member

formData integer
startdate

Date for the membership to start in ISO format (YYYY-MM-DD)

formData string
200 OK

Successful response

result: string
error: string
membershipid: integer
Membership cancellation reasons

GET /portal/api/v1/memberships/cancel

Returns a list of membership cancellation reasons.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: object[]
error: string
Cancel a member's membership

POST /portal/api/v1/memberships/cancel

Cancel a member's membership as of a given date.

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
token

Returned token from login call

query string
membershipid

The ID of the member's membership to cancel

formData integer
enddate

The date that the membership will be cancelled from in ISO format (YYYY-MM-DD)

formData string
reason

The ID representing a cancellation reason for the member's membership cancellation.

formData integer
feedback

Any extra feedback/information

formData string
200 OK

Successful response

result: string
error: string
Suspend a member's memberships

POST /portal/api/v1/memberships/suspend

Suspends a member's memberships in GymMaster. Requires a start date, end date, and a reason for the suspension.

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
token

Returned token from login call

query string
startdate

The start date of the member's suspension in ISO format (YYYY-MM-DD)

formData string
enddate

The end date of the member's suspension in ISO format (YYYY-MM-DD)

formData string
reason

The reason for the member's suspension

formData string
200 OK

Successful response

result: string
error: string
Create a prospect

POST /portal/api/v1/prospect/create

Create a prospect in GymMaster Will update an existing prospect if the details match. Use returned token for any future calls. The lifespan of the token in seconds (generally 1 hour) will be returned along with the token. In order to get a new token, use the login endpoint with the memberid value.

multipart/form-data

api_key

API Key for integration

formData string
firstname

Firstname of the new prospect

formData string
surname

Surname of the new prospect

formData string
email

Email of the new prospect

formData string
companyid

Club the prospect is joining. ID number can be found via the companies endpoint, or in GymMaster.

formData string
phonecell

Cellphone number of the new prospect

formData string
gender

Gender number of the new prospect, either 'M', 'F', or 'O'

formData string
addressstreet

Street address of the new prospect

formData string
addresssuburb

Suburb of of the new prospect

formData string
addresscity

City of the new prospect

formData string
addressareacode

Areacode/Postcode of the new prospect

formData string
addresscountry

Country of the new prospect

formData string
dob

Date of birth of the new prospect in ISO format (YYYY-MM-DD)

formData string
notes

Any additional information about the prospect

formData string
memberphoto

An image/photo for the prospect. Accepts jpg, png, or base64 encoded string

formData file
promotion_id

The ID representing a promotion in GymMaster

formData integer
200 OK

Successful response

result: string
token: string
expires: integer
memberid: integer
error: string
GymMaster settings

GET /portal/api/v1/settings

Get a list of applicable settings.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration

query string
200 OK

Successful response

result: Settings
error: string
Signup a new member with a membership

POST /portal/api/v1/signup

Signup a new member in GymMaster, with a membership. If successful, the provided email and password can be used to login as the member. Will return the membership ID of their new membership. Use returned token for any future calls. The lifespan of the token in seconds (generally 1 hour) will be returned along with the token. In order to get a new token, use the login endpoint with the memberid value.

application/x-www-form-urlencoded

api_key

API Key for integration

formData string
firstname

Firstname of the new member

formData string
surname

Surname of the new member

formData string
dob

Date of birth of the new member in ISO format (YYYY-MM-DD)

formData string
email

Email of the new member

formData string
password

Password of the new member

formData string
membershiptypeid

Membership for the new member to signup with

formData integer
phonecell

Cellphone number of the new member

formData string
phonehome

Home phone number of the new member

formData string
addressstreet

Street address of the new member

formData string
addresssuburb

Suburb of of the new member

formData string
addresscity

City of the new member

formData string
addressareacode

Areacode/Postcode of the new member

formData string
gender

Gender of the member. Either "M", "F", or "O"

formData string
companyid

Club the member is joining. ID number can be found via the companies endpoint, or in GymMaster.

formData integer
startdate

Start date of the new member's membership in ISO format (YYYY-MM-DD)

formData string
firstpaymentdate

First payment date of the new member's membership in ISO format (YYYY-MM-DD)

formData string
200 OK

Successful response

result: string
error: string
token: string
expires: integer
memberid: string
membershipid: string
GymMaster version number

GET /portal/api/v1/version

Get the current version number of GymMaster.

api_key

API Key for integration

query string
200 OK

Successful response

result: object
version: integer
versionname: string
error: object
Member workouts

GET /portal/api/v1/workouts

Retrieves a list of all workouts for a member.

The response from this endpoint may be cached for up to 5 minutes.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: object[]
error: string
List available classes

GET /portal/api/v2/booking/classes

Retrieves a list of upcoming bookings that the logged in member can book into.

The response from this endpoint may be cached for up to 2 minutes.

api_key

API Key for integration

query string
token

Returned token from login call

query string
week

Date to show the classes of in ISO format (YYYY-MM-DD) - Week displayed will be 7 days from this date

query string
200 OK

Successful response

result: object[]
error: string
Book into a class

POST /portal/api/v2/booking/classes

Book in to a class booking

application/json

api_key: string

API Key for integration

token: string

Returned token from login call

bookings: object[]

A list of the bookings to make

object
bookingparentid: integer

Unique identifier representing a class booking in GymMaster

seat: integer

Seat number to take

Show list of members attending class booking

GET /portal/api/v2/booking/classes/{bookingid}/attendees

Retrieves a list of members that are attending a class booking. This returns an array of member names.

api_key

API Key for integration

query string
bookingid

Class booking to show attendee list for

path integer
200 OK

Successful response

result: string[]
string
error: string
Upload a file

POST /portal/api/v2/communication/file

Upload a generic file to the member's profile.

multipart/form-data

api_key

API Key for integration.

formData string
token

Returned token from login call.

formData string
upload

The file to upload.

formData file
200 OK

Successful response

result: string
error: string
List contact methods

GET /portal/api/v2/contactmethods

Get a list of contact methods in GymMaster.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration.

query string
200 OK

Successful response

result: object[]
object
id: integer
name: string
error: string
Pay for outstanding charges using available credit

POST /portal/api/v2/member/assign_credit

Pay for outstanding charges (including future dated charges) using any credit available. Will assign credit to oustanding charges oldest to newest. Optionally, pass in an array of postingids in order to only assign credit to them. If the account does not have enough credit to cover all oustanding charges, those that were unable to be covered will remain with an outstanding amount.

application/json

api_key: string

API Key for integration

token: string

Returned token from login call

postingids: integer[]

The list of charges to pay for

integer
200 OK

Successful response

result: string
error: string
Rate a booking

POST /portal/api/v2/member/booking/rate

Rate a member's booking from 1 - 5.

api_key

API Key for integration.

formData string
token

Returned token from login call.

formData string
bookingid

ID of the member's booking to rate.

formData integer
rating

Rating of the booking from 1 - 5.

formData integer
200 OK

Successful response

result: string
error: string
Member's upcoming bookings

GET /portal/api/v2/member/bookings

Retrieves a list of upcoming bookings for the logged in member.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

classbookings: object[]
classwaitlists: object[]
servicebookings: object[]
error: string
Checkin a member's booking

POST /portal/api/v2/member/bookings/checkin

Checkin a member's booking, to specify that the member has attended

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
bookingid

ID number of the booking

formData integer
200 OK

Successful response

error: string
Checkout a member's booking

POST /portal/api/v2/member/bookings/checkout

Checkout a member's booking, to specify that the member has attended & left. Note, the booking will not be found if the booking has not been checked in yet.

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
bookingid

ID number of the booking

formData integer
200 OK

Successful response

error: string
Member's past bookings

GET /portal/api/v2/member/bookings/past

Retrieves a list of past bookings for the logged in member.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: object[]
error: string
Check if a member exists

GET /portal/api/v2/member/exists

Check if a member exists with a given email address. Will return an error if the member already exists.

api_key

API Key for integration.

query string
email

Email address to check.

query string
200 OK

Successful response

result: object

string for missing member responses

id: integer

ID of the found member

current_member: boolean

Is the current member considered current

error: string
Checks in a member

POST /portal/api/v2/member/kiosk/checkin

Tries to check-in in the currently logged in member into the specified door. If check-in attempt is granted then any connected relays will open.

application/json

api_key: string

API Key for integration

token: string

Returned token from login call

doorid: integer

Door number to check member into

200 OK

Successful response

result: object
response: object
denied_reason: string

Human readable description of the reason the member was denied. null if member was granted access.

access_state: integer

Outcome of the check-in attempt. 1 represents granted other codes are denied reasons.

message: string

Human readable description of the check-in attempt.

List member's measurements

GET /portal/api/v2/member/measurements

Retrieves a list of all measurements for a member.

The response from this endpoint may be cached for up to 2 minutes.

api_key

API Key for integration

query string
token

Returned token from login call

query string
200 OK

Successful response

result: object[]
error: string
Add a member's measurement

POST /portal/api/v2/member/measurements

Records a new measurement for a member

application/json

api_key: string

API Key for integration

token: string

Returned token from login call

measured_on: string

The date this measurement occurred on in ISO format (YYYY-MM-DD)

measurements: object[]

A list of the measurements to record

object
measurementtypeid: integer

Unique identifier representing the type of measurement

value: number

The value of this measurement

photos: object[]

A list of the progress photos for this measurement

object
filename: string

Filename to save this file with

data: string

Base64 encoded image file

200 OK

Successful response

result: string
error: string
Log a member's agreement

POST /portal/api/v2/member/membership/{membershipid}/agreement

Log that a member has agreed to all agreements for their membership.

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
membershipid

ID of the member's membership

path integer
200 OK

Successful response

result: string
error: string
Get a member's PDF contract

GET /portal/api/v2/member/membership/{membershipid}/contract

Downloads a member's PDF membership contract. Returns a PDF response if found, otherwise will return a 404.

api_key

API Key for integration

query string
token

Returned token from login call

query string
membershipid

ID of the member's membership

path integer

application/pdf

200 OK

Successful response

404 Not Found

Membership not found

Save a member's signature

POST /portal/api/v2/member/signature

Saves a member's digital signature. This takes a base64 image.

api_key

API Key for integration

formData string
token

Returned token from login call

formData string
file

Base64-encoded image of digital signature

formData string
membershipid

ID of the member's membership

formData integer
source

The source event/sender to store against the signature

formData strong
200 OK

Successful response

result: string
error: string
Member's daily visits

GET /portal/api/v2/member/visits/daily

Get a count of member's visits grouped by day. Water visits are a subset of visits where checked in to a door with name including 'sauna', 'plunge', 'pool', or 'spa'.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration.

query string
token

Returned token from login call.

query string
200 OK

Successful response

result: object[]
object
date: string (date)
visits: integer
watervisits: integer
bookings: integer
error: string
Show membership type agreement content

GET /portal/api/v2/membership/{membershiptypeid}/agreement

Retrieves agreement content for a membership type. This typically consists of Terms & Conditions, and a Waiver.

api_key

API Key for integration

query string
token

Returned token from login call

query string
membershiptypeid

Membership to show agreement content for

path integer
200 OK

Successful response

result: object[]
error: string
Logging external payments

POST /portal/api/v2/payment/log

Log a payment from a member into GymMaster.

application/x-www-form-urlencoded

api_key

API Key for integration.

formData string
token

Returned token from login call.

query string
amount

The amount that was paid by the member.

formData string
note

A note extra information about the payment.

formData string
paymentmethod_name

The name of the payment method.

formData string
200 OK

Successful response

result: string
error: string
List available products

GET /portal/api/v2/products

Get a list of products stored in GymMaster.

api_key

API Key for integration.

query string
200 OK

Successful response

result: object[]
error: string
Purchase products

POST /portal/api/v2/products

Purchase products as a member

application/json

api_key: string

API Key for integration

token: string

Returned token from login call

products: object[]

A list of the products to purchase

object
productid: integer

Unique identifier representing the product

quantity: number

The quantity of this product to purchase

200 OK

Successful response

result: string
error: string
List available promotions

GET /portal/api/v2/promotions

Get a list of promotions stored in GymMaster.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration.

query string
200 OK

Successful response

result: object[]
error: string
Get a list of questionnaires available online

GET /portal/api/v2/questionnaires

Gets a list of any questionnaires that a marked as available online.

api_key

API Key for integration

query string
200 OK

Successful response

result: object[]
error: string
Get a member's answers to a questionnaire

GET /portal/api/v2/questionnaires/{questionnaireid}/answers

Get a list of previous answers to a questionnaire that a member has provided.

api_key

API Key for integration

query string
token

Returned token from login call

query string
questionnaireid

Questionnaire to get answers for

path integer
200 OK

Successful response

result: object[]
error: string
List sales reps

GET /portal/api/v2/staff/salesrep

Get a list of staff set as sales reps in GymMaster.

The response from this endpoint may be cached for up to 10 minutes.

api_key

API Key for integration.

query string
200 OK

Successful response

result: object[]
object
id: integer
name: string
error: string

Schema definitions

Agreement: object

id: integer

Unique identifier representing an agreement in GymMaster

name: string

The name of this agreement

body: string

The HTML body of the agreement

points: string[]

A list of points to agree to

string

Answer: object

answer: string

A string representation of the member's answer. For boolean-type questions, this will either be "true" or "false".

questionid: integer

Unique identifier representing a question in GymMaster

AnswerSet: object

answered_on: string

Date when the member submitted this set of answers in ISO format (YYYY-MM-DD)

answers: object[]

Answers to each question provided in this set of answers

Class: object

id: integer

Unique identifier representing a class booking in GymMaster

classname: string

Name of the class

bookingname: string

Name of the booking (usually the same as classname)

classid: integer

Unique identifier representing a class type in GymMaster

arrival: string (date)

Date the booking is on

starttime: string

Time the booking starts at in format HH:MM:SS

endtime: string

Time the booking ends at in format HH:MM:SS

start_str: string

Time the booking starts at in format HH:MMAM

end_str: string

Time the booking ends at in format HH:MMAM

already_booked_id: integer

If the member has already booked in, this is the ID of their booking, which can be used to cancel their booking

availability: string

Availability status of this class

bookable: boolean

Whether the logged in member is allowed to book in

location: string

The resource the booking is on

max_waitinglist: integer

The maximum number of members able to go on the waitlist

multiplebookings: boolean

Whether the class allows multiple bookings by the same member

num_students: integer

The number of members booked in

price: string

The price of the booking (w/ currency symbol)

seatallocation: boolean

Whether the class allows members to select their seat

staffname: string

The staff member assigned to the class

substitute_staff: boolean

Whether the assigned staff member is a substitute

waitlist_count: integer

The number of members in the waitlist for the class

dayofweek: string

The day of the week the booking is on

staffphoto: string

URL for the image for the staff member assigned to the class

max_students: integer

The maximum number of class attendees allowed in this class booking

spacesfree: integer

The number of spaces remaining free for this class booking

bgcolour: string

The hex code of the colour set for this class type in GymMaster

image: string

The URL for the logo for this class type

description: string

The description of this class

online_instruction: string

Extra information for this class

ClassSchedule: object

id: integer

Unique identifier representing a class booking in GymMaster

name: string

Name of the class

classid: integer

Unique identifier representing a class type in GymMaster

arrival: string (date)

Date the booking is on

dayofweek: string

The day of the week the booking is on

starttime: string

Time the booking starts at

endtime: string

Time the booking ends at

availability: string

Availability status of this class

resourceid: integer

Unique identifier representing the resource in GymMaster

location: string

The resource the booking is on

staffid: string

Unique identifier representing the staff member assigned to the class in GymMaster

staffname: string

The staff member assigned to the class

staffphoto: string

URL for the image for the staff member assigned to the class

description: string

The description of this class

companyid: integer

Unique identifier representing the club in GymMaster

companyname: string

The club the booking is on

max_students: integer

The maximum number of class attendees allowed in this class booking

spacesfree: integer

The number of spaces remaining free for this class booking

bgcolour: string

The hex code of the colour set for this class type in GymMaster

image: string

The URL for the logo for this class type

online_instruction: string

Extra information for this class

Club: object

id: integer

Unique identifier representing a club in GymMaster

name: boolean

The name of the club

billingprovider: string

Name of the billing provider selected on the Billing Details under Club Details in GymMaster

Equipment: object

id: integer

The ID of the equipment

name: string

The name of the equipment

LinkedMember: object

id: integer

Unique identifier representing this linked member in GymMaster

firstname: string

The first name of the linked member

surname: string

The last name of the linked member

relationship: string

The relationship of the parent member to the linked member

Measurement: object

id: integer

Unique identifier representing this measurement in GymMaster

latest: boolean

If this measurement is the latest measurement recorded for a member

measured_on: string

The date the measurement occurred on

photos: string[]

A list of URLs of photos associated with this measurement

string
values: object[]

An array of measurement values that are part of this measurement

MeasurementValue: object

category: string

The category this measurement value is sorted under

measurementtypeid: integer

Unique identifier representing the type of measurement

name: string

The name of this measurement value

value: number

The value of this measurement value

unit: string

The unit of this measurement value

unitgroup: string

The unit group of this measurement value

Member: object

id: integer

Unique identifier representing a member in GymMaster

firstname: string

Firstname of the member

surname: string

Surname of the member

email: string

Email of the member

dob: string (date)

Date of birth of the member in ISO format (YYYY-MM-DD)

gender: string

Gender of member. Either "M", "F", or "O"

phonecell: string

Cellphone number of the member

phonehome: string

Home phone number of the member

addressstreet: string

Street of member address

addresssuburb: string

Suburb of member address

addresscity: string

City of member address

addresscountry: string

Country of member address

addressareacode: string

Area code of member address

receivesms: string

Whether member is subscribed to SMS communication

receiveemail: string

Whether member is subscribed to email communication

goal: string

Member joining goal

joindate: string

Date the member joined in ISO format (YYYY-MM-DD)

sourcepromotion: string

How the member found out about club

memberphoto: string

URL for the image for the member's photo

totalvisits: integer

The total amount of visits the member has made

totalpts: integer

The total amount of service bookings the member has attended

totalclasses: integer

The total amount of classes the member has attended

linked_members: object[]

An array of members that are paid for by this member

MemberCharge: object

postingid: integer

The ID of the charge

occurred: integer

The date this charge occurred in ISO format (YYYY-MM-DD)

note: string

The note on the charge

total: string

The amount of the charge

MemberClassBooking: object

id: integer

Unique identifier representing a booking in GymMaster

day: string (date)

Date the booking occurs on in ISO format (YYYY-MM-DD)

starttime: string

Time the booking starts at in format HH:MM:SS

endtime: string

Time the booking ends at in format HH:MM:SS

start_str: string

Time the booking starts at in format HH:MMAM

end_str: string

Time the booking ends at in format HH:MMAM

name: string

The name of the class

location: string

The resource the booking is on

is_trainer: boolean

Whether the resource the booking is on is a trainer

seat: integer

The seat number the booking has

staffname: string

The staff member assigned to the booking

substitute_staff: boolean

Whether the assigned staff member is a substitute

staffphoto: string

URL for the image for the staff member assigned to the class

description: string

The description of this class

dayofweek: string

The day of the week the booking is on

max_students: integer

The maximum number of class attendees allowed in this class booking

spacesfree: integer

The number of spaces remaining free for this class booking

bgcolour: string

The hex code of the colour set for this class type in GymMaster

image: string

The URL for the logo for this class type

parentid: integer

The ID of the parent class booking for this booking

MemberMembership: object

id: integer

Unique identifier representing this member membership in GymMaster

name: string

The name of this membership

price: string

The price of this membership

startdate: string (date)

The start date of this membership in ISO format (YYYY-MM-DD)

enddate: string (date)

The end date of this membership in ISO format (YYYY-MM-DD), or "Open Ended" if there is no end date

visitsused: integer

The visits used with this membership

visitlimit: integer

The visits limit on this membership, if any

MemberPastBooking: object

id: integer

Unique identifier representing a booking in GymMaster

day: string (date)

Date the booking occurred on in ISO format (YYYY-MM-DD)

starttime: string

Time the booking started in format HH:MM:SS

endtime: string

Time the booking ended in format HH:MM:SS

start_str: string

Time the booking starts at in format HH:MMAM

end_str: string

Time the booking ends at in format HH:MMAM

price: string

The price of the booking (w/ currency symbol)

location: string

The resource the booking is on

name: string

Name of the class for class bookings, or name of the facility for service bookings

classid: integer

Unique identifier representing a class type in GymMaster

type: string

Name of service for service booking or "Class Attendant" for class booking

attended: boolean

Whether the member was checked in to the booking

previous_rating: integer

Member's rating of the booking out of five

feedback: string

Member's feedback for the booking

dayofweek: string

Day of the week the booking occurred on, eg "Thursday"

day_str: string

Date the booking occurred on in format DD Mon YYYY

MemberServiceBooking: object

id: integer

Unique identifier representing a booking in GymMaster

day: string (date)

Date the booking occurs on in ISO format (YYYY-MM-DD)

starttime: string

Time the booking starts at in format HH:MM:SS

endtime: string

Time the booking ends at in format HH:MM:SS

start_str: string

Time the booking starts at in format HH:MMAM

end_str: string

Time the booking ends at in format HH:MMAM

name: string

The resource the booking is on

type: string

The type of booking it is

room: string

The name of the room booked

equipment: string

The name of the equipment booked

Membership: object

id: integer

Unique identifier representing a membership type in GymMaster

name: string

Name of the membership type

description: string

Additional information about the membership type

price: string

Price of the membership type (w/ currency symbol)

price_tax: string

Tax amount that is built into the price of the membership type

pricedescription: string

Information about the price

signupfee: string

Signup fee of the membership type (w/ currency symbol)

signupfee_tax: string

Tax amount that is built into the signup fee of the membership type

signupfee_label: string

Label text which should be used to present the signup fee value in UI elements

onlinecash: boolean

Whether payment is usually skipped in the online signup process

programme_ref: string

Unique hash representing the membership type

programmegroupid: string

ID of the programme group this membership type is part of

startdate: string (date)

Startdate of the membership type

divisionid: integer

Unique identifier representing the division/category this membership type is grouped under in GymMaster

divisionname: string

Name of the division/category this membership type is grouped under in GymMaster

bgcolour: string

Hex value which defines which colour to display this membership type option as in UI elements

hide_signupfee: boolean

Defines whether or not SIgnup fee values should be hidden in UI elements

maintenance_fee: string

Maintenance fee amount set for this membership type. Will always be null if no companyid provided with request

maintenance_interval: string

Interval between Maintenance fee charges for this membership type. Will always be null if no companyid provided with request

promotional_period: string

Length of promotional period set for this membership type

promotional_price: string

Cost of membership during the promotional period

promotion_period_description: string

Text description of how the promo period impacts the membership type. Will be null if no promo period set

freeuntil: string

Date at which membership will be free until. After this date the regular price will apply to the membership

freeuntil_available: boolean

Will be false if freeuntil date is in the past

promotion_freeuntil_description: string

Text description of how the free until period impacts the membership type. Will be null if no free until period set

show_pricedescription: boolean

Will be true if promotional_price is not null

account_credit: string

Amount that will be credited to member account upon purchase of membership. This is applied due to referral program or discount codes

zero_signupfee: boolean

Will be true if signupfee is 0 or null

discountdescription: string

If a valid discount code is passed into the request, will provide a text description of what benefits the discount provides

sortorder: integer

Int value which should be used to order membership type in UI elements from lowest to highest

companyids: integer[]

Array of companyids which shows which companies/locations the membership type is available at

integer

MembershipCancellationReason: object

id: integer

Unique identifier representing this cancellation reason in GymMaster

name: string

The label for this cancellation reason

MemberWaitlist: object

id: integer

Unique identifier representing a waitlist booking in GymMaster

day: string (date)

Date the waitlist booking occurs on in ISO format (YYYY-MM-DD)

starttime: string

Time the waitlist booking starts at in format HH:MM:SS

endtime: string

Time the waitlist booking ends at in format HH:MM:SS

start_str: string

Time the waitlist booking starts at in format HH:MMAM

end_str: string

Time the waitlist booking ends at in format HH:MMAM

name: string

The name of the class

location: string

The resource the waitlist booking is on

is_trainer: boolean

Whether the resource the waitlist booking is on is a trainer

priority: integer

Which number in the queue this waitlist booking is from being booked in

staffname: string

The staff member assigned to the booking

substitute_staff: boolean

Whether the assigned staff member is a substitute

staffphoto: string

URL for the image for the staff member assigned to the class

description: string

The description of this class

Product: object

productid: integer

Unique identifier representing a product in GymMaster

name: string

The name of the product

producttype: string

The category of the product

price: string

The price of the product for the current member

image: string

URL for the image for the product

Promotion: object

id: integer

Unique identifier representing a promotion in GymMaster

name: boolean

The name of the promotion

Question: object

id: integer

Unique identifier representing a question in GymMaster

label: string

The label for this question

required: boolean

Whether this question is required to be answered

type: string , x ∈ { heading , notes , boolean , dropdown , date , text }

The type of question that this is. Heading and notes-type questions are not actually questions, but just section headings and sub-headings respectively. Booleans are checkboxes, dropdowns have multiple options, dates are dates, and text is text.

textlength: integer

For text-type questions this is how many rows of text are allowed to be entered

options: object[]

For dropdown-type questions, this is a list of available options

children: object[]

Sub-questions of this question. If an answer is provided to this question, any sub-questions should be shown.

Questionnaire: object

id: integer

Unique identifier representing a questionnaire in GymMaster

name: string

The name of this questionnaire

questions: object[]

Questions contained in this questionnaire

QuestionOption: object

id: integer

Unique identifier representing a question option in GymMaster. This is the value that should be submitted when storing answers.

name: string

The text label of this question option. This is the value that is returned as an Answer

Resource: object

id: integer

Unique identifier representing a resource booking in GymMaster

name: string

Name of the resource

companyid: integer

Unique identifier representing the club in GymMaster

companyname: string

The name of the club this resource is assigned to

resourceimage: string

URL for the image for this resource

Room: object

id: integer

The ID of the room

name: string

The name of the room

Seat: object

seatnum: integer

Seat number in the class

taken: boolean

Whether the seat is taken

Service: object

serviceid: integer

ID number of the service

membershipid: integer

ID number of the membership which would be used for this service

benefitid: integer

ID number of the benefit which would be used for this service

servicename: string

Name of the service

status: string

Name of the benefit used

price: string

The price of the booking made with this service (w/ currency symbol)

Session: object

day: string (date)

The date the session is on

dayofweek: string

The day of the week the session is on

bookingstart: string

The time the session starts at in format HH:MM:SS

bookingend: string

The time the session ends at in format HH:MM:SS

start_str: string

The time the session starts at in format HH:MMAM

end_str: string

The time the session ends at in format HH:MMAM

price: string

The price of this session (w/ currency symbol)

rid: integer

ID number the resource the session is on

btname: string

The name of the service

resourceimage: string

URL for the image for the resource the session is on

Settings: object

edit_member: boolean

Enable editing member profile

view_member_class_booking: boolean

Enable viewing member's class bookings

view_member_pt_booking: boolean

Enable viewing member's service bookings

book_pt: boolean

Enable booking service bookings

book_classes: boolean

Enable booking class bookings

buy_product: boolean

Enable purchasing products

cancel_class_booking: boolean

Enable cancelling member's class bookings

cancel_pt_booking: boolean

Enable cancelling member's service bookings

add_membership: boolean

Enable purchasing new membership for a member

cancel_membership: boolean

Enable cancelling member's memberships

add_hold: boolean

Enable adding suspension to member's memberships

upload_photo: boolean

Enable updating member's profile picture

show_attendance: boolean

Enable showing class booking attendance numbers

club_notice: boolean

General notices set by club

hide_class_price: boolean

Hide price on class bookings

show_class_schedule: boolean

Enable viewing of class schedule

show_measurements: boolean

Enable measurements

show_workouts: boolean

Enable workouts

show_charges: boolean

Enable showing/paying for outstanding charges

Workout: object

id: integer

Unique identifier representing this workout in GymMaster

name: boolean

The label added to this workout

workdate: string (date)

The date the workout is for, in ISO format (YYYY-MM-DD)

notes: string

Notes about the workout

type: string

The type of workout, either "weight" or "cardio"

values: object[]

An array of workout exercises values that are part of this workout

WorkoutExercise: object

id: integer

Unique identifier representing this exercise in GymMaster

name: string

The name of the exercise

description: string

The description of the exercise

imagelink: string

URL for an image representing the exercise

videolink: string

URL to video showing the exercise

intensity: string

A description of the intensity of this exercise

duration: string

The duration of the exercise, in format HH:MM:SS

reps: number

The number of reps for this exercise

rest: number (float)

The duration of rest between exercises

sets: number

The number of sets for this exercise

tempo: string

The tempo of this exercise

weight: number (float)

The number of weight for this exercise, if a weight workout type