> ## Documentation Index
> Fetch the complete documentation index at: https://developer.mogl.online/llms.txt
> Use this file to discover all available pages before exploring further.

# Update athlete profile

> Full athlete profile update. All fields optional except those relevant to your update.



## OpenAPI

````yaml /storage/api-docs/api-docs.json post /editAthleteWebsite
openapi: 3.0.0
info:
  title: MOGL Core API
  description: >-
    MOGL Platform Core API — powering athlete NIL deals, brand partnerships,
    agent management, payments, messaging, and more.
     *
     * ## Authentication
     * - **JWT Bearer Token**: Most endpoints require a Bearer token obtained via `/api/login`.
     * - **Server-to-Server API Key**: Internal/lambda/cron endpoints use an `X-API-KEY` header.
     *
     * ## Rate Limiting
     * - Registration & login endpoints: 4–15 requests per minute
     * - Public/influencer endpoints: 200 requests per minute
     * - Authenticated endpoints: standard Laravel throttle
  version: 1.0.0
servers:
  - url: http://localhost/mogl/mogl-backend/api
    description: Local
  - url: https://dev-api.mogl.online/api
    description: Dev
  - url: https://staging-api.mogl.online/api
    description: Staging
  - url: https://api.mogl.online/api
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Login, registration, password reset
  - name: User Registration - Common
    description: Common user registration & email check
  - name: User Registration - Athlete
    description: Athlete registration & onboarding steps
  - name: User Registration - Partner
    description: Partner/Brand registration & onboarding steps
  - name: User Registration - Agent
    description: Agent registration & onboarding steps
  - name: User Registration - Fan
    description: Fan registration & onboarding steps
  - name: User Profile
    description: User profile management, settings, social media
  - name: Athlete
    description: 'Athlete-specific endpoints: search, details, availability'
  - name: Athlete - Availability Confirmation
    description: Post-hiring availability confirmation workflow
  - name: Athlete - NIL Feed
    description: Athlete NIL feed and partner search
  - name: Athlete - AI Assistant
    description: AI-powered job assistant for athletes — chat and conversation history
  - name: Partner
    description: Partner/Brand-specific endpoints
  - name: Partner - External Job
    description: External job link & applicant management
  - name: Partner - Deliverable Report
    description: Deliverable detail reports for brands
  - name: Partner - Screening Questions
    description: Screening question reports
  - name: Partner - Contract Management
    description: Brand contract management with athletes
  - name: Partner - Content Library
    description: Brand content library for deliverable assets
  - name: Agent
    description: Agent profile, athlete management, contracts
  - name: Agent - Athletes
    description: Agent-athlete relationship management
  - name: Agent - Stripe
    description: Agent payment methods & billing via Stripe
  - name: Agent - Contracts
    description: Agent athlete contract management
  - name: Agent - Availability Confirmation
    description: Agent managing athlete job availability
  - name: Jobs
    description: Job/deal CRUD, search, invitations, hiring, deliverables
  - name: Deals
    description: Deal listing, my deals, bulk operations
  - name: Deal Folder
    description: >-
      Deal folder file workflow — uploads, replacements, approvals, revisions,
      comments. Accessible by athlete, partner/brand, agent, and iOS clients
      (per-action authorisation enforced server-side).
  - name: Deal Folder iOS API
    description: >-
      iOS-only direct-to-S3 multipart upload endpoints for deal folder files
      (initiate/complete for new uploads and replacements). Web clients should
      use the standard `Deal Folder` upload/replace endpoints instead.
  - name: Chat
    description: Messaging, chat contacts, notifications
  - name: Notifications
    description: Notification preferences, in-app notifications
  - name: Payments
    description: Stripe payments, payment history, cards, bulk pay
  - name: Subscription
    description: Brand subscription plans & management
  - name: Public Pages
    description: Public content endpoints (no auth required)
  - name: Public - Influencer/SEO
    description: Public influencer discovery, sitemaps, directories
  - name: Services
    description: Athlete service marketplace
  - name: iOS Device
    description: iOS device tokens, live activities
  - name: Onboarding Tutorial
    description: Onboarding tutorial progress
  - name: MOGL Rosters
    description: Roster management & display
  - name: Internal / Cron
    description: Server-to-server and cron job endpoints
  - name: Affiliate
    description: Athlete affiliate links & tracking
