---
title: "Step 3. Continue Assessment"
method: PUT
path: "/assessment/api/v1/continue/{assessment_id}/{qid}"
tags: ["Assessments"]
---

# Step 3. Continue Assessment

`PUT /assessment/api/v1/continue/{assessment_id}/{qid}`

This API is used to submit user answers and get the next questions based on the answers. <Tip>Call this API multiple times until the assessment is complete where `is_last_question` will be true </Tip>

## Path parameters

- `assessment_id` string, required
- `qid` integer, required

## Headers

- `client-id` string, required
- `locale` 'en' | 'hi' | 'kn'

## Request body

- object — The request body should contain the answer to the question depending on the type of question component. It should be in format as explained in above dropdown.
  - `user_response` union[]
    - union
      - object
        - `selected_choices` SelectedChoices[], required
          - `choice_id` string, required
          - `choice_label` string
      - object — This is the request body for single select choice components
        - `selected_choices` SelectedChoices[], required
          - `choice_id` string, required
          - `choice_label` string
      - object — This is the request body for multi choice components
        - `selected_choices` SelectedChoices[], required
          - `choice_id` string, required
          - `choice_label` string
      - object
        - `selected_choices` SelectedChoiceQualifier[], required
          - `choice_id` string, required
          - `choice_label` string
          - `choice_qualifier` string, required — This is the qualifier id. It is used to identify the qualifier. It is a string with values `p`, `a`, `u` for positive, negative and unknown respectively.
      - object
        - `user_input` string, required — The custom input provided as answer by user. It should be stringified- integer, string or date.
      - object

## Response `200`

OK

- union
  - MasterComponentResponse
    - `questions` object[], required
      - `qid` integer, required — This is the question id. It is used to identify the question. its an integer, during start it will always be 0
      - `component_code` string, required
      - `question_text` string, required
      - `tip` string
      - `component_data` MasterComponentData, required
        - `url` object — Valid only for **autosuggest component**. This content should be used to get autosuggest choices for users. After combining all the requests, You can get a url like: `https://example.eka.care?gender=m&age=23&src=sn&q`
          - `base_url` string — Base URL for autosuggest API
          - `query_params` object — These are the query params to be sent with URL to get autosuggest choices.
            - `gender` string
            - `age` string
            - `src` string
          - `search_query_param` string
        - `autosuggest_static_choices` object — This is valid only for **autosuggest component**. It contains the section wise static choices to be shown to users at first.
          - `sections` object[]
            - `section_title` string — This is the title of the section
            - `choices` object[]
              - …
        - `choices` object[] — Valid only for **choice type components**- multi choice, radio (single choice) and radio group
          - `choice_id` string, required
          - `choice_label` string, required
          - `qualifier` object, required
            - `id` 'p' | 'a' | 'u', required
            - `label` 'Yes' | 'No' | 'Don't Know', required
            - `is_selected` boolean
          - `is_selected` boolean — This is a boolean value, if `true` this choice is be selected by default
      - `is_mandatory` boolean — This is a boolean value, if true user has to answer this question
    - `progress` number, required — This is the progress of the assessment in percentage format. It is a number **between 0.00 and 100.00**.
    - `is_last_question` boolean, required — This is a **boolean value**. If true, this is the last question of the assessment and you can hit submit API.
  - ATSGComponentResponse
    - `questions` object[], required
      - `qid` integer, required — This is the question id. It is used to identify the question., its an integer, during start it will always be 0
      - `component_code` string, required
      - `question_text` string, required
      - `tip` string
      - `component_data` ATSGComponentData, required
        - `url` object, required — This is **only valid for an autosuggest component**. This content can be used to get autosuggest choices for users. After combining all the requests, You can get a url like: `https://example.eka.care?gender=m&age=23&src=sn&q`
          - `base_url` string — Base URL for autosuggest API
          - `query_params` object — These are the query params to be sent with URL to get autosuggest choices.
            - `gender` string
            - `age` string
            - `src` string
          - `search_query_param` string
        - `autosuggest_static_choices` object, required — This is valid only for **autosuggest component**. It contains the section wise static choices to be shown to users at first.
          - `sections` object[]
            - `section_title` string — This is the title of the section
            - `choices` object[]
              - …
      - `is_mandatory` boolean — This is a boolean value, if true user has to answer this question
    - `progress` number, required — This is the progress of the assessment in percentage format. It is a number **between 0.00 and 100.00**.
    - `is_last_question` boolean, required — This is a **boolean value**. If true, this is the last question of the assessment and you can hit submit API.
  - RadioComponentResponse
    - `questions` object[], required
      - `qid` integer, required — This is the question id. It is used to identify the question., its an integer, during start it will always be 0
      - `component_code` string, required
      - `question_text` string, required
      - `tip` string
      - `component_data` BaseChoiceComponentData, required
        - `choices` QuestionChoice[], required — This is valid for a choice type components, multi, radio (single choice), radio group
          - `choice_id` string, required
          - `choice_label` string, required
          - `is_selected` boolean
      - `is_mandatory` boolean — This is a boolean value, if true user has to answer this question
    - `progress` number, required — This is the progress of the assessment in percentage format. It is a number **between 0.00 and 100.00**.
    - `is_last_question` boolean, required — This is a **boolean value**. If true, this is the last question of the assessment and you can hit submit API.
  - MultiComponentResponse
    - `questions` object[], required
      - `qid` integer, required — This is the question id. It is used to identify the question., its an integer, during start it will always be 0
      - `component_code` string, required
      - `question_text` string, required
      - `tip` string
      - `component_data` BaseChoiceComponentData, required
        - `choices` QuestionChoice[], required — This is valid for a choice type components, multi, radio (single choice), radio group
          - `choice_id` string, required
          - `choice_label` string, required
          - `is_selected` boolean
      - `is_mandatory` boolean — This is a boolean value, if true user has to answer this question
    - `progress` number, required — This is the progress of the assessment in percentage format. It is a number **between 0.00 and 100.00**.
    - `is_last_question` boolean, required — This is a **boolean value**. If true, this is the last question of the assessment and you can hit submit API.
  - RadioGroupComponentResponse
    - `questions` object[], required
      - `qid` integer, required — This is the question id. It is used to identify the question., its an integer, during start it will always be 0
      - `component_code` string, required
      - `question_text` string, required
      - `tip` string
      - `component_data` RadioGroupComponentData, required
        - `choices` QuestionChoiceQualifier[], required — This is valid for a choice type components, multi, radio (single choice), radio group
          - `choice_id` string, required
          - `choice_label` string, required
          - `qualifier` object, required
            - `id` 'p' | 'a' | 'u', required
            - `label` 'Yes' | 'No' | 'Don't Know', required
            - `is_selected` boolean
      - `is_mandatory` boolean — This is a boolean value, if true user has to answer this question
    - `progress` number, required — This is the progress of the assessment in percentage format. It is a number **between 0.00 and 100.00**.
    - `is_last_question` boolean, required — This is a **boolean value**. If true, this is the last question of the assessment and you can hit submit API.
  - LastQuestionResponse
    - `is_last_question` boolean — This is a **boolean value**. If true, this is the last question of the assessment and you can hit submit API.
    - `progress` number — This is the progress of the assessment in percentage format. It is a number **between 0.00 and 100.00**.

## Other responses

- `400` — Bad Request
- `500` — Bad Request

---

[API](https://skmtc.net/eka/apis/eka-developer-apis.md) · [All operations](https://skmtc.net/eka/apis/eka-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eka/eka-developer-apis/revisions/9ea23456f722/schema)
