> ## 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 athlete



## OpenAPI

````yaml post /api/public/athletes
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/athletes:
    post:
      tags:
        - athletes
      summary: Create athlete
      operationId: WodUpWeb.PublicApi.AthleteController.create
      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/CreateAthleteRequest'
        description: athlete params
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AthleteResponse'
          description: athlete response
      callbacks: {}
components:
  schemas:
    CreateAthleteRequest:
      example:
        email: jane@doe.com
        name: Jane Doe
        platform_id: '1'
        staff: admin
      properties:
        email:
          description: Email address
          format: email
          type: string
        name:
          description: Athlete name
          type: string
        platform_id:
          description: ID of athlete on source platform
          type: string
        staff:
          description: Staff level
          enum:
            - admin
            - coach
          type: string
      required:
        - name
        - email
      title: CreateAthleteRequest
      type: object
    AthleteResponse:
      allOf:
        - $ref: '#/components/schemas/Athlete'
      example:
        access: member
        added_at: '2001-01-01T00:00:00Z'
        email: jane@smith.com
        followed_programs:
          - access: private
            id: p_123abc
            name: Strength and Conditioning
            period: continuous
            status: active
        gender: female
        id: ath_123abc
        invite_url: https://www.wodup.com/invite/abc123
        name: Jane Smith
        staff: null
      title: AthleteResponse
      type: object
    Athlete:
      description: An athlete at your organization
      example:
        access: member
        added_at: '2001-01-01T00:00:00Z'
        email: jane@smith.com
        followed_programs:
          - access: private
            id: p_123abc
            name: Strength and Conditioning
            period: continuous
            status: active
        gender: female
        id: ath_123abc
        invite_url: https://www.wodup.com/invite/abc123
        name: Jane Smith
        staff: null
      properties:
        access:
          description: Athlete access
          enum:
            - member
            - marketplace
            - archived
            - deleted
          type: string
        added_at:
          description: >-
            Date athlete initially added to your organization. ISO8601 timestamp
            in UTC
          format: timestamptz
          type: string
        email:
          description: Athlete email address
          format: email
          type: string
        followed_programs:
          description: List of programs the athlete follows on their timeline
          items:
            $ref: '#/components/schemas/Program'
          type: array
        gender:
          description: Athlete gender
          enum:
            - male
            - female
            - nonbinary
            - undisclosed
          type: string
        id:
          description: Athlete ID
          type: string
        invite_url:
          description: A URL that allows a user to claim this athlete account.
          format: url
          type: string
        name:
          description: Athlete name
          type: string
        staff:
          description: Athlete staff
          enum:
            - admin
            - coach
          type: string
      required:
        - id
        - name
        - email
        - added_at
        - access
        - invite_url
        - followed_programs
      title: Athlete
      type: object
    Program:
      description: A program at your organization
      example:
        access: private
        id: p_123abc
        name: Strength and Conditioning
        period: continuous
        status: active
      properties:
        access:
          description: Program access
          enum:
            - all_members
            - private
          type: string
        id:
          description: Program ID
          type: integer
        name:
          description: Program name
          type: string
        period:
          description: Program period
          enum:
            - continuous
            - fixed
            - template
          type: string
        status:
          description: Program status
          enum:
            - active
            - archived
          type: string
      required:
        - id
        - name
        - status
      title: Program
      type: object
  securitySchemes:
    authorization:
      scheme: basic
      type: http

````