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

# Get Prompt Test Case

> 
Retrieve a specific test case (dataset row) by ID. Use to inspect test case details or debug test run results.



## OpenAPI

````yaml https://app.freeplay.ai/openapi.json get /api/v2/projects/{project_id}/prompt-datasets/{dataset_id}/test-cases/{test_case_id}
openapi: 3.1.0
info:
  title: Freeplay API
  version: 0.1.0
servers: []
security:
  - BearerAuth: []
paths:
  /api/v2/projects/{project_id}/prompt-datasets/{dataset_id}/test-cases/{test_case_id}:
    get:
      tags:
        - Prompt Datasets
      summary: Get Prompt Test Case
      description: >-

        Retrieve a specific test case (dataset row) by ID. Use to inspect test
        case details or debug test run results.
      operationId: get_get_prompt_dataset_test_case
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
        - name: dataset_id
          in: path
          required: true
          schema:
            type: string
        - name: test_case_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  id:
                    format: uuid
                    title: Id
                    type: string
                  inputs:
                    additionalProperties: true
                    title: Inputs
                    type: object
                  output:
                    default: null
                    title: Output
                    type:
                      - string
                      - 'null'
                  output_message:
                    anyOf:
                      - discriminator:
                          mapping:
                            assistant:
                              $ref: '#/components/schemas/AssistantMessageInfo'
                            developer:
                              $ref: '#/components/schemas/DeveloperMessageInfo'
                            system:
                              $ref: '#/components/schemas/SystemMessageInfo'
                            user:
                              $ref: '#/components/schemas/UserMessageInfo'
                          propertyName: role
                        oneOf:
                          - $ref: '#/components/schemas/UserMessageInfo'
                          - $ref: '#/components/schemas/SystemMessageInfo'
                          - $ref: '#/components/schemas/DeveloperMessageInfo'
                          - $ref: '#/components/schemas/AssistantMessageInfo'
                      - $ref: '#/components/schemas/UserMessage'
                      - $ref: '#/components/schemas/AssistantMessage'
                      - $ref: '#/components/schemas/SystemMessage'
                      - $ref: '#/components/schemas/DeveloperMessage'
                      - type: 'null'
                    default: null
                    title: Output Message
                  metadata:
                    default: null
                    title: Metadata
                    additionalProperties:
                      anyOf:
                        - type: string
                        - type: number
                        - type: integer
                        - type: boolean
                    type:
                      - object
                      - 'null'
                  media_inputs:
                    default: null
                    title: Media Inputs
                    additionalProperties:
                      $ref: '#/components/schemas/MediaInputBase64'
                    type:
                      - object
                      - 'null'
                  history:
                    default: null
                    title: History
                    items:
                      anyOf:
                        - discriminator:
                            mapping:
                              assistant:
                                $ref: '#/components/schemas/AssistantMessageInfo'
                              developer:
                                $ref: '#/components/schemas/DeveloperMessageInfo'
                              system:
                                $ref: '#/components/schemas/SystemMessageInfo'
                              user:
                                $ref: '#/components/schemas/UserMessageInfo'
                            propertyName: role
                          oneOf:
                            - $ref: '#/components/schemas/UserMessageInfo'
                            - $ref: '#/components/schemas/SystemMessageInfo'
                            - $ref: '#/components/schemas/DeveloperMessageInfo'
                            - $ref: '#/components/schemas/AssistantMessageInfo'
                        - $ref: '#/components/schemas/UserMessage'
                        - $ref: '#/components/schemas/AssistantMessage'
                        - $ref: '#/components/schemas/SystemMessage'
                        - $ref: '#/components/schemas/DeveloperMessage'
                    type:
                      - array
                      - 'null'
                required:
                  - id
                  - inputs
                title: PromptTestCaseResponse
                type: object
          description: >-
            PromptTestCaseResponse(test_case: shared.sqlalchemy.models.TestCase,
            media_inputs: Optional[dict[str,
            server.project_sessions.types.MediaInputBase64]])
