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

# Step 2. Start Assessment

> This API is used to start and get the first question of the assessment. <Tip>Use this API to get the first question.</Tip>

<ResponseExample>
  ```json I-ATSG theme={null}
  {
      "questions": [
          {
              "qid": 0,
              "component_code": "I-ATSG",
              "question_text": "Add all symptoms",
              "tip": "Type here to search for symptoms.",
              "component_data": {
                  "url": {
                      "base_url": "https://mdb.dev.eka.care/v1/sa-terms",
                      "query_params": {
                          "gender": "m",
                          "age": "23",
                          "src": "sn"
                      },
                      "search_query_param": "q"
                  },
                  "autosuggest_static_choices": {
                      "sections": [
                          {
                              "section_title": "Most Searched",
                              "choices": [
                                  {
                                      "id": "47258974-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Fever"
                                  },
                                  {
                                      "id": "473f9e54-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Constipation"
                                  },
                                  {
                                      "id": "471e8e62-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Cough"
                                  },
                                  {
                                      "id": "476efd70-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Acidity"
                                  },
                                  {
                                      "id": "4736971e-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Diarrhoea"
                                  },
                                  {
                                      "id": "4737ee0c-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Vomiting"
                                  },
                                  {
                                      "id": "4720607a-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Headache",
                                      "is_selected": true
                                  },
                                  {
                                      "id": "47172c6c-a65c-11eb-8d02-1e003a340630",
                                      "common_name": "Stomach ache"
                                  }
                              ]
                          }
                      ]
                  }
              },
              "is_mandatory": true
          }
      ],
      "progress": "0.00",
      "is_last_question": false
  }
  ```

  ```json I-MULT theme={null}
  {
      "questions": [
          {
              "qid": 0,
              "component_code": "I-MULT",
              "question_text": "Select all the symptoms you are experiencing",
              "tip": "Select all option(s) that are applicable to you.",
              "component_data": {
                  "choices": [
                      {
                          "choice_id": "s_473b48a4-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "Throat pain"
                      },
                      {
                          "choice_id": "s_475b7ca0-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "Body aches"
                      },
                      {
                          "choice_id": "s_4739c8bc-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "Loss of weight"
                      },
                      {
                          "choice_id": "s_1fd50722-af36-11eb-8fc3-1e003a340631",
                          "choice_label": "Runny nose or discharge from nose"
                      },
                      {
                          "choice_id": "s_4784e554-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "Loss of sense of smell"
                      },
                      {
                          "choice_id": "nota",
                          "choice_label": "None of the above"
                      }
                  ]
              }
          }
      ],
      "progress": "0.00",
      "is_last_question": false
  }
  ```

  ```json I-RADO theme={null}
  {
      "questions": [
          {
              "qid": 0,
              "component_code": "I-RADO",
              "question_text": "Since when have you been experiencing fever",
              "tip": "Select one of the options",
              "component_data": {
                  "choices": [
                      {
                          "choice_id": "s_47259d92-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "Less than 1 day"
                      },
                      {
                          "choice_id": "s_4725b232-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "1 day to 4 days"
                      },
                      {
                          "choice_id": "s_4725c6a0-a65c-11eb-8d02-1e003a340630",
                          "choice_label": "More than 4 days"
                      },
                      {
                          "choice_id": "d_0e1592a4-e8c5-11eb-a89e-1e003a340631",
                          "choice_label": "I am not sure"
                      }
                  ]
              }
          }
      ],
      "progress": "0.00",
      "is_last_question": false
  }
  ```

  ```json I-RADG theme={null}
  {
      "questions": [
          {
              "qid": 0,
              "component_code": "I-RADG",
              "question_text": "Have you lost your sense of taste and feel like you can't get the taste of food that you are consuming?\"",
              "tip": "Select one answer in each row.",
              "component_data": {
                  "choices": [
                      {
                          "choice_id": "s_344147d6-b416-11eb-8c69-1e003a340631",
                          "choice_label": "Loss of taste",
                          "qualifier": [
                              {
                                  "id": "p",
                                  "label": "Yes"
                              },
                              {
                                  "id": "a",
                                  "label": "No"
                              },
                              {
                                  "id": "u",
                                  "label": "Don't Know"
                              }
                          ]
                      }
                  ]
              }
          }
      ],
      "progress": "0.00",
      "is_last_question": false
  }
  ```

  ```json 400 Bad Request theme={null}
  {
      "error": {
          "error_code": "missing_field",
          "display_message": "Uh huh, you missed a required field",
          "message": "Missing required field - [ Error in field `choice_id`: This field is required. ]"
      }
  }
  ```
