---
title: "Get study results"
method: GET
path: "/v1/studies/{id}"
tags: ["Studies"]
---

# Get study results

`GET /v1/studies/{id}`

Retrieve study configuration and all participant responses.

## Path parameters

- `id` string, required

## Response `200`

OK

- GetStudyResponse
  - `completed_at` string, date-time, nullable
  - `created_at` string, date-time, required
  - `folder_id` integer, nullable
  - `is_shared` boolean
  - `results` ParticipantResultItem[], required
    - `assigned_materials` string, required
    - `id` integer, required
    - `participant_assigned_materials` AssignedMaterialsItem[], required
      - `materials_name` string, required
      - `stimuli` StimulusItem[], required
        - `caption` string
        - `materials_name` string, nullable
        - `media` union[], required — Text stimulus, a URL string, or an object with url/type/name
          - union
            - string
            - MediaItem — Media item that can be either a URL string or an object with url/type/name.
              - …
        - `stimulus_name` string, required
        - `stimulus_type` 'text' | 'image' | 'video' | 'audio' | 'pdf', required
    - `participant_response` object, required
    - `public_participant_id` string, nullable
    - `public_response_id` string, required
    - `response_valid` boolean, required
    - `segments` object, required
  - `status` string, required
  - `study_details` StudyDetailsResponse, required
    - `added_captions` CaptionResponse[], required
      - `caption` string
      - `content` string, required
      - `name` string, required
    - `age_parameters` AgeParametersItem, required
      - `max_age` integer, required
      - `mean` number, nullable
      - `min_age` integer, required
      - `st_dev` number, nullable
      - `venue` string, nullable
    - `assigned_materials` AssignedMaterialsItem[], required
      - `materials_name` string, required
      - `stimuli` StimulusItem[], required
        - `caption` string
        - `materials_name` string, nullable
        - `media` union[], required — Text stimulus, a URL string, or an object with url/type/name
          - union
            - string
            - MediaItem — Media item that can be either a URL string or an object with url/type/name.
              - …
        - `stimulus_name` string, required
        - `stimulus_type` 'text' | 'image' | 'video' | 'audio' | 'pdf', required
    - `jury_panel_size` integer, nullable
    - `log_to_memory` boolean
    - `num_participants_in_paper` integer, nullable
    - `number_participants` integer, required
    - `persona_context` string
    - `question_blocks` object, nullable
    - `question_groups` QuestionItem[], required
      - `allowMultiple` boolean — Only applies when scale is 'multiple_choice'. When false (default), each persona selects exactly one option and the response is a single string. When true, each persona may select one or more options and the response is a JSON array of strings.
      - `choice_matrix_rows` string[], nullable — Row labels for question_subtype 'choice_matrix'. Each row receives exactly one choice.
      - `choices` string[], nullable — Required when scale is 'multiple_choice' or 'allocation' (party names, minimum 2 required). The list of answer options.
      - `name` string, required
      - `question_subtype` string, nullable — Optional subtype for question variants. Use 'choice_matrix' with scale 'multiple_choice' to ask one single-select choice per row.
      - `questions` string[], required
      - `scale` string, required — The response scale type. Either a point scale (2 - 100 points) in the format: '<N> point scale (1 = <low label>; <N> = <high label>)', or amount scale in the format: 'amount scale (<$ or £ or ¥><min amount> - <$ or £ or ¥><max amount>)', or one of the keywords: 'qualitative', 'multiple_choice', 'allocation'.
      - `sequenceOpenTextMode` 'per_stimulus' | 'overall', nullable — Only applies to qualitative questions in sequence studies. 'per_stimulus' asks once for each sequence item; 'overall' asks one overall open-ended question.
    - `research_goal` string
    - `segments` SegmentItem[], required
      - `name` string, required
      - `subcategories` SegmentSubCategoryItem[], required
        - `name` string, required
        - `percentage` integer, required
    - `stimuli_prompt_append` string
    - `title` string, required
    - `uploaded_audios` UploadedMediaItem[], nullable
      - `caption` string
      - `is_sequential` boolean
      - `name` string, required
      - `page_count` integer, nullable
      - `size_bytes` integer, nullable
      - `text_tokens` integer, nullable
      - `url` string, required
    - `uploaded_images` UploadedMediaItem[], required
      - `caption` string
      - `is_sequential` boolean
      - `name` string, required
      - `page_count` integer, nullable
      - `size_bytes` integer, nullable
      - `text_tokens` integer, nullable
      - `url` string, required
    - `uploaded_participants` unknown[], nullable
      - unknown
    - `uploaded_pdfs` UploadedMediaItem[], nullable
      - `caption` string
      - `is_sequential` boolean
      - `name` string, required
      - `page_count` integer, nullable
      - `size_bytes` integer, nullable
      - `text_tokens` integer, nullable
      - `url` string, required
    - `uploaded_videos` UploadedMediaItem[], nullable
      - `caption` string
      - `is_sequential` boolean
      - `name` string, required
      - `page_count` integer, nullable
      - `size_bytes` integer, nullable
      - `text_tokens` integer, nullable
      - `url` string, required
  - `user_id` string, required
  - `version` integer

## Other responses

- `400` — Bad request
- `401` — Authentication failed
- `403` — Not authorized to view this study
- `404` — Study not found

---

[API](https://skmtc.dev/viewpoints/apis/viewpoints-study-api.md) · [All operations](https://skmtc.dev/viewpoints/apis/viewpoints-study-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/viewpoints/viewpoints-study-api/revisions/0145b20e3bb0/schema)
