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

# Get Screens for Candidate

> Get all screens for a specific candidate



## OpenAPI

````yaml https://api.ropes.ai/api/docs/openapi.json get /api/public/assessments/candidate/{candidateId}
openapi: 3.0.0
info:
  title: Ropes Public API
  version: 1.0.0
  description: >-
    Public API for Ropes. Authenticate using your API key in the x-api-key
    header.
servers:
  - url: https://api.ropes.ai
    description: Production server
  - url: http://localhost:3001
    description: Local development server
security: []
paths:
  /api/public/assessments/candidate/{candidateId}:
    get:
      tags:
        - Screens
      summary: Get Screens for Candidate
      description: Get all screens for a specific candidate
      parameters:
        - schema:
            type: string
            description: The unique identifier of the candidate
          required: true
          description: The unique identifier of the candidate
          name: candidateId
          in: path
      responses:
        '200':
          description: Successfully retrieved candidate screens
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CandidateAssessmentsResponse'
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Candidate or screens not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Rate limit exceeded - contact support@ropes.ai for further
            assistance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    CandidateAssessmentsResponse:
      type: object
      properties:
        interviews:
          type: array
          items:
            $ref: '#/components/schemas/CandidateAssessment'
          description: List of screens for the candidate
      required:
        - interviews
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message
        message:
          type: string
          description: Error message (alternative field)
    CandidateAssessment:
      allOf:
        - $ref: '#/components/schemas/Assessment'
        - type: object
          properties:
            problemName:
              type: string
              nullable: true
              description: Display name/title of the problem assigned to this screen
          required:
            - problemName
    Assessment:
      type: object
      properties:
        identifier:
          type: string
          description: Unique identifier for the screen
        candidateId:
          type: string
          description: Identifier of the candidate taking the screen
        problemId:
          type: string
          description: Identifier of the problem assigned to this screen
        problemType:
          $ref: '#/components/schemas/ProblemType'
        status:
          $ref: '#/components/schemas/AssessmentStatus'
        createdAt:
          type: string
          description: Timestamp when the screen was created
      required:
        - identifier
        - candidateId
        - problemId
        - problemType
        - status
        - createdAt
    ProblemType:
      type: string
      enum:
        - technical-assessment
        - video-screening
      description: Problem type discriminator
    AssessmentStatus:
      type: string
      enum:
        - Not Started
        - In Progress
        - Processing
        - Completed
        - Expired
        - Deleted
        - Error
      description: >-
        Current screen lifecycle status:

        - Not Started: Screen created and invite sent (or ready to send);
        candidate has not clicked Start.

        - In Progress: Candidate has started.

        - Processing: Candidate submitted (or was auto-submitted when time
        expired); results are being generated by Ropes.

        - Completed: Results are ready for review.

        - Expired: Screen expired before the candidate took it.

        - Deleted: Screen was deleted.

        - Error: Deprecated legacy status for screens that failed during result
        generation. New screens should not reach this status; existing rows may
        still return it.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````