Skip to content

MMS API V2 (2.0.0)

RESTful API specification for integrating gym management systems with the EGYM platform. This OpenAPI document defines all available endpoints, request/response schemas, authentication requirements, and error codes.

Key Features:

  • Member account and membership management
  • RFID assignment and management
  • Real-time gym visit tracking (check-in/check-out)
  • EGYM product booking (Smart Strength, EGYM+)
  • Trainer task creation and tracking
  • Webhook subscriptions for event notifications
  • Push notifications to EGYM mobile apps
  • Member migration from V1 API
Download OpenAPI description
Languages
Servers
Mock server
https://developer.egym.com/_mock/mms-api-v2/apis/mms-v2/
Test
https://one-mms-service.ext-1.test.co.egym.coffee/
Prod
https://mms.api.egym.com/

Member Account

These operations are needed to create and update member accounts and their membership information.

Operations

Member Account Roles

These operation are needed to assign and retrieve member account roles

Operations

Member RFIDs

Operations with RFIDs

Operations

Products booking

Operations on EGYM products. Currently available products are EGYM Smart Strength (Machine Admission) and EGYM+

Operations

Member Account NFC

Note that NFC API endpoints are in beta as we've been tuning setup processes on both EGYM and partner sides.

Operations

Migrating members

These operations are needed to migrate members from V1 API to V2 API.

Operations

Migrate an account

Request

Migrate membership from V1 API using old EGYM user id (if already migrated then just returns membership).

Security
mms
Query
legacyUserIdinteger(int64)required
curl -i -X POST \
  'https://developer.egym.com/_mock/mms-api-v2/apis/mms-v2/api/v2/migrate?legacyUserId=0' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
accountIdstringread-only

The EGYM account ID for the Gym Member.

emailstring(email)non-emptyrequired

The Member email address. It should be unique within the gym chain.

firstNamestringnon-emptyrequired

The Member first name.

Example: "John"
lastNamestringnon-emptyrequired

The Member last name.

Example: "Wick"
dateOfBirthstring(date)

The Member date of birth. format: yyyy-MM-dd

genderstringrequired

The Member gender. Please note that NON_BINARY is not correctly supported yet, we send it as FEMALE for the usage of the machines.

Enum"MALE""FEMALE""NON_BINARY"
contactobject(ContactDTO)

The user's contact information

membershipobject(MembershipDTO)required

The membership details.

membership.​membershipIdstringnon-emptyrequired

Member ID in the gym software. It must be unique for exactly one member in the gym chain.

membership.​agreementNumberstring

The agreement number is the number of the membership between the member and the gym chain.

membership.​membershipTypestringrequired

Type of the member's membership to determine available features.

Enum"BASIC""PREMIUM""PROSPECT""CORPORATE_FITNESS"
membership.​membershipSubTypestring[ 0 .. 128 ] characters

Extension of membershipStatus for further customization for this user. One membershipStatus can have multiple membershipSubType.

membership.​endOfContractstring(date)

Date when the member's contract ends. For gyms with automatic contract renewal, send the date when the contract would run out, if cancelled. Update the field when the contract was renewed (manually and automatically renewals). format: yyyy-MM-dd

membership.​startOfContractstring(date)required

The date when the membership started. format: yyyy-MM-dd

membership.​referringMemberIdstring

MembershipId of the member who referred this member.

membership.​barcodestring

Member's barcode to check-in in the gym. Can be visualised on the Branded Member App and used for lookup to verify membership.

membership.​verificationTANstring

Mandatory when creating new membership of type 'CORPORATE_FITNESS' or when updating membership to 'CORPORATE_FITNESS'. Member's verification TAN. Can be visualised on the Qualitrain Member App and used for Qualitrain Membership verification.

membership.​corporateFitnessobject(CorporateFitnessDTO)read-only

The corporate fitness details. These fields are returned only in case membershipType=CORPORATE_FITNESS

Response
application/json
{ "accountId": "string", "email": "user@example.com", "firstName": "John", "lastName": "Wick", "dateOfBirth": "2019-08-24", "gender": "MALE", "contact": { "phone": "string", "street": "string", "streetNumber": "string", "zipCode": "string", "city": "string", "state": "string", "country": "DE" }, "membership": { "membershipId": "string", "agreementNumber": "string", "membershipType": "BASIC", "membershipSubType": "string", "endOfContract": "2019-08-24", "startOfContract": "2019-08-24", "referringMemberId": "string", "barcode": "string", "verificationTAN": "string", "corporateFitness": {} } }

Gym Visit

These operations are needed to transmit the information to EGYM, that a specific member is currently in the gym. Based on that information several business logics are built, to provide a seamless training floor experience to the members of that gym. For example the trainer on the Training Floor is informed that this member is here and that he should complete some tasks.

Operations

Trainer Task

These operations are needed to create and update trainer tasks.

Operations

Webhooks

Operations with webhooks

Operations

Push notifications

Send push notifications to EGYM mobile apps

Operations