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

# Fetch Cluster Analysis

> # Description

Get analysis data for questions using clusters.

# Payload

```json
{
    "fromDate": string,
    "toDate": string,
    "filter": array,
    "groups": object,
    "clusterOptions": object
}
```

where:

* `fromDate`: start date in ISO format. **Required**.
* `toDate`: end date in ISO format. **Required**.
* `filter`: array of filters to filter the responses. Optional.
* `groups`: Object indexed by question id with a `q` as prefix. Every key has assigned an array with the question ids with `q` prefix that are the same question through different concepts inside a concept test. Only needed for projects with Concept Test or Question Loops. Optional.
* `clusterOptions`: Object indexed by cluster name. Every cluster has an array with the same structure as filter. If not passed there won't be any responses as result. Optional.

# Response 

## 200 OK

```json
{
  "projectId": string,
  "fromDate": string,
  "toDate": string,
  "dateFilters": array,
  "filter": array,
  "responses": {
     "q000000000000000000000000": object,
     "q000000000000000000000001": object
   },
}
```
where:

* `projectId`: unique identifier of the project.
* `fromDate`: start date received as param to the query in ISO format.
* `toDate`: end date received as param to the query in ISO format.
* `dateFilters`: Array of date filters used for querying the responses.
* `filter`: Array of filters sent in the request.
* `responses`: object mapping unique question identifiers to cluster analysis data for every question.

## 400 Bad Request

> Missing or invalid `projectId`/`fromDate`/`toDate` fields.

## 401 Unauthorized
> Invalid authorization.

## 404 Not Found
> Resource not found.

## 500 Internal Server Error
> Error occurred in the service.

# Description

Get analysis data for questions using clusters.

# Payload

```json theme={null}
{
    "fromDate": string,
    "toDate": string,
    "filter": array,
    "groups": object,
    "clusterOptions": object
}
```

where:

* `fromDate`: start date in ISO format. **Required**.
* `toDate`: end date in ISO format. **Required**.
* `filter`: array of filters to filter the responses. Optional.
* `groups`: Object indexed by question id with a `q` as prefix. Every key has assigned an array with the question ids with `q` prefix that are the same question through different concepts inside a concept test. Only needed for projects with Concept Test or Question Loops. Optional.
* `clusterOptions`: Object indexed by cluster name. Every cluster has an array with the same structure as filter. If not passed there won't be any responses as result. Optional.

# Response

## 200 OK

```json theme={null}
{
  "projectId": string,
  "fromDate": string,
  "toDate": string,
  "dateFilters": array,
  "filter": array,
  "responses": {
     "q000000000000000000000000": object,
     "q000000000000000000000001": object
   },
}
```

where:

* `projectId`: unique identifier of the project.
* `fromDate`: start date received as param to the query in ISO format.
* `toDate`: end date received as param to the query in ISO format.
* `dateFilters`: Array of date filters used for querying the responses.
* `filter`: Array of filters sent in the request.
* `responses`: object mapping unique question identifiers to cluster analysis data for every question.

## 400 Bad Request

> Missing or invalid `projectId`/`fromDate`/`toDate` fields.

## 401 Unauthorized

> Invalid authorization.

## 404 Not Found

> Resource not found.

## 500 Internal Server Error

> Error occurred in the service.

##### Query Parameters

| Parameter   | Description | Required | Example |
| ----------- | ----------- | -------- | ------- |
| `projectId` | —           | No       | —       |


## OpenAPI

````yaml POST /scale-scale-service/cluster
openapi: 3.0.3
info:
  title: SightX API
  version: 1.0.0
  description: >-
    SightX REST API documentation. Most responses are JSON; some export
    endpoints return files. API access is a paid add-on — contact
    sales@sightx.io for details.
servers:
  - url: https://auth.admin.sightx.io
    description: Authentication (Production)
  - url: https://auth.staging-admin.sightx.io
    description: Authentication (Staging)
security:
  - AuthorizationHeader: []
paths:
  /scale-scale-service/cluster:
    post:
      summary: Fetch Cluster Analysis
      description: >-
        # Description


        Get analysis data for questions using clusters.


        # Payload


        ```json

        {
            "fromDate": string,
            "toDate": string,
            "filter": array,
            "groups": object,
            "clusterOptions": object
        }

        ```


        where:


        * `fromDate`: start date in ISO format. **Required**.

        * `toDate`: end date in ISO format. **Required**.

        * `filter`: array of filters to filter the responses. Optional.

        * `groups`: Object indexed by question id with a `q` as prefix. Every
        key has assigned an array with the question ids with `q` prefix that are
        the same question through different concepts inside a concept test. Only
        needed for projects with Concept Test or Question Loops. Optional.

        * `clusterOptions`: Object indexed by cluster name. Every cluster has an
        array with the same structure as filter. If not passed there won't be
        any responses as result. Optional.


        # Response 


        ## 200 OK


        ```json

        {
          "projectId": string,
          "fromDate": string,
          "toDate": string,
          "dateFilters": array,
          "filter": array,
          "responses": {
             "q000000000000000000000000": object,
             "q000000000000000000000001": object
           },
        }

        ```

        where:


        * `projectId`: unique identifier of the project.

        * `fromDate`: start date received as param to the query in ISO format.

        * `toDate`: end date received as param to the query in ISO format.

        * `dateFilters`: Array of date filters used for querying the responses.

        * `filter`: Array of filters sent in the request.

        * `responses`: object mapping unique question identifiers to cluster
        analysis data for every question.


        ## 400 Bad Request


        > Missing or invalid `projectId`/`fromDate`/`toDate` fields.


        ## 401 Unauthorized

        > Invalid authorization.


        ## 404 Not Found

        > Resource not found.


        ## 500 Internal Server Error

        > Error occurred in the service.
      operationId: fetch-cluster-analysis-post-scale-scale-service-cluster
      parameters:
        - name: Authorization
          in: header
          required: true
          description: Authorization token
          schema:
            type: string
        - name: projectId
          in: query
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              fromDate: '2020-01-01'
              toDate: '2022-12-31'
              filter: []
              groups:
                qQuestionId:
                  - qRelatedQuestionId1
                  - qRelatedQuestionId1
              clusterOptions:
                clusterName: []
      responses:
        '200':
          description: Fetch Cluster Analysis
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
              example:
                projectId: 60de2ba329a7230061e209f6
                fromDate: '2020-01-01'
                toDate: '2022-12-31'
                filter: []
                dateFilters:
                  - collection: year
                    start: '2020-01-01'
                    end: '2022-12-31'
                responses:
                  qQuestionId:
                    clusterName:
                      responses: 0
                      mean: NaN
                      median: 0
                      mode: []
                      variance: NaN
                      standardDeviation: NaN
                      frecuency: []
                      percent: []
                      cumulativeFrecuency: []
                      cumulativeFrecuencyByVotes: []
                      cumulativePercent: []
                      cumulativePercentByVotes: []
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
      servers:
        - url: https://scale-analysis.sightx.io
components:
  securitySchemes:
    AuthorizationHeader:
      type: apiKey
      in: header
      name: Authorization
      description: Access token obtained from the m2m-token endpoint.

````