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

# List Applications for a Job

> List applications for a job posting, or create a new application.

Note: filter_backends/filterset_fields are not used at the class level because
the class queryset is JobPosting (for parent lookup), while list() queries
JobApplication. The status filter is applied manually to the correct queryset.



## OpenAPI

````yaml /swagger/v1_schema.yaml get /jobs/{job_posting_id}/applications
openapi: 3.0.3
info:
  title: TalentUnveiled Public API
  version: 1.0.0
  description: API documentation for TalentUnveiled endpoints
servers:
  - url: https://api.talentunveiled.com/api/v1
    description: Production server
security: []
paths:
  /jobs/{job_posting_id}/applications:
    get:
      tags:
        - TalentUnveiled Public API
      summary: List Applications for a Job
      description: >-
        List applications for a job posting, or create a new application.


        Note: filter_backends/filterset_fields are not used at the class level
        because

        the class queryset is JobPosting (for parent lookup), while list()
        queries

        JobApplication. The status filter is applied manually to the correct
        queryset.
      operationId: jobs_applications_list
      parameters:
        - in: path
          name: job_posting_id
          schema:
            type: string
            format: uuid
          required: true
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - name: offset
          required: false
          in: query
          description: The initial index from which to return the results.
          schema:
            type: integer
        - in: query
          name: status
          schema:
            type: string
          description: Filter by application status
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEnrichedPublicApplicationList'
          description: ''
      security:
        - apiKeyAuth: []
        - {}
components:
  schemas:
    PaginatedEnrichedPublicApplicationList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EnrichedPublicApplication'
    EnrichedPublicApplication:
      type: object
      description: Application serializer used by both the public API and webhook payloads.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/ApplicationStatusEnum'
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        candidate:
          $ref: '#/components/schemas/ExternalCandidate'
        interview:
          $ref: '#/components/schemas/ExternalInterview'
        job:
          $ref: '#/components/schemas/ExternalJob'
        custom_fields:
          readOnly: true
          nullable: true
          description: >-
            Customer-provided custom fields submitted at application creation
            via the external API. Free-form JSON object. Top-level must be an
            object; inside, any keys/values are allowed. Max 64 KB serialized.
        overall_score:
          type: number
          format: double
          nullable: true
          description: Score on 0-5 scale
          readOnly: true
        cv_score:
          type: number
          format: double
          nullable: true
          description: Score on 0-5 scale
          readOnly: true
        interview_score:
          type: number
          format: double
          nullable: true
          description: Score on 0-5 scale
          readOnly: true
        hiring_recommendation:
          allOf:
            - $ref: '#/components/schemas/HiringRecommendationEnum'
          nullable: true
          readOnly: true
        tagline_summary:
          type: string
          nullable: true
          readOnly: true
      required:
        - candidate
        - created_at
        - custom_fields
        - cv_score
        - hiring_recommendation
        - id
        - interview
        - interview_score
        - job
        - overall_score
        - status
        - tagline_summary
    ApplicationStatusEnum:
      enum:
        - applied
        - screened
        - interviewed
        - shortlisted
        - hired
        - rejected
      type: string
      description: |-
        * `applied` - Applied
        * `screened` - Screened
        * `interviewed` - Interviewed
        * `shortlisted` - Shortlisted
        * `hired` - Hired
        * `rejected` - Rejected
    ExternalCandidate:
      type: object
      properties:
        first_name:
          type: string
          nullable: true
          readOnly: true
        last_name:
          type: string
          nullable: true
          readOnly: true
        phone_number:
          type: string
        email:
          type: string
          format: email
          readOnly: true
          nullable: true
      required:
        - email
        - first_name
        - last_name
        - phone_number
    ExternalInterview:
      type: object
      description: Interview section. Takes a JobApplication via source='*'.
      properties:
        call_id:
          type: string
          nullable: true
          readOnly: true
        completed_at:
          type: string
          nullable: true
          readOnly: true
        questions:
          type: array
          items:
            type: object
            additionalProperties: {}
          nullable: true
          readOnly: true
      required:
        - call_id
        - completed_at
        - questions
    ExternalJob:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        title:
          type: string
          readOnly: true
      required:
        - id
        - title
    HiringRecommendationEnum:
      enum:
        - strong_hire
        - hire
        - maybe
        - no_hire
      type: string
      description: |-
        * `strong_hire` - Strong Hire
        * `hire` - Hire
        * `maybe` - Maybe
        * `no_hire` - No Hire
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication for the public API. Pass your API key as a Bearer
        token.

````