EGYM Cardio Test API

The Cardio Test API from EGYM — 3 operation(s) for cardio test.

Operations 3

PUT /api/v1/cardio/tests/{cardioTestId} Update Test #
PUT /api/v1/cardio/reminders Postpone Reminder #
POST /api/v1/cardio/tests Initialise Test #

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-cardio-test-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

egym-cardio-test-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Equipment Vendor API (for standalone clients) Cardio Test…
  description: At EGYM, we believe that fitness is the soul of healthy living.
  termsOfService: https://egym.com/us/terms/
  contact:
    name: EGYM GmbH
    url: https://egym.com/
    email: support@egym.com
  license:
    name: Pending License
    url: https://egym.com/
  version: 1.2.0
servers:
- url: https://partner-api.ext-1.test.co.egym.coffee
  description: Test (ext-1)
- url: https://partner-api.api.egym.com
  description: Production
tags:
- name: Cardio Test
paths:
  /api/v1/cardio/tests/{cardioTestId}:
    put:
      tags:
      - Cardio Test
      summary: Update Test
      description: This endpoint should be invoked in order to create a new step into an ongoing cardio test
      operationId: updateTest
      parameters:
      - name: cardioTestId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCardioTestDTO'
        required: true
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardioTestResponseDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
      security:
      - user: []
  /api/v1/cardio/reminders:
    put:
      tags:
      - Cardio Test
      summary: Postpone Reminder
      description: This endpoint should be invoked in order to postpone the reminder of a cardio test
      operationId: postponeReminder
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
      security:
      - user: []
  /api/v1/cardio/tests:
    post:
      tags:
      - Cardio Test
      summary: Initialise Test
      description: This endpoint should be invoked in order to create and initialize a cardio test for a user
      operationId: initialiseTest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitialCardioTestDTO'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardioTestResponseDTO'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDTO'
      security:
      - user: []
