Wodify Workouts API

Workouts (WODs) and skill progressions.

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/wodify-workouts-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

wodify-workouts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wodify Classes Workouts API
  description: 'REST API for the Wodify gym, fitness, and CrossFit box management platform. The API exposes the core Wodify business objects - leads, clients, memberships, classes, programs, services, appointments, workouts, financials, and communications - over HTTPS. The documented base URL is https://api.wodify.com/v1 and every request is authenticated with an `x-api-key` header. Customers using the Wodify Workflows feature already have an API key (Wodify Core > Digital Presence > Web Integrations > API Keys); partners request one through the Wodify Developer Portal.

    Scope note: this document is reconstructed from Wodify''s public API reference (docs.wodify.com) and its published operation catalog (docs.wodify.com/llms.txt). The base URL, the x-api-key auth, and the paths and query parameters for the core collections (clients, classes, workouts, programs, services) were verified directly against the reference; the remaining collection paths follow Wodify''s documented, consistently named REST operations and are modeled from that catalog. Not every documented Wodify operation is enumerated here.'
  version: '1.0'
  contact:
    name: Wodify
    url: https://www.wodify.com
servers:
- url: https://api.wodify.com/v1
  description: Wodify API (production)
security:
- apiKeyAuth: []
tags:
- name: Workouts
  description: Workouts (WODs) and skill progressions.
paths:
  /workouts:
    get:
      operationId: getWorkouts
      tags:
      - Workouts
      summary: Get workouts
      description: Returns a paged list of workouts (WODs).
      parameters:
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          $ref: '#/components/responses/ListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createWorkout
      tags:
      - Workouts
      summary: Create workout
      description: Creates a new workout.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Workout'
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /workouts/{id}:
    parameters:
    - $ref: '#/components/parameters/Id'
    get:
      operationId: getWorkout
      tags:
      - Workouts
      summary: Get workout
      description: Retrieves a single workout by ID.
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateWorkout
      tags:
      - Workouts
      summary: Update workout
      description: Updates an existing workout.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Workout'
      responses:
        '200':
          $ref: '#/components/responses/ObjectResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      operationId: deleteWorkout
      tags:
      - Workouts
      summary: Delete workout
      description: Deletes a workout.
      responses:
        '200':
          description: The workout was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    ValidationError:
      description: The request payload failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid x-api-key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ListResponse:
      description: A paged list of resources.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  type: object
                  additionalProperties: true
              page:
                type: integer
              page_size:
                type: integer
    ObjectResponse:
      description: A single resource.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: true
  schemas:
    Workout:
      type: object
      description: A workout (WOD). Fields are modeled; see the Wodify reference for the authoritative schema.
      properties:
        id:
          type: string
        program_id:
          type: string
        date:
          type: string
          format: date
        name:
          type: string
        components:
          type: array
          items:
            type: object
            additionalProperties: true
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  parameters:
    Page:
      name: page
      in: query
      required: false
      description: Specifies the page of records to be returned. Defaults to 1.
      schema:
        type: integer
        default: 1
    Id:
      name: id
      in: path
      required: true
      description: The unique identifier of the resource.
      schema:
        type: string
    Sort:
      name: sort
      in: query
      required: false
      description: Specifies the order in which the list will be returned.
      schema:
        type: string
    PageSize:
      name: page_size
      in: query
      required: false
      description: Number of records to return per page. Maximum and default are 100.
      schema:
        type: integer
        default: 100
        maximum: 100
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: A valid Wodify API key passed in the `x-api-key` request header. Customers using Wodify Workflows already have a key under Wodify Core > Digital Presence > Web Integrations > API Keys; partners request one via the Wodify Developer Portal.