components:
  schemas:
    AssistantMessageInfo:
      properties:
        content:
          items:
            discriminator:
              mapping:
                audio:
                  $ref: '#/components/schemas/AudioBlockInfo'
                file:
                  $ref: '#/components/schemas/FileBlockInfo'
                image:
                  $ref: '#/components/schemas/ImageBlockInfo'
                text:
                  $ref: '#/components/schemas/TextBlockInfo'
                tool_call:
                  $ref: '#/components/schemas/ToolCallBlockInfo'
                tool_result:
                  $ref: '#/components/schemas/ToolResultBlockInfo'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/TextBlockInfo'
              - $ref: '#/components/schemas/ToolResultBlockInfo'
              - $ref: '#/components/schemas/ToolCallBlockInfo'
              - $ref: '#/components/schemas/ImageBlockInfo'
              - $ref: '#/components/schemas/AudioBlockInfo'
              - $ref: '#/components/schemas/FileBlockInfo'
          title: Content
          type: array
        role:
          const: assistant
          default: assistant
          title: Role
          type: string
      required:
        - content
      title: AssistantMessageInfo
      type: object
    DeveloperMessageInfo:
      properties:
        content:
          title: Content
          type: string
        role:
          const: developer
          default: developer
          title: Role
          type: string
      required:
        - content
      title: DeveloperMessageInfo
      type: object
    SystemMessageInfo:
      properties:
        content:
          title: Content
          type: string
        role:
          const: system
          default: system
          title: Role
          type: string
      required:
        - content
      title: SystemMessageInfo
      type: object
    UserMessageInfo:
      properties:
        content:
          items:
            discriminator:
              mapping:
                audio:
                  $ref: '#/components/schemas/AudioBlockInfo'
                file:
                  $ref: '#/components/schemas/FileBlockInfo'
                image:
                  $ref: '#/components/schemas/ImageBlockInfo'
                text:
                  $ref: '#/components/schemas/TextBlockInfo'
                tool_call:
                  $ref: '#/components/schemas/ToolCallBlockInfo'
                tool_result:
                  $ref: '#/components/schemas/ToolResultBlockInfo'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/TextBlockInfo'
              - $ref: '#/components/schemas/ToolResultBlockInfo'
              - $ref: '#/components/schemas/ToolCallBlockInfo'
              - $ref: '#/components/schemas/ImageBlockInfo'
              - $ref: '#/components/schemas/AudioBlockInfo'
              - $ref: '#/components/schemas/FileBlockInfo'
          title: Content
          type: array
        role:
          const: user
          default: user
          title: Role
          type: string
      required:
        - content
      title: UserMessageInfo
      type: object
    UserMessage:
      properties:
        content:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    audio:
                      $ref: '#/components/schemas/AudioBlock'
                    file:
                      $ref: '#/components/schemas/FileBlock'
                    image:
                      $ref: '#/components/schemas/ImageBlock'
                    text:
                      $ref: '#/components/schemas/TextBlock'
                    tool_call:
                      $ref: '#/components/schemas/ToolCallBlock'
                    tool_result:
                      $ref: '#/components/schemas/ToolResultBlock'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/TextBlock'
                  - $ref: '#/components/schemas/ToolResultBlock'
                  - $ref: '#/components/schemas/ToolCallBlock'
                  - $ref: '#/components/schemas/ImageBlock'
                  - $ref: '#/components/schemas/AudioBlock'
                  - $ref: '#/components/schemas/FileBlock'
              type: array
          title: Content
        role:
          const: user
          default: user
          title: Role
          type: string
      required:
        - content
      title: UserMessage
      type: object
    AssistantMessage:
      properties:
        content:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    audio:
                      $ref: '#/components/schemas/AudioBlock'
                    file:
                      $ref: '#/components/schemas/FileBlock'
                    image:
                      $ref: '#/components/schemas/ImageBlock'
                    text:
                      $ref: '#/components/schemas/TextBlock'
                    tool_call:
                      $ref: '#/components/schemas/ToolCallBlock'
                    tool_result:
                      $ref: '#/components/schemas/ToolResultBlock'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/TextBlock'
                  - $ref: '#/components/schemas/ToolResultBlock'
                  - $ref: '#/components/schemas/ToolCallBlock'
                  - $ref: '#/components/schemas/ImageBlock'
                  - $ref: '#/components/schemas/AudioBlock'
                  - $ref: '#/components/schemas/FileBlock'
              type: array
          title: Content
        role:
          const: assistant
          default: assistant
          title: Role
          type: string
      required:
        - content
      title: AssistantMessage
      type: object
    SystemMessage:
      properties:
        content:
          title: Content
          type: string
        role:
          const: system
          default: system
          title: Role
          type: string
      required:
        - content
      title: SystemMessage
      type: object
    DeveloperMessage:
      properties:
        content:
          title: Content
          type: string
        role:
          const: developer
          default: developer
          title: Role
          type: string
      required:
        - content
      title: DeveloperMessage
      type: object
    MediaInputBase64:
      properties:
        type:
          const: base64
          title: Type
          type: string
        data:
          title: Data
          type: string
        content_type:
          title: Content Type
          type: string
      required:
        - type
        - data
        - content_type
      title: MediaInputBase64
      type: object
    AudioBlockInfo:
      properties:
        media_reference:
          discriminator:
            mapping:
              downloaded_file:
                $ref: '#/components/schemas/DownloadedMediaReference'
              session_asset:
                $ref: '#/components/schemas/SessionMediaReference'
              test_case_asset:
                $ref: '#/components/schemas/TestCaseMediaReference'
              uploaded_file:
                $ref: '#/components/schemas/UploadedMediaReference'
            propertyName: kind
          oneOf:
            - $ref: '#/components/schemas/SessionMediaReference'
            - $ref: '#/components/schemas/TestCaseMediaReference'
            - $ref: '#/components/schemas/UploadedMediaReference'
            - $ref: '#/components/schemas/DownloadedMediaReference'
          title: Media Reference
        type:
          const: audio
          default: audio
          title: Type
          type: string
      required:
        - media_reference
      title: AudioBlockInfo
      type: object
    FileBlockInfo:
      properties:
        media_reference:
          discriminator:
            mapping:
              downloaded_file:
                $ref: '#/components/schemas/DownloadedMediaReference'
              session_asset:
                $ref: '#/components/schemas/SessionMediaReference'
              test_case_asset:
                $ref: '#/components/schemas/TestCaseMediaReference'
              uploaded_file:
                $ref: '#/components/schemas/UploadedMediaReference'
            propertyName: kind
          oneOf:
            - $ref: '#/components/schemas/SessionMediaReference'
            - $ref: '#/components/schemas/TestCaseMediaReference'
            - $ref: '#/components/schemas/UploadedMediaReference'
            - $ref: '#/components/schemas/DownloadedMediaReference'
          title: Media Reference
        type:
          const: file
          default: file
          title: Type
          type: string
      required:
        - media_reference
      title: FileBlockInfo
      type: object
    ImageBlockInfo:
      properties:
        media_reference:
          discriminator:
            mapping:
              downloaded_file:
                $ref: '#/components/schemas/DownloadedMediaReference'
              session_asset:
                $ref: '#/components/schemas/SessionMediaReference'
              test_case_asset:
                $ref: '#/components/schemas/TestCaseMediaReference'
              uploaded_file:
                $ref: '#/components/schemas/UploadedMediaReference'
            propertyName: kind
          oneOf:
            - $ref: '#/components/schemas/SessionMediaReference'
            - $ref: '#/components/schemas/TestCaseMediaReference'
            - $ref: '#/components/schemas/UploadedMediaReference'
            - $ref: '#/components/schemas/DownloadedMediaReference'
          title: Media Reference
        type:
          const: image
          default: image
          title: Type
          type: string
      required:
        - media_reference
      title: ImageBlockInfo
      type: object
    TextBlockInfo:
      properties:
        text:
          title: Text
          type: string
        type:
          const: text
          default: text
          title: Type
          type: string
      required:
        - text
      title: TextBlockInfo
      type: object
    ToolCallBlockInfo:
      properties:
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
        arguments:
          $ref: '#/components/schemas/JSONValue'
        thought_signature:
          default: null
          title: Thought Signature
          type:
            - string
            - 'null'
        type:
          const: tool_call
          default: tool_call
          title: Type
          type: string
      required:
        - id
        - name
        - arguments
      title: ToolCallBlockInfo
      type: object
    ToolResultBlockInfo:
      properties:
        tool_call_id:
          title: Tool Call Id
          type: string
        content:
          items:
            discriminator:
              mapping:
                audio:
                  $ref: '#/components/schemas/AudioBlockInfo'
                file:
                  $ref: '#/components/schemas/FileBlockInfo'
                image:
                  $ref: '#/components/schemas/ImageBlockInfo'
                text:
                  $ref: '#/components/schemas/TextBlockInfo'
                tool_call:
                  $ref: '#/components/schemas/ToolCallBlockInfo'
                tool_result:
                  $ref: '#/components/schemas/ToolResultBlockInfo'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/TextBlockInfo'
              - $ref: '#/components/schemas/ToolResultBlockInfo'
              - $ref: '#/components/schemas/ToolCallBlockInfo'
              - $ref: '#/components/schemas/ImageBlockInfo'
              - $ref: '#/components/schemas/AudioBlockInfo'
              - $ref: '#/components/schemas/FileBlockInfo'
          title: Content
          type: array
        type:
          const: tool_result
          default: tool_result
          title: Type
          type: string
      required:
        - tool_call_id
        - content
      title: ToolResultBlockInfo
      type: object
    AudioBlock:
      properties:
        media_id:
          format: uuid
          title: Media Id
          type: string
        type:
          const: audio
          default: audio
          title: Type
          type: string
      required:
        - media_id
      title: AudioBlock
      type: object
    FileBlock:
      properties:
        media_id:
          format: uuid
          title: Media Id
          type: string
        filename:
          default: null
          title: Filename
          type:
            - string
            - 'null'
        type:
          const: file
          default: file
          title: Type
          type: string
      required:
        - media_id
      title: FileBlock
      type: object
    ImageBlock:
      properties:
        media_id:
          format: uuid
          title: Media Id
          type: string
        type:
          const: image
          default: image
          title: Type
          type: string
      required:
        - media_id
      title: ImageBlock
      type: object
    TextBlock:
      properties:
        text:
          title: Text
          type: string
        type:
          const: text
          default: text
          title: Type
          type: string
      required:
        - text
      title: TextBlock
      type: object
    ToolCallBlock:
      properties:
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
        arguments:
          $ref: '#/components/schemas/JSONValue'
        thought_signature:
          default: null
          title: Thought Signature
          type:
            - string
            - 'null'
        type:
          const: tool_call
          default: tool_call
          title: Type
          type: string
      required:
        - id
        - name
        - arguments
      title: ToolCallBlock
      type: object
    ToolResultBlock:
      properties:
        tool_call_id:
          title: Tool Call Id
          type: string
        content:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    audio:
                      $ref: '#/components/schemas/AudioBlock'
                    file:
                      $ref: '#/components/schemas/FileBlock'
                    image:
                      $ref: '#/components/schemas/ImageBlock'
                    text:
                      $ref: '#/components/schemas/TextBlock'
                    tool_call:
                      $ref: '#/components/schemas/ToolCallBlock'
                    tool_result:
                      $ref: '#/components/schemas/ToolResultBlock'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/TextBlock'
                  - $ref: '#/components/schemas/ToolResultBlock'
                  - $ref: '#/components/schemas/ToolCallBlock'
                  - $ref: '#/components/schemas/ImageBlock'
                  - $ref: '#/components/schemas/AudioBlock'
                  - $ref: '#/components/schemas/FileBlock'
              type: array
          title: Content
        type:
          const: tool_result
          default: tool_result
          title: Type
          type: string
      required:
        - tool_call_id
        - content
      title: ToolResultBlock
      type: object
    DownloadedMediaReference:
      properties:
        base64Data:
          title: Base64Data
          type: string
        contentType:
          title: Contenttype
          type: string
        media_type:
          enum:
            - audio
            - video
            - image
            - file
          title: Media Type
          type: string
        asset_id:
          default: null
          title: Asset Id
          format: uuid
          type:
            - string
            - 'null'
        session_id:
          default: null
          title: Session Id
          format: uuid
          type:
            - string
            - 'null'
        test_case_id:
          default: null
          title: Test Case Id
          format: uuid
          type:
            - string
            - 'null'
        filename:
          default: null
          title: Filename
          type:
            - string
            - 'null'
        kind:
          const: downloaded_file
          default: downloaded_file
          title: Kind
          type: string
      required:
        - base64Data
        - contentType
        - media_type
      title: DownloadedMediaReference
      type: object
    SessionMediaReference:
      properties:
        asset_id:
          format: uuid
          title: Asset Id
          type: string
        session_id:
          format: uuid
          title: Session Id
          type: string
        media_type:
          enum:
            - audio
            - video
            - image
            - file
          title: Media Type
          type: string
        filename:
          default: null
          title: Filename
          type:
            - string
            - 'null'
        kind:
          const: session_asset
          default: session_asset
          title: Kind
          type: string
      required:
        - asset_id
        - session_id
        - media_type
      title: SessionMediaReference
      type: object
    TestCaseMediaReference:
      properties:
        asset_id:
          format: uuid
          title: Asset Id
          type: string
        test_case_id:
          format: uuid
          title: Test Case Id
          type: string
        media_type:
          enum:
            - audio
            - video
            - image
            - file
          title: Media Type
          type: string
        filename:
          default: null
          title: Filename
          type:
            - string
            - 'null'
        kind:
          const: test_case_asset
          default: test_case_asset
          title: Kind
          type: string
      required:
        - asset_id
        - test_case_id
        - media_type
      title: TestCaseMediaReference
      type: object
    UploadedMediaReference:
      properties:
        base64Data:
          title: Base64Data
          type: string
        contentType:
          title: Contenttype
          type: string
        media_type:
          enum:
            - audio
            - video
            - image
            - file
          title: Media Type
          type: string
        filename:
          default: null
          title: Filename
          type:
            - string
            - 'null'
        kind:
          const: uploaded_file
          default: uploaded_file
          title: Kind
          type: string
      required:
        - base64Data
        - contentType
        - media_type
      title: UploadedMediaReference
      type: object
    JSONValue:
      anyOf:
        - type: boolean
        - type: integer
        - type: number
        - type: string
        - additionalProperties:
            $ref: '#/components/schemas/JSONValue'
          type: object
        - items:
            $ref: '#/components/schemas/JSONValue'
          type: array
        - type: 'null'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````