EGYM Products booking API

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

Operations 5

GET /api/v2/accounts/{accountId}/products Retrieve user activated products #
PUT /api/v2/accounts/{accountId}/products Activate a product or update product booking #
GET /api/v2/products Retrieve gym products #
GET /api/v2/products/{productId} Product details #
DELETE /api/v2/accounts/{accountId}/products/{productId} Deactivate a product #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/egym-products-booking-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

egym-products-booking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MMS API V2 Products booking API
  description: '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'
  termsOfService: https://egym.com/en/terms/
  contact:
    name: MMS Connect Team
    url: https://egym.com/
    email: connect@egym.com
  version: 2.0.0
servers:
- url: https://mms.api.ed.ts.egym.coffee
  description: Test
- url: https://mms.api.egym.com
  description: Prod
security:
- mms: []
tags:
- name: Products booking
  description: Operations on EGYM products. Currently available products are EGYM Smart Strength (Machine Admission) and EGYM+
paths:
  /api/v2/accounts/{accountId}/products:
    get:
      tags:
      - Products booking
      summary: Retrieve user activated products
      description: Returns a list of products that are activated for the specified user and gym and are active now or in the future.
      operationId: userProducts
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserProductDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
    put:
      tags:
      - Products booking
      summary: Activate a product or update product booking
      description: This endpoint activates or updates a product for a user in a gym. The product is active starting from the specified start date to the end date in Timezone of the club.
      operationId: productBooking
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserProductDTO'
        required: true
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProductDTO'
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProductDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
  /api/v2/products:
    get:
      tags:
      - Products booking
      summary: Retrieve gym products
      description: Returns a list of products that are available in the gym and can be activated for a user.
      operationId: listGymProducts
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
  /api/v2/products/{productId}:
    get:
      tags:
      - Products booking
      summary: Product details
      description: Returns the details of a specific product.
      operationId: productDetails
      parameters:
      - name: productId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
  /api/v2/accounts/{accountId}/products/{productId}:
    delete:
      tags:
      - Products booking
      summary: Deactivate a product
      description: This endpoint deactivates a product for a user in a gym.
      operationId: deactivateUserProduct
      parameters:
      - name: accountId
        in: path
        required: true
        schema:
          type: string
      - name: productId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
components:
  schemas:
    ProductDTO:
      type: object
      properties:
        productId:
          type: string
          description: The ID of the product.
          readOnly: true
        title:
          type: string
          description: Product title.
          readOnly: true
        description:
          type: string
          description: Product description.
          readOnly: true
        scope:
          type: string
          description: The scope of the bookable package.
          enum:
          - LOCATION
          - CHAIN
          - BRAND
    ErrorDTO:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          description: The timestamp of the request.
        path:
          type: string
          description: The path requested.
        requestId:
          type: string
          description: The request ID.
          example: de625cf1-1
        status:
          type: integer
          format: int32
          description: The http status code.
        error:
          type: string
          description: The error.
        errorCode:
          type: string
          description: The static error code.
        message:
          type: string
          description: The message to describe the error.
        fieldErrors:
          type: array
          description: The constraint violations.
          items:
            $ref: '#/components/schemas/FieldErrorDTO'
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Additional information of the error context
    FieldErrorDTO:
      type: object
      properties:
        name:
          type: string
          description: The field name.
          example: age
        message:
          type: string
          description: The error message.
          example: Must be greater than 10.
        rejectedValue:
          description: The rejected value.
          example: 3
    UserProductDTO:
      type: object
      properties:
        productId:
          type: string
          description: The ID of the product.
          minLength: 1
        startDate:
          type: string
          format: date
          description: 'The date from which the specified product is active and can be used by the user. It must be today’s or future date in Timezone of the club. format: yyyy-MM-dd'
        endDate:
          type: string
          format: date
          description: 'The date to which the specified product is active and can be used by the user. It must be future date in Timezone of the club. format: yyyy-MM-dd. Max date is 2050-12-31'
      required:
      - productId
  securitySchemes:
    mms:
      type: apiKey
      description: Authentication is validated via an API key that is generated by EGYM for each gym location. This API key will not be identical with the access token used in the EGYM Gym API v1
      name: x-api-key
      in: header
x-tagGroups:
- name: Member Account Management
  tags:
  - Member Account
  - Member Account Roles
  - Member RFIDs
  - Products booking
- name: NFC management (Beta version)
  tags:
  - Member Account NFC
- name: Member Migration
  tags:
  - Migrating members
- name: Gym Visit Management
  tags:
  - Gym Visit
- name: Trainer Task Management
  tags:
  - Trainer Task
- name: Integration
  tags:
  - Webhooks
  - Push notifications