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

# Approve athlete deliverable submission

> Approve an athlete's deliverable proof of work. Once the proof of work is approved, every non-voided deal-folder file slot for that deliverable is automatically transitioned to File Approved. If this approval makes the parent deal folder fully complete, the 'Deal Folder No Longer Available' notifications are dispatched to the athlete, partner, and (if any) athlete's agent. Brand-only — only the partner who owns the job may call this.



## OpenAPI

````yaml /storage/api-docs/api-docs.json post /partner/approve-athlete-deliverable/{milestonesAthleteRel}
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:
  /partner/approve-athlete-deliverable/{milestonesAthleteRel}:
    post:
      tags:
        - Partner
        - Deal Folder
      summary: Approve athlete deliverable submission
      description: >-
        Approve an athlete's deliverable proof of work. Once the proof of work
        is approved, every non-voided deal-folder file slot for that deliverable
        is automatically transitioned to File Approved. If this approval makes
        the parent deal folder fully complete, the 'Deal Folder No Longer
        Available' notifications are dispatched to the athlete, partner, and (if
        any) athlete's agent. Brand-only — only the partner who owns the job may
        call this.
      operationId: approveDeliverable
      parameters:
        - name: milestonesAthleteRel
          in: path
          description: Milestones-Athlete relationship ID
          required: true
          schema:
            type: integer
            example: 1
      responses:
        '200':
          description: Automatic approval of file states completed
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Automatic Approval of File States is done
                  status:
                    type: string
                    example: success
                type: object
        '403':
          description: Caller is not the partner who owns this job
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Unauthorised
                type: object
        '404':
          description: Deliverable not found
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Deliverable not found.
                type: object
        '422':
          description: No submitted proof of work was found for this deliverable
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: No submitted proof of work was found for this deliverable.
                type: object
      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

````