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

# Get screening question report data

> Retrieves paginated screening question report data grouped by Deal + Athlete. Each row contains dynamic question/answer columns (question_1, answer_1, question_2, answer_2, etc.). Response includes max_questions count for frontend column generation.



## OpenAPI

````yaml /storage/api-docs/api-docs.json post /partner/screeningQuestionReport
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/screeningQuestionReport:
    post:
      tags:
        - Partner - Screening Questions
      summary: Get screening question report data
      description: >-
        Retrieves paginated screening question report data grouped by Deal +
        Athlete. Each row contains dynamic question/answer columns (question_1,
        answer_1, question_2, answer_2, etc.). Response includes max_questions
        count for frontend column generation.
      operationId: screeningQuestionReport
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                date_filter_range:
                  description: Date range filter
                  type: string
                  enum:
                    - last_month
                    - last_week
                    - this_week
                    - All
                  example: last_month
                job_id:
                  description: Filter by specific job/deal ID
                  type: integer
                  example: 100
                athlete_id:
                  description: Filter by specific athlete ID
                  type: integer
                  example: 200
                sort_column:
                  description: >-
                    Column key to sort by (static: deal_id, athlete_name,
                    application_id, timestamp. Dynamic: question_1, answer_1,
                    question_2, etc.)
                  type: string
                  example: deal_id
                sort_order:
                  description: Sort direction
                  type: string
                  enum:
                    - asc
                    - desc
                    - ASC
                    - DESC
                  example: DESC
                timezone_diff:
                  description: Timezone offset in decimal hours from UTC
                  type: number
                  format: float
                  example: -5
                page:
                  description: Page number
                  type: integer
                  example: 1
                  nullable: true
                limit:
                  description: Items per page (default 10)
                  type: integer
                  example: 10
                  nullable: true
                page_limit:
                  description: Alias for limit (takes priority over limit if both sent)
                  type: integer
                  example: 25
                  nullable: true
                filter:
                  description: Column-level filters
                  properties:
                    deal_id:
                      properties:
                        type:
                          type: string
                          enum:
                            - equals
                            - notEqual
                            - lessThan
                            - greaterThan
                            - inRange
                          example: equals
                        filter:
                          type: string
                          example: '100'
                        filterTo:
                          type: string
                          example: '200'
                        filterType:
                          type: string
                          example: number
                      type: object
                      example: []
                    athlete_name:
                      description: Dropdown filter
                      type: array
                      items:
                        properties:
                          id:
                            type: integer
                            example: 1
                          name:
                            type: string
                            example: John Doe
                        type: object
                      example: []
                    all_questions:
                      description: Text filter for questions
                      properties:
                        type:
                          type: string
                          enum:
                            - contains
                            - notContains
                            - startsWith
                            - endsWith
                            - equals
                            - notEqual
                            - blank
                            - notBlank
                          example: contains
                        filter:
                          type: string
                          example: test
                      type: object
                      example: []
                    all_answers:
                      description: Text filter for answers
                      properties:
                        type:
                          type: string
                          enum:
                            - contains
                            - notContains
                            - startsWith
                            - endsWith
                            - equals
                            - notEqual
                            - blank
                            - notBlank
                          example: contains
                        filter:
                          type: string
                          example: 'yes'
                      type: object
                      example: []
                    timestamp:
                      description: Date filter
                      properties:
                        type:
                          type: string
                          enum:
                            - equals
                            - inRange
                            - greaterThan
                            - lessThan
                          example: inRange
                        filterType:
                          type: string
                          example: date
                        dateFrom:
                          type: string
                          format: date
                          example: '2026-01-01'
                        dateTo:
                          type: string
                          format: date
                          example: '2026-03-18'
                      type: object
                      example: []
                  type: object
                  example: []
                  nullable: true
              type: object
      responses:
        '200':
          description: Report data
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: string
                    example: success
                  message:
                    type: string
                    example: data found
                  max_questions:
                    description: Maximum number of questions across all rows
                    type: integer
                    example: 5
                  data:
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      data:
                        type: array
                        items:
                          properties:
                            deal_id:
                              type: integer
                              example: 1
                            deal_name:
                              type: string
                              example: Summer Campaign
                            athlete_id:
                              type: integer
                              example: 123
                            athlete_name:
                              type: string
                              example: John Doe
                            application_id:
                              type: integer
                              example: 1
                            timestamp:
                              type: string
                              format: date-time
                              example: '2026-02-01T15:30:00Z'
                            question_1:
                              type: string
                              example: Why this brand?
                            answer_1:
                              type: string
                              example: Strong alignment with my audience.
                            question_2:
                              type: string
                              example: Availability?
                            answer_2:
                              type: string
                              example: Weekends
                          type: object
                        example: []
                      total:
                        type: integer
                        example: 50
                      per_page:
                        type: integer
                        example: 10
                    type: object
                    example: []
                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

````