> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.wodup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create complex movement



## OpenAPI

````yaml post /api/public/movements/complex
openapi: 3.0.0
info:
  title: WodUp Public API
  version: '0.1'
servers:
  - description: Development / testing server
    url: https://api.wodup.dev
    variables: {}
security:
  - authorization: []
tags: []
paths:
  /api/public/movements/complex:
    post:
      tags:
        - movements
      summary: Create complex movement
      operationId: WodUpWeb.PublicApi.MovementController.create_complex
      parameters:
        - description: |
            **Only used by platform integrations**  
            ID of gym to execute on behalf of
          example: gym_123abc
          in: header
          name: wodup-gym
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateComplexMovementRequest'
        description: Create complex movement params
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComplexMovementResponse'
          description: Create complex movement response
      callbacks: {}
components:
  schemas:
    CreateComplexMovementRequest:
      description: POST body for creating a complex movement
      example:
        complex_details:
          - movement_id: mv_PccWR3Th
            reps: 1
          - movement_id: mv_CSO4yx74
            reps: 2
      properties:
        complex_details:
          description: Movements in this complex
          items:
            properties:
              movement_id:
                description: Movement id
                type: string
              reps:
                description: Number of reps to perform
                type: integer
            required:
              - movement_id
              - reps
            type: object
          type: array
      required:
        - complex_details
      title: CreateComplexMovementRequest
      type: object
    CreateComplexMovementResponse:
      allOf:
        - $ref: '#/components/schemas/Movement'
      example:
        complex_details:
          - movement_id: mv_PccWR3Th
            reps: 1
          - movement_id: mv_CSO4yx74
            reps: 2
        description: null
        has_calories: false
        has_distance: false
        has_duration: false
        has_height: false
        has_load: true
        has_power: false
        has_reps: true
        id: mv_abcd1234
        name: 1 Deadlift + 2 Cleans
        source: wodup
        video: null
      title: CreateComplexMovementResponse
      type: object
    Movement:
      description: Movement object
      properties:
        complex_details:
          description: Movements in this complex
          items:
            properties:
              movement_id:
                description: Movement id
                type: string
              reps:
                description: Number of reps to perform
                type: integer
            required:
              - movement_id
              - reps
            type: object
          type: array
        description:
          description: Movement instructions / description
          type: string
        has_calories:
          description: Does this movement involve calories. E.g. Row
          type: boolean
        has_distance:
          description: Does this movement involve distance. E.g. Row
          type: boolean
        has_duration:
          description: Does this movement involve duration. E.g. Row or Weighted Plank Hold
          type: boolean
        has_height:
          description: Does this movement involve height. E.g. Box Jumps
          type: boolean
        has_load:
          description: >-
            Does this movement involve load. E.g. Back Squat or Weighted Plank
            Hold
          type: boolean
        has_power:
          description: Does this movement involve power. E.g. Row
          type: boolean
        has_reps:
          description: Does this movement involve reps. E.g. Push-Up or Back Squat
          type: boolean
        id:
          description: Movement ID
          type: string
        name:
          description: Movement name
          type: string
        source:
          description: >-
            Whether this movement is from the global WodUp library or a custom
            movement
          enum:
            - wodup
            - custom
          type: string
        video:
          properties:
            id:
              description: Video id
              type: string
            service:
              description: Video service
              enum:
                - vimeo
                - youtube
              type: string
          required:
            - id
            - service
          type: object
      title: Movement
      type: object
  securitySchemes:
    authorization:
      scheme: basic
      type: http

````