components:
  schemas:
    UpdateCardioTestDTO:
      type: object
      properties:
        levelId:
          type: integer
          format: int32
          description: The level id.
          example: 1
        stepCompletionType:
          type: string
          description: The completion type.
          enum:
          - COMPLETED
          - ABORTED
        ratedPerceivedExertion:
          type: string
          description: The rated perceived exertion.
          enum:
          - NO_EFFORT
          - VERY_EASY
          - EASY
          - COMFORTABLE
          - SOMEWHAT_DIFFICULT
          - DIFFICULT
          - HARD
          - VERY_HARD
          - EXTREMELY_HARD
          - MAXIMAL_EFFORT
        duration:
          type: integer
          format: int64
          description: The duration in milliseconds.
          example: 60000
      required:
      - levelId
      - stepCompletionType
    CardioTestResultDTO:
      type: object
      properties:
        results:
          type: array
          description: The historical results.
          items:
            $ref: '#/components/schemas/HistoricalCardioResultDTO'
        cardioAge:
          type: integer
          format: int32
          description: The cardio age result.
          example: 26
        vo2max:
          type: number
          format: double
          description: The maximum rate of oxygen consumption measured.
          example: '45.1'
    CardioTestResponseDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Identifier for this cardio test.
          example: 1
        testLevel:
          $ref: '#/components/schemas/CardioLevelDTO'
          description: The Cardio Test level.
        cardioTestResult:
          $ref: '#/components/schemas/CardioTestResultDTO'
          description: The Cardio Test result.
        instructions:
          type: array
          description: The instructions to the next step.
          items:
            type: string
            enum:
            - CONTINUE
            - FINISH
            - REQUEST_TRAINING_GOAL
            - REQUEST_TRAINING_PROGRAM
            - REQUEST_HEIGHT
            - REQUEST_WEIGHT
            - REQUEST_GENDER
            - REQUEST_DATE_OF_BIRTH
            - TERMS_AND_CONDITIONS
            - SUGGEST_CARDIO_TEST
            - FIRST_CARDIO_TEST
            - TEST_SKIPPED
          uniqueItems: true
    CardioUserInfoDTO:
      type: object
      properties:
        height:
          type: number
          format: double
          description: The body height of the user in centimeters.
          example: 180
        weight:
          type: number
          format: double
          description: The body weight of the user in kilograms.
          example: 75
        trainingGoal:
          type: string
          deprecated: true
          description: The user training goal.
          enum:
          - WEIGHT_LOSS
          - FITNESS
          - MUSCLE_GAIN
          - BBP
          - BBP_AND_WEIGHT_LOSS
          - REHASPORT
        trainingProgram:
          type: string
          description: The user training program.
          enum:
          - WEIGHT_LOSS
          - FITNESS
          - MUSCLE_GAIN
          - BBP
          - BBP_AND_WEIGHT_LOSS
          - REHASPORT
          - IMMUNITY
        dateOfBirth:
          type: string
          format: date
          description: User date of birth in ISO 8601 format (yyyy-MM-dd).
        gender:
          type: string
          description: User gender.
          enum:
          - MALE
          - FEMALE
          - NON_BINARY
    CardioLevelDTO:
      type: object
      properties:
        levelId:
          type: integer
          format: int32
          description: Identifier for this cardio level.
          example: 1
        duration:
          type: integer
          format: int64
          description: The duration in milliseconds.
          example: 60000
        watts:
          type: number
          format: double
          description: Power/Resistance in watts.
          example: 100
        stepsPerMinute:
          type: number
          format: double
          description: The number of steps per minute for the activity.
          example: 80
        resistance:
          type: number
          format: double
          description: The resistance of the exercise.
          example: 3
        rotationsPerMinute:
          type: number
          format: double
          description: The rotations per minute.
          example: 60
        stepHeight:
          type: number
          format: double
          description: The height of each step.
          example: 10
        speed:
          type: number
          format: double
          description: The speed of the exercise in metres per second.
          example: '0.666'
        incline:
          type: number
          format: double
          description: The incline of the exercise.
          example: 3
        rampAngle:
          type: number
          format: double
          description: The angle of the ramp.
          example: 2
        strideLengthZone:
          type: number
          format: double
          description: The stride length zone.
          example: 2
    InitialCardioTestDTO:
      type: object
      properties:
        personalFitnessRating:
          type: string
          description: The personal fitness rating.
          enum:
          - NOT_FIT
          - AVERAGE
          - VERY_FIT
        userInfo:
          $ref: '#/components/schemas/CardioUserInfoDTO'
          description: The user information that needs to be updated while initializing the cardio test.
      required:
      - personalFitnessRating
      - userInfo
    HistoricalCardioResultDTO:
      type: object
      properties:
        timestamp:
          type: integer
          format: int64
          description: The date of the test.
          example: 1553074068097
        maxWatts:
          type: number
          format: double
          description: The max watts.
          example: 200
        cardioAge:
          type: integer
          format: int32
          description: The cardio age result.
          example: 26
        vo2max:
          type: number
          format: double
          description: The maximum rate of oxygen consumption measured.
          example: '45.1'
    ApiErrorResponseDTO:
      type: object
      description: Standard error response returned by the API for all error status codes.
      properties:
        timestamp:
          type: integer
          format: int64
          description: Unix epoch milliseconds when the error occurred.
          example: 1775122463109
        path:
          type: string
          description: The request path that triggered the error.
          example: /api/v1/measurements/body/history
        status:
          type: integer
          format: int32
          description: HTTP status code.
          example: 400
        error:
          type: string
          description: Short textual description of the HTTP status.
          example: Bad Request
        requestId:
          type: string
          description: Unique identifier for the request, useful for correlating logs and support tickets.
          example: d0c0fd9e-236
        message:
          type: string
          description: Human-readable description of the error.
          example: 'Invalid request parameters: value must be greater than or equal to 1 and less than or equal to 1000'
        fieldErrors:
          type: array
          description: List of field-level validation errors. Only present when the error was caused by request-body binding failures or custom form validation.
          items:
            $ref: '#/components/schemas/FieldErrorDTO'
        errorCode:
          type: string
          description: Machine-readable error code for domain-specific errors. Only present for exceptions that carry a custom error code.
          example: USER_NOT_FOUND
    FieldErrorDTO:
      type: object
      properties:
        name:
          type: string
          description: The field name.
        message:
          type: string
          description: The error message.
          example: Must not be null.
        rejectedValue:
          description: The rejected value.
          example: Must not be null.
  securitySchemes:
    user:
      type: http
      scheme: bearer
      bearerFormat: JWT
    partner:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /api/v1/oauth/token
          scopes: {}
x-tagGroups:
- name: Authentication
  tags:
  - OAuth
- name: Partners Information
  tags:
  - Partners
- name: Measurements
  tags:
  - Body Measurement
  - Cardio Measurement
  - Flexibility Measurement
- name: User
  tags:
  - User
  - Image
  - Statistics
- name: Machine
  tags:
  - Machine
- name: Resource
  tags:
  - Resource
- name: Workouts
  tags:
  - Strength Workouts
  - Cardio Workouts
  - Open Exercise Workouts
- name: Cardio Test
  tags:
  - Cardio Test
- name: Logging
  tags:
  - Logging