## List questions

**get** `/v5/questions`

Return a paginated list of the caller's account's questions.

Archived questions are excluded by default; set `include_archived` to true
to include them alongside active ones. Pass `ids` to restrict the result to
a specific set of question IDs. Results are paginated through the standard
pagination parameters. Use this to discover existing questions before adding
them to a question set, or to audit which questions have been archived.

### Query Parameters

- `ending_before: optional string`

- `ids: optional array of string`

- `include_archived: optional boolean`

- `limit: optional number`

- `sort_by: optional string`

- `sort_order: optional SortOrder`

  - `"asc"`

  - `"desc"`

- `starting_after: optional string`

### Returns

- `has_more: boolean`

  Whether there are more items left to be fetched.

- `items: array of Question`

  - `CategoricalQuestion object { id, configuration, created_at, 7 more }`

    - `id: string`

      Unique identifier of the entity

    - `configuration: CategoricalQuestionConfiguration`

      - `choices: array of string`

        Categorical answer choices (must contain at least one entry)

      - `dropdown: optional boolean`

        Whether the question is displayed as a dropdown in the UI.

      - `multi: optional boolean`

        Whether the question allows multiple answers.

    - `created_at: string`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

      - `id: string`

      - `type: "user" or "service_account"`

        - `"user"`

        - `"service_account"`

      - `object: optional "identity"`

        - `"identity"`

    - `name: string`

    - `prompt: string`

      user-facing question prompt

    - `archived_at: optional string`

      ISO-timestamp when the entity was archived

    - `conditions: optional array of map[unknown]`

      Conditions for the question to be shown

    - `object: optional "question"`

      - `"question"`

    - `question_type: optional "categorical"`

      - `"categorical"`

  - `RatingQuestion object { id, configuration, created_at, 7 more }`

    - `id: string`

      Unique identifier of the entity

    - `configuration: RatingQuestionConfiguration`

      - `max_label: string`

        Label shown for the maximum rating

      - `min_label: string`

        Label shown for the minimum rating

      - `steps: number`

        Number of discrete points on the scale (e.g., 5 for a 1–5 scale)

    - `created_at: string`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: string`

    - `prompt: string`

      user-facing question prompt

    - `archived_at: optional string`

      ISO-timestamp when the entity was archived

    - `conditions: optional array of map[unknown]`

      Conditions for the question to be shown

    - `object: optional "question"`

      - `"question"`

    - `question_type: optional "rating"`

      - `"rating"`

  - `NumberQuestion object { id, created_at, created_by, 7 more }`

    - `id: string`

      Unique identifier of the entity

    - `created_at: string`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: string`

    - `prompt: string`

      user-facing question prompt

    - `archived_at: optional string`

      ISO-timestamp when the entity was archived

    - `conditions: optional array of map[unknown]`

      Conditions for the question to be shown

    - `configuration: optional NumberQuestionConfiguration`

      - `max: optional number`

        Maximum value for the number

      - `min: optional number`

        Minimum value for the number

    - `object: optional "question"`

      - `"question"`

    - `question_type: optional "number"`

      - `"number"`

  - `FreeTextQuestion object { id, created_at, created_by, 7 more }`

    - `id: string`

      Unique identifier of the entity

    - `created_at: string`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: string`

    - `prompt: string`

      user-facing question prompt

    - `archived_at: optional string`

      ISO-timestamp when the entity was archived

    - `conditions: optional array of map[unknown]`

      Conditions for the question to be shown

    - `configuration: optional FreeTextQuestionConfiguration`

      - `max_length: optional number`

        Maximum characters allowed

      - `min_length: optional number`

        Minimum characters required

    - `object: optional "question"`

      - `"question"`

    - `question_type: optional "free_text"`

      - `"free_text"`

  - `FormQuestion object { id, configuration, created_at, 7 more }`

    - `id: string`

      Unique identifier of the entity

    - `configuration: FormQuestionConfiguration`

      - `form_schema: map[unknown]`

        The JSON schema of the desired form object

    - `created_at: string`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: string`

    - `prompt: string`

      user-facing question prompt

    - `archived_at: optional string`

      ISO-timestamp when the entity was archived

    - `conditions: optional array of map[unknown]`

      Conditions for the question to be shown

    - `object: optional "question"`

      - `"question"`

    - `question_type: optional "form"`

      - `"form"`

  - `TimestampQuestion object { id, created_at, created_by, 7 more }`

    - `id: string`

      Unique identifier of the entity

    - `created_at: string`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: string`

    - `prompt: string`

      user-facing question prompt

    - `archived_at: optional string`

      ISO-timestamp when the entity was archived

    - `conditions: optional array of map[unknown]`

      Conditions for the question to be shown

    - `configuration: optional TimestampQuestionConfiguration`

      - `multi: optional boolean`

        Whether to allow multiple timestamps

    - `object: optional "question"`

      - `"question"`

    - `question_type: optional "timestamp"`

      - `"timestamp"`

- `total: number`

  The total of items that match the query. This is greater than or equal to the number of items returned.

- `limit: optional number`

  The maximum number of items to return.

- `object: optional "list"`

  - `"list"`

### Example

```http
curl https://api.egp.scale.com/v5/questions \
    -H "x-api-key: $SGP_API_KEY"
```

#### Response

```json
{
  "has_more": true,
  "items": [
    {
      "id": "id",
      "configuration": {
        "choices": [
          "string"
        ],
        "dropdown": true,
        "multi": true
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "created_by": {
        "id": "id",
        "type": "user",
        "object": "identity"
      },
      "name": "name",
      "prompt": "prompt",
      "archived_at": "2019-12-27T18:11:19.117Z",
      "conditions": [
        {
          "foo": "bar"
        }
      ],
      "object": "question",
      "question_type": "categorical"
    }
  ],
  "total": 0,
  "limit": 0,
  "object": "list"
}
```