</ResponseExample>

The API uses the `assessmentid` generated from the [init assessment](../initialization/initialize-assessment) API to start the assessment.

## Response Formats

The reponse of the API will depend on the type of the component that is being used to ask the question.
Refer to the [Assessment Response Format](./continue-response-formats) documentation for different question component response format.

# API Details


## OpenAPI

````yaml put /assessment/api/v1/start/{assessment_id}
openapi: 3.0.3
info:
  title: Assessment APIs
  version: 1.0.0
servers:
  - description: Production
    url: https://api.eka.care
  - description: Stage/Sandbox
    url: https://api.dev.eka.care
security: []
paths:
  /assessment/api/v1/start/{assessment_id}:
    put:
      tags:
        - Assessments
      summary: Step 2. Start Assessment
      description: >-
        This API is used to start and get the first question of the assessment.
        <Tip>Use this API to get the first question.</Tip>
      parameters:
        - $ref: '#/components/parameters/client-id'
        - $ref: '#/components/parameters/locale'
        - $ref: '#/components/parameters/assessment_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/MasterComponentResponse'
                    title: Master Response
                  - $ref: '#/components/schemas/ATSGComponentResponse'
                    title: ATSG Response
                  - $ref: '#/components/schemas/RadioComponentResponse'
                    title: Radio Response
                  - $ref: '#/components/schemas/MultiComponentResponse'
                    title: Multi Select Response
                  - $ref: '#/components/schemas/RadioGroupComponentResponse'
                    title: Radio Group Response
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-400'
      security:
        - authApiKey: []