paths:
  /editAthleteWebsite:
    post:
      tags:
        - Athlete
      summary: Update athlete profile
      description: >-
        Full athlete profile update. All fields optional except those relevant
        to your update.
      operationId: editAthleteWebsite
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                first_name:
                  type: string
                  example: Shakil
                last_name:
                  type: string
                  example: Dhanga
                athlete:
                  description: Athlete identifier
                  type: string
                  example: athlete_slug_01
                  nullable: true
                DOB:
                  type: string
                  format: date
                  example: '1970-01-01'
                school:
                  type: string
                  example: Abilene Christian University
                university_id:
                  type: integer
                  example: 1
                location:
                  type: string
                  example: Austin, TX
                  nullable: true
                skills:
                  description: Comma-separated skill names
                  type: string
                  example: Content Creation, Fitness, Gaming
                  nullable: true
                sport_category_id:
                  type: integer
                  example: 24
                expected_graduation_date:
                  description: Graduation year
                  type: string
                  example: '2020'
                gender:
                  type: string
                  enum:
                    - Male
                    - Female
                    - Other
                  example: Male
                bio:
                  type: string
                  example: Student-athlete and content creator.
                  nullable: true
                highlights:
                  type: string
                  example: All-conference 2023
                  nullable: true
                weight:
                  type: string
                  example: '65'
                  nullable: true
                experience:
                  type: string
                  example: 3 years varsity
                  nullable: true
                contactNumber:
                  type: number
                  example: 5846161322
                cover_photo:
                  description: >-
                    Image path or base64 with data URI prefix (e.g.
                    data:image/png;base64,...)
                  type: string
                  example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
                  nullable: true
                profile_photo:
                  description: >-
                    Image path or base64 encoded with data URI prefix (e.g.
                    data:image/png;base64,...)
                  type: string
                  example: storage/images/profile_photo/example.png
                  nullable: true
                team_photo_profile:
                  description: >-
                    Team profile photo path or base64 with data URI prefix (e.g.
                    data:image/png;base64,...)
                  type: string
                  example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
                  nullable: true
                team_photo_cover:
                  description: >-
                    Team cover photo path or base64 with data URI prefix (e.g.
                    data:image/png;base64,...)
                  type: string
                  example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
                  nullable: true
                jersey_no:
                  type: string
                  example: '786'
                  nullable: true
                height:
                  description: Total height in inches
                  type: integer
                  example: 67
                  nullable: true
                height_ft:
                  description: Height feet component
                  type: integer
                  example: 5
                  nullable: true
                height_in:
                  description: Height inches component
                  type: integer
                  example: 7
                  nullable: true
                hat_size:
                  type: string
                  example: '5'
                  nullable: true
                shirt_size:
                  type: string
                  example: L - (Large)
                  nullable: true
                pants_size:
                  type: string
                  example: '32'
                  nullable: true
                shoes_size:
                  type: string
                  example: '7.5'
                  nullable: true
                team_name:
                  type: string
                  example: Wildcats
                  nullable: true
                team_member_color:
                  description: Team color hex or name
                  type: string
                  example: '#1a1a2e'
                  nullable: true
                team_athlete_name:
                  description: Team athlete names
                  type: array
                  items:
                    type: string
                  example: []
                  nullable: true
                is_private:
                  description: Y = private profile, N = public
                  type: string
                  enum:
                    - 'Y'
                    - 'N'
                  example: 'N'
                us_citizen:
                  description: US citizenship status
                  type: string
                  enum:
                    - 'Y'
                    - 'N'
                  example: 'Y'
                marketing_notification:
                  description: Marketing notification preference
                  type: string
                  example: 'Y'
                  nullable: true
              type: object
      responses:
        '200':
          description: Profile updated
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        JWT Bearer token authentication. Use the /api/login endpoint to obtain a
        token.
      scheme: bearer
      bearerFormat: JWT

````