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

# Participant Interview State



## OpenAPI

````yaml /openapi.json get /v1/participant/interview
openapi: 3.1.0
info:
  description: Are we on the same page?
  title: Synapse
  version: 0.1.0
servers: []
security: []
paths:
  /v1/participant/interview:
    get:
      tags:
        - v1-interview
      summary: Participant Interview State
      operationId: participant_interview_state_v1_participant_interview_get
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantInterviewState'
          description: Successful Response
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Authentication required
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Resource not found
        '410':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: API error
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
          description: Internal server error
      security:
        - ParticipantToken: []
components:
  schemas:
    ParticipantInterviewState:
      properties:
        agent_connected:
          default: false
          title: Agent Connected
          type: boolean
        attempt:
          default: 0
          minimum: 0
          title: Attempt
          type: integer
        available:
          title: Available
          type: boolean
        consented:
          title: Consented
          type: boolean
        interview_id:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Interview Id
        item_kind:
          anyOf:
            - enum:
                - question
                - confirmation
                - scenario
                - screen_entry
                - consistency_check
                - ready_to_finish
              type: string
            - type: 'null'
          title: Item Kind
        item_text:
          anyOf:
            - type: string
            - type: 'null'
          title: Item Text
        missing:
          items:
            $ref: '#/components/schemas/InterviewMissingItem'
          title: Missing
          type: array
        paused_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Paused Reason
        pending_proposal:
          anyOf:
            - $ref: '#/components/schemas/InterviewProposalView'
            - type: 'null'
        progress:
          default: 0
          maximum: 1
          minimum: 0
          title: Progress
          type: number
        question:
          anyOf:
            - discriminator:
                mapping:
                  date: '#/components/schemas/ParticipantDateQuestion'
                  multi_select: '#/components/schemas/ParticipantMultiSelectQuestion'
                  number: '#/components/schemas/ParticipantNumberQuestion'
                  number_group: '#/components/schemas/ParticipantNumberGroupQuestion'
                  short_text: '#/components/schemas/ParticipantShortTextQuestion'
                  single_select: '#/components/schemas/ParticipantSingleSelectQuestion'
                propertyName: input
              oneOf:
                - $ref: '#/components/schemas/ParticipantSingleSelectQuestion'
                - $ref: '#/components/schemas/ParticipantMultiSelectQuestion'
                - $ref: '#/components/schemas/ParticipantShortTextQuestion'
                - $ref: '#/components/schemas/ParticipantNumberQuestion'
                - $ref: '#/components/schemas/ParticipantDateQuestion'
                - $ref: '#/components/schemas/ParticipantNumberGroupQuestion'
            - type: 'null'
          title: Question
        ready_to_finish:
          default: false
          title: Ready To Finish
          type: boolean
        revision:
          default: 0
          minimum: 0
          title: Revision
          type: integer
        scenario:
          anyOf:
            - $ref: '#/components/schemas/InterviewScenarioView'
            - type: 'null'
        section:
          anyOf:
            - $ref: '#/components/schemas/ParticipantSectionContext'
            - type: 'null'
        status:
          enum:
            - not_started
            - active
            - paused
            - completed
            - ended_incomplete
          title: Status
          type: string
        target_minutes_max:
          anyOf:
            - type: integer
            - type: 'null'
          title: Target Minutes Max
        target_minutes_min:
          anyOf:
            - type: integer
            - type: 'null'
          title: Target Minutes Min
        unavailable_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Unavailable Reason
      required:
        - status
        - available
        - consented
      title: ParticipantInterviewState
      type: object
    ApiErrorResponse:
      additionalProperties: false
      properties:
        detail:
          anyOf:
            - $ref: '#/components/schemas/ErrorDetail'
            - type: string
            - items: {}
              type: array
            - additionalProperties: true
              type: object
          title: Detail
      required:
        - detail
      title: ApiErrorResponse
      type: object
    InterviewMissingItem:
      properties:
        id:
          title: Id
          type: string
        kind:
          enum:
            - question
            - scenario
            - pending_confirmation
          title: Kind
          type: string
        label:
          title: Label
          type: string
        section_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Section Id
      required:
        - kind
        - id
        - label
      title: InterviewMissingItem
      type: object
    InterviewProposalView:
      properties:
        confirmation_text:
          title: Confirmation Text
          type: string
        created_at:
          format: date-time
          title: Created At
          type: string
        id:
          format: uuid
          title: Id
          type: string
        kind:
          enum:
            - answer
            - declined
            - unknown
            - correction
            - screen_entry
          title: Kind
          type: string
        previous_answer:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Previous Answer
        proposed_answer:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Proposed Answer
        question:
          discriminator:
            mapping:
              date: '#/components/schemas/ParticipantDateQuestion'
              multi_select: '#/components/schemas/ParticipantMultiSelectQuestion'
              number: '#/components/schemas/ParticipantNumberQuestion'
              number_group: '#/components/schemas/ParticipantNumberGroupQuestion'
              short_text: '#/components/schemas/ParticipantShortTextQuestion'
              single_select: '#/components/schemas/ParticipantSingleSelectQuestion'
            propertyName: input
          oneOf:
            - $ref: '#/components/schemas/ParticipantSingleSelectQuestion'
            - $ref: '#/components/schemas/ParticipantMultiSelectQuestion'
            - $ref: '#/components/schemas/ParticipantShortTextQuestion'
            - $ref: '#/components/schemas/ParticipantNumberQuestion'
            - $ref: '#/components/schemas/ParticipantDateQuestion'
            - $ref: '#/components/schemas/ParticipantNumberGroupQuestion'
          title: Question
      required:
        - id
        - kind
        - question
        - confirmation_text
        - created_at
      title: InterviewProposalView
      type: object
    ParticipantDateQuestion:
      properties:
        id:
          title: Id
          type: string
        input:
          const: date
          title: Input
          type: string
        prompt:
          title: Prompt
          type: string
        required:
          default: false
          title: Required
          type: boolean
      required:
        - id
        - prompt
        - input
      title: ParticipantDateQuestion
      type: object
    ParticipantMultiSelectQuestion:
      properties:
        id:
          title: Id
          type: string
        input:
          const: multi_select
          title: Input
          type: string
        options:
          items:
            $ref: '#/components/schemas/ParticipantOption'
          title: Options
          type: array
        prompt:
          title: Prompt
          type: string
        required:
          default: false
          title: Required
          type: boolean
      required:
        - id
        - prompt
        - input
        - options
      title: ParticipantMultiSelectQuestion
      type: object
    ParticipantNumberQuestion:
      properties:
        id:
          title: Id
          type: string
        input:
          const: number
          title: Input
          type: string
        prompt:
          title: Prompt
          type: string
        required:
          default: false
          title: Required
          type: boolean
        unit:
          anyOf:
            - type: string
            - type: 'null'
          title: Unit
      required:
        - id
        - prompt
        - input
      title: ParticipantNumberQuestion
      type: object
    ParticipantNumberGroupQuestion:
      properties:
        fields:
          items:
            $ref: '#/components/schemas/ParticipantGroupField'
          title: Fields
          type: array
        id:
          title: Id
          type: string
        input:
          const: number_group
          title: Input
          type: string
        prompt:
          title: Prompt
          type: string
        required:
          default: false
          title: Required
          type: boolean
      required:
        - id
        - prompt
        - input
        - fields
      title: ParticipantNumberGroupQuestion
      type: object
    ParticipantShortTextQuestion:
      properties:
        id:
          title: Id
          type: string
        input:
          const: short_text
          title: Input
          type: string
        prompt:
          title: Prompt
          type: string
        required:
          default: false
          title: Required
          type: boolean
      required:
        - id
        - prompt
        - input
      title: ParticipantShortTextQuestion
      type: object
    ParticipantSingleSelectQuestion:
      properties:
        id:
          title: Id
          type: string
        input:
          const: single_select
          title: Input
          type: string
        options:
          items:
            $ref: '#/components/schemas/ParticipantOption'
          title: Options
          type: array
        prompt:
          title: Prompt
          type: string
        required:
          default: false
          title: Required
          type: boolean
      required:
        - id
        - prompt
        - input
        - options
      title: ParticipantSingleSelectQuestion
      type: object
    InterviewScenarioView:
      properties:
        follow_ups_remaining:
          minimum: 0
          title: Follow Ups Remaining
          type: integer
        follow_ups_used:
          minimum: 0
          title: Follow Ups Used
          type: integer
        framing:
          enum:
            - stated_intention
            - past_experience
          title: Framing
          type: string
        id:
          title: Id
          type: string
        prompt:
          title: Prompt
          type: string
      required:
        - id
        - prompt
        - framing
        - follow_ups_used
        - follow_ups_remaining
      title: InterviewScenarioView
      type: object
    ParticipantSectionContext:
      description: >-
        The part of a core-order journey a page or question belongs to
        (participant-safe, localized).
      properties:
        answered:
          minimum: 0
          title: Answered
          type: integer
        count:
          minimum: 1
          title: Count
          type: integer
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        id:
          title: Id
          type: string
        position:
          minimum: 1
          title: Position
          type: integer
        title:
          title: Title
          type: string
        total:
          minimum: 0
          title: Total
          type: integer
      required:
        - id
        - title
        - position
        - count
        - answered
        - total
      title: ParticipantSectionContext
      type: object
    ErrorDetail:
      additionalProperties: false
      description: Stable structured detail returned by versioned API errors.
      properties:
        code:
          title: Code
          type: string
        context:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Context
        message:
          title: Message
          type: string
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Request Id
      required:
        - code
        - message
      title: ErrorDetail
      type: object
    ParticipantOption:
      properties:
        id:
          title: Id
          type: string
        label:
          title: Label
          type: string
      required:
        - id
        - label
      title: ParticipantOption
      type: object
    ParticipantGroupField:
      properties:
        id:
          title: Id
          type: string
        label:
          title: Label
          type: string
      required:
        - id
        - label
      title: ParticipantGroupField
      type: object
  securitySchemes:
    ParticipantToken:
      bearerFormat: spt_...
      description: Short-lived token bound to one participant session.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.