components:
  parameters:
    client-id:
      name: client-id
      in: header
      required: true
      description: Any unique string to identify the logged in developer.
      schema:
        type: string
        example: test-client
    locale:
      name: locale
      in: header
      description: >-
        Locale is used to determine the language of the assessment. Supported
        locales are `en`, `hi`, `kn` for english, hindi and kannada respectively
        with default being `en`.
      schema:
        type: string
        enum:
          - en
          - hi
          - kn
        example: en
    assessment_id:
      name: assessment_id
      in: path
      required: true
      description: The hash that uniquely identifies the assessment session.
      schema:
        type: string
  schemas:
    MasterComponentResponse:
      type: object
      properties:
        questions:
          type: array
          items:
            type: object
            properties:
              qid:
                type: integer
                description: >-
                  This is the question id. It is used to identify the question.
                  its an integer, during start it will always be 0
                example: 1
              component_code:
                type: string
                example: I-ATSG
              question_text:
                type: string
                example: Add all symptoms
              tip:
                type: string
                example: Type here to search for symptoms
              component_data:
                $ref: '#/components/schemas/MasterComponentData'
              is_mandatory:
                $ref: '#/components/schemas/Question-mandatory'
            required:
              - qid
              - question_text
              - component_code
              - component_data
        progress:
          $ref: '#/components/schemas/Assessment-progress'
        is_last_question:
          $ref: '#/components/schemas/Assessment-last-question'
      required:
        - questions
        - progress
        - is_last_question
    ATSGComponentResponse:
      type: object
      properties:
        questions:
          type: array
          items:
            type: object
            properties:
              qid:
                type: integer
                description: >-
                  This is the question id. It is used to identify the question.,
                  its an integer, during start it will always be 0
                example: 1
              component_code:
                type: string
                default: I-ATSG
              question_text:
                type: string
              tip:
                type: string
              component_data:
                $ref: '#/components/schemas/ATSGComponentData'
              is_mandatory:
                $ref: '#/components/schemas/Question-mandatory'
            required:
              - qid
              - component_code
              - question_text
              - component_data
        progress:
          $ref: '#/components/schemas/Assessment-progress'
        is_last_question:
          $ref: '#/components/schemas/Assessment-last-question'
      required:
        - questions
        - progress
        - is_last_question
    RadioComponentResponse:
      type: object
      properties:
        questions:
          type: array
          items:
            type: object
            properties:
              qid:
                type: integer
                description: >-
                  This is the question id. It is used to identify the question.,
                  its an integer, during start it will always be 0
                example: 1
              component_code:
                type: string
                default: I-RADO
              question_text:
                type: string
              tip:
                type: string
              component_data:
                $ref: '#/components/schemas/BaseChoiceComponentData'
              is_mandatory:
                $ref: '#/components/schemas/Question-mandatory'
            required:
              - qid
              - component_code
              - question_text
              - component_data
        progress:
          $ref: '#/components/schemas/Assessment-progress'
        is_last_question:
          $ref: '#/components/schemas/Assessment-last-question'
      required:
        - questions
        - progress
        - is_last_question
    MultiComponentResponse:
      type: object
      properties:
        questions:
          type: array
          items:
            type: object
            properties:
              qid:
                type: integer
                description: >-
                  This is the question id. It is used to identify the question.,
                  its an integer, during start it will always be 0
                example: 1
              component_code:
                type: string
                default: I-MULT
              question_text:
                type: string
              tip:
                type: string
              component_data:
                $ref: '#/components/schemas/BaseChoiceComponentData'
              is_mandatory:
                $ref: '#/components/schemas/Question-mandatory'
            required:
              - qid
              - component_code
              - question_text
              - component_data
        progress:
          $ref: '#/components/schemas/Assessment-progress'
        is_last_question:
          $ref: '#/components/schemas/Assessment-last-question'
      required:
        - questions
        - progress
        - is_last_question
    RadioGroupComponentResponse:
      type: object
      properties:
        questions:
          type: array
          items:
            type: object
            properties:
              qid:
                type: integer
                description: >-
                  This is the question id. It is used to identify the question.,
                  its an integer, during start it will always be 0
                example: 1
              component_code:
                type: string
                default: I-RADG
              question_text:
                type: string
              tip:
                type: string
              component_data:
                $ref: '#/components/schemas/RadioGroupComponentData'
              is_mandatory:
                $ref: '#/components/schemas/Question-mandatory'
            required:
              - qid
              - component_code
              - question_text
              - component_data
        progress:
          $ref: '#/components/schemas/Assessment-progress'
        is_last_question:
          $ref: '#/components/schemas/Assessment-last-question'
      required:
        - questions
        - progress
        - is_last_question
    Error-400:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Generic-Error'
      example:
        error:
          error_code: bad_request
          display_message: (Generic User friendly message)
          message: (Server error message)
    MasterComponentData:
      type: object
      properties:
        url:
          type: object
          description: >-
            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`
          properties:
            base_url:
              type: string
              description: Base URL for autosuggest API
              example: https://example.eka.care
            query_params:
              type: object
              description: >-
                These are the query params to be sent with URL to get
                autosuggest choices.
              properties:
                gender:
                  type: string
                  example: m
                age:
                  type: string
                  example: '21'
                src:
                  type: string
                  example: sn
            search_query_param:
              type: string
              example: q
        autosuggest_static_choices:
          description: >-
            This is valid only for **autosuggest component**. It contains the
            section wise static choices to be shown to users at first.
          type: object
          properties:
            sections:
              type: array
              items:
                type: object
                properties:
                  section_title:
                    type: string
                    description: This is the title of the section
                    example: Most Searched
                  choices:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: unique identifier of choice
                          example: 47258974-a65c-11eb-8d02-1e003a340630
                        common_name:
                          type: string
                          description: name of the autosuggest item being searched
                          example: Fever
                        is_selected:
                          type: boolean
                          description: >-
                            This is a boolean value, if true this choice is be
                            selected by default example: false
                      required:
                        - id
                        - common_name
        choices:
          type: array
          description: >-
            Valid only for **choice type components**- multi choice, radio
            (single choice) and radio group
          items:
            allOf:
              - $ref: '#/components/schemas/Question-Choice-Qualifier'
              - type: object
                properties:
                  is_selected:
                    type: boolean
                    example: true
                    description: >-
                      This is a boolean value, if `true` this choice is be
                      selected by default
    Question-mandatory:
      type: boolean
      example: true
      description: This is a boolean value, if true user has to answer this question
    Assessment-progress:
      type: number
      minimum: 0
      maximum: 100
      example: 50
      description: >-
        This is the progress of the assessment in percentage format. It is a
        number **between 0.00 and 100.00**.
    Assessment-last-question:
      type: boolean
      example: false
      description: >-
        This is a **boolean value**. If true, this is the last question of the
        assessment and you can hit submit API.
    ATSGComponentData:
      type: object
      properties:
        url:
          description: >-
            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`
          type: object
          properties:
            base_url:
              type: string
              description: Base URL for autosuggest API
              example: https://example.eka.care
            query_params:
              type: object
              description: >-
                These are the query params to be sent with URL to get
                autosuggest choices.
              properties:
                gender:
                  type: string
                  example: m
                age:
                  type: string
                  example: '21'
                src:
                  type: string
                  example: sn
            search_query_param:
              type: string
              example: q
        autosuggest_static_choices:
          description: >-
            This is valid only for **autosuggest component**. It contains the
            section wise static choices to be shown to users at first.
          type: object
          properties:
            sections:
              type: array
              items:
                type: object
                properties:
                  section_title:
                    type: string
                    description: This is the title of the section
                    example: Most Searched
                  choices:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: unique identifier of choice
                          example: 47258974-a65c-11eb-8d02-1e003a340630
                        common_name:
                          type: string
                          description: name of the autosuggest item being searched
                          example: Fever
                        is_selected:
                          type: boolean
                          description: >-
                            This is a boolean value, if true this choice is be
                            selected by default example: false
                      required:
                        - id
                        - common_name
      required:
        - url
        - autosuggest_static_choices
    BaseChoiceComponentData:
      type: object
      properties:
        choices:
          type: array
          description: >-
            This is valid for a choice type components, multi, radio (single
            choice), radio group
          items:
            $ref: '#/components/schemas/Question-Choice'
      required:
        - choices
    RadioGroupComponentData:
      type: object
      properties:
        choices:
          type: array
          description: >-
            This is valid for a choice type components, multi, radio (single
            choice), radio group
          items:
            $ref: '#/components/schemas/Question-Choice-Qualifier'
      required:
        - choices
    Generic-Error:
      type: object
      properties:
        error_code:
          type: string
        display_message:
          type: string
        message:
          type: string
    Question-Choice-Qualifier:
      type: object
      properties:
        choice_id:
          type: string
          example: s_344147d6-b416-11eb-8c69-1sweet340631
        choice_label:
          type: string
          example: I have Diabetes
        qualifier:
          type: object
          properties:
            id:
              type: string
              enum:
                - p
                - a
                - u
              example: p
            label:
              type: string
              enum:
                - 'Yes'
                - 'No'
                - Don't Know
              example: 'Yes'
            is_selected:
              type: boolean
              default: false
              example: false
          required:
            - id
            - label
      required:
        - choice_id
        - choice_label
        - qualifier
    Question-Choice:
      type: object
      properties:
        choice_id:
          type: string
          example: xyzjahaj
        choice_label:
          type: string
          example: I have Diabetes
        is_selected:
          type: boolean
          example: true
          default: false
      required:
        - choice_id
        - choice_label
  securitySchemes:
    authApiKey:
      in: header
      name: auth
      description: >-
        The authentication token of the developer (generated using Authorization
        API).
      type: apiKey

````