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

# Get a respondent's survey result

> One respondent's answers for a single survey instance. Visible to the survey's admins and the respondent's manager-of-record (subject to the survey's result visibility). Anonymous surveys are never attributable and return 404.



## OpenAPI

````yaml /openapi.json get /v1/surveys/{surveyId}/instances/{instanceId}/participants/{userId}
openapi: 3.0.3
info:
  title: Doozy Public API
  version: 1.0.0
  description: >-
    The Doozy Public API allows you to programmatically access your
    organization's data.


    ## Authentication


    All API requests require an API key passed in the `x-api-key` header.


    ```

    x-api-key: dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    ```


    API keys can be generated and managed through the Doozy dashboard. Each key
    is associated with a user account and inherits that user's permissions.


    ## Rate Limiting


    API requests are rate limited. Rate limiting is handled by Cloudflare. If
    you exceed the rate limit, you'll receive a 429 Too Many Requests response.


    ## Pagination


    List endpoints support cursor-based pagination using `limit` and
    `starting_after` query parameters.
  contact:
    name: Doozy Support
    email: support@doozy.live
    url: https://help.doozy.live/api
servers:
  - url: https://api.doozy.live
    description: Production
security:
  - apiKey: []
tags:
  - name: Quizzes
    description: Quiz analytics and reporting endpoints
  - name: Tracks
    description: Track management and analytics endpoints
  - name: Surveys
    description: Survey and poll analytics endpoints
  - name: Introductions
    description: Doozy Roulette and Matchmaking introduction endpoints
paths:
  /v1/surveys/{surveyId}/instances/{instanceId}/participants/{userId}:
    get:
      tags:
        - Surveys
      summary: Get a respondent's survey result
      description: >-
        One respondent's answers for a single survey instance. Visible to the
        survey's admins and the respondent's manager-of-record (subject to the
        survey's result visibility). Anonymous surveys are never attributable
        and return 404.
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[A-Za-z0-9_-]+$
            description: The unique identifier of the survey
            example: survey_abc123
          required: true
          description: The unique identifier of the survey
          name: surveyId
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[A-Za-z0-9_-]+$
            description: The survey_instances id that delivered the survey
            example: inst_abc123
          required: true
          description: The survey_instances id that delivered the survey
          name: instanceId
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[A-Za-z0-9_-]+$
            description: The respondent's user id
            example: user_abc123
          required: true
          description: The respondent's user id
          name: userId
          in: path
      responses:
        '200':
          description: The respondent's answers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SurveyParticipantResult'
        '401':
          description: Authentication required - missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Survey not found or not visible to you
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
components:
  schemas:
    SurveyParticipantResult:
      type: object
      properties:
        object:
          type: string
          enum:
            - survey_participant_result
        survey_id:
          type: string
        instance_id:
          type: string
        title:
          type: string
        mode:
          $ref: '#/components/schemas/SurveyMode'
        response_type:
          $ref: '#/components/schemas/ResponseType'
        user_id:
          type: string
        display_name:
          type: string
          nullable: true
        email:
          type: string
        answered:
          type: integer
        total:
          type: integer
        status:
          type: string
          enum:
            - completed
            - in_progress
            - not_responded
        responded_at:
          type: string
          nullable: true
        delivered_at:
          type: string
          nullable: true
          description: When the survey was delivered to this participant (ISO 8601).
        started_at:
          type: string
          nullable: true
          description: First response (ISO 8601). Null if not started.
        last_activity_at:
          type: string
          nullable: true
          description: Most recent response activity (ISO 8601).
        closes_at:
          type: string
          nullable: true
          description: When the survey closes (ISO 8601). Null if open-ended.
        delivery_method:
          type: string
          enum:
            - one_off
            - track
          description: How the survey was delivered to this participant.
        track_id:
          type: string
          nullable: true
          description: Track (workflow) ID if delivered via a track.
        track_name:
          type: string
          nullable: true
          description: Track (workflow) name if delivered via a track.
        answers:
          type: array
          items:
            $ref: '#/components/schemas/SurveyParticipantAnswer'
      required:
        - object
        - survey_id
        - instance_id
        - title
        - mode
        - response_type
        - user_id
        - display_name
        - email
        - answered
        - total
        - status
        - responded_at
        - delivered_at
        - started_at
        - last_activity_at
        - closes_at
        - delivery_method
        - track_id
        - track_name
        - answers
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - api_error
                - authentication_error
                - invalid_request_error
                - rate_limit_error
              description: The type of error returned
              example: invalid_request_error
            code:
              type: string
              nullable: true
              description: Machine-readable error code for specific error conditions
              example: resource_not_found
            message:
              type: string
              description: Human-readable error message
              example: 'No such quiz: quiz_abc123'
            param:
              type: string
              nullable: true
              description: The parameter related to the error, if applicable
              example: id
            doc_url:
              type: string
              format: uri
              description: URL to documentation about this error
              example: https://docs.doozy.live/api/errors#resource_not_found
          required:
            - type
            - code
            - message
      required:
        - error
    SurveyMode:
      type: string
      enum:
        - poll
        - survey
    ResponseType:
      type: string
      enum:
        - anonymous
        - user
    SurveyParticipantAnswer:
      type: object
      properties:
        question_id:
          type: string
          description: The question ID
          example: q_abc123
        question_text:
          type: string
          description: The question text (included for convenience)
          example: How satisfied are you with your onboarding experience?
        question_type:
          allOf:
            - $ref: '#/components/schemas/SurveyQuestionType'
            - description: Type of question
              example: scale_1_to_10
        value:
          anyOf:
            - type: string
            - type: number
            - type: array
              items:
                type: string
            - nullable: true
          description: The answer value (null if question was skipped or not answered)
          example: 8
        comment:
          type: string
          nullable: true
          description: Optional comment on the answer (null if no comment)
          example: Great experience overall!
      required:
        - question_id
        - question_text
        - question_type
        - value
        - comment
    SurveyQuestionType:
      type: string
      enum:
        - scale_1_to_10
        - scale_1_to_5
        - emoji_1_to_5
        - agree_disagree
        - enps
        - open_ended
        - multiple_choice
      description: Type of feedback question
      example: emoji_1_to_5
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Generate keys in the Doozy dashboard.

````