Hevy Exercise History API

The ExerciseHistory API from Hevy — 1 operation(s) for exercisehistory.

Operations 1

GET /v1/exercise_history/{exerciseTemplateId} Get exercise history for a specific exercise template #

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/hevy-exercisehistory-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

hevy-exercisehistory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hevy Exercise History API
  version: '1.0'
  description: 'Operations tagged ExerciseHistory across 2 of this provider''s published API definitions: hevy-gpt-action-openapi.json, hevy-public-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://hevy.com
tags:
- name: ExerciseHistory
paths:
  /v1/exercise_history/{exerciseTemplateId}:
    get:
      summary: Get exercise history for a specific exercise template
      operationId: get-exercise-history
      security:
      - oauth2:
        - read:exercise_history
      tags:
      - ExerciseHistory
      parameters:
      - in: path
        name: exerciseTemplateId
        description: The id of the exercise template
        required: true
        schema:
          type: string
      - in: query
        name: start_date
        schema:
          type: string
          format: date-time
        description: Optional start date for filtering exercise history (ISO 8601 format)
        example: '2024-01-01T00:00:00Z'
        required: false
      - in: query
        name: end_date
        schema:
          type: string
          format: date-time
        description: Optional end date for filtering exercise history (ISO 8601 format)
        example: '2024-12-31T23:59:59Z'
        required: false
      responses:
        '200':
          description: A list of exercise history entries
          content:
            application/json:
              schema:
                type: object
                properties:
                  exercise_history:
                    type: array
                    items:
                      $ref: '#/components/schemas/ExerciseHistoryEntry'
        '400':
          description: Invalid request parameters
    servers:
    - url: https://hevy.com
components:
  schemas:
    ExerciseHistoryEntry:
      type: object
      properties:
        workout_id:
          type: string
          description: The workout ID
          example: b459cba5-cd6d-463c-abd6-54f8eafcadcb
        workout_title:
          type: string
          description: The workout title
          example: Morning Workout 💪
        workout_start_time:
          type: string
          description: ISO 8601 timestamp of when the workout was recorded to have started.
          example: '2024-01-01T12:00:00Z'
        workout_end_time:
          type: string
          description: ISO 8601 timestamp of when the workout was recorded to have ended.
          example: '2024-01-01T13:00:00Z'
        exercise_template_id:
          type: string
          description: The exercise template ID
          example: D04AC939
        weight_kg:
          type: number
          nullable: true
          description: The weight in kilograms
          example: 100
        reps:
          type: integer
          nullable: true
          description: The number of repetitions
          example: 10
        distance_meters:
          type: integer
          nullable: true
          description: The distance in meters
          example: null
        duration_seconds:
          type: integer
          nullable: true
          description: The duration in seconds
          example: null
        rpe:
          type: number
          nullable: true
          description: The Rating of Perceived Exertion
          example: 8.5
        custom_metric:
          type: number
          nullable: true
          description: A custom metric for the set
          example: null
        set_type:
          type: string
          description: The type of set (warmup, normal, failure, dropset)
          example: normal
    ExerciseHistoryEntry_2:
      type: object
      properties:
        workout_id:
          type: string
          description: The workout ID
          example: b459cba5-cd6d-463c-abd6-54f8eafcadcb
        workout_title:
          type: string
          description: The workout title
          example: Morning Workout 💪
        workout_start_time:
          type: string
          description: ISO 8601 timestamp of when the workout was recorded to have started.
          example: '2024-01-01T12:00:00Z'
        workout_end_time:
          type: string
          description: ISO 8601 timestamp of when the workout was recorded to have ended.
          example: '2024-01-01T13:00:00Z'
        exercise_template_id:
          type: string
          description: The exercise template ID
          example: D04AC939
        weight_kg:
          type:
          - number
          - 'null'
          description: The weight in kilograms
          example: 100
        reps:
          type:
          - integer
          - 'null'
          description: The number of repetitions
          example: 10
        distance_meters:
          type:
          - integer
          - 'null'
          description: The distance in meters
          example: null
        duration_seconds:
          type:
          - integer
          - 'null'
          description: The duration in seconds
          example: null
        rpe:
          type:
          - number
          - 'null'
          description: The Rating of Perceived Exertion
          example: 8.5
        custom_metric:
          type:
          - number
          - 'null'
          description: A custom metric for the set
          example: null
        set_type:
          type: string
          description: The type of set (warmup, normal, failure, dropset)
          example: normal
x-refined-from:
- hevy-gpt-action-openapi.json
- hevy-public-api-openapi.json