## List questions

`questions.list(QuestionListParams**kwargs)  -> SyncCursorPage[Question]`

**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.

### Parameters

- `ending_before: Optional[str]`

- `ids: Optional[Sequence[str]]`

- `include_archived: Optional[bool]`

- `limit: Optional[int]`

- `sort_by: Optional[str]`

- `sort_order: Optional[SortOrder]`

  - `"asc"`

  - `"desc"`

- `starting_after: Optional[str]`

### Returns

- `Question`

  - `class CategoricalQuestion: …`

    - `id: str`

      Unique identifier of the entity

    - `configuration: CategoricalQuestionConfiguration`

      - `choices: List[str]`

        Categorical answer choices (must contain at least one entry)

      - `dropdown: Optional[bool]`

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

      - `multi: Optional[bool]`

        Whether the question allows multiple answers.

    - `created_at: datetime`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

      - `id: str`

      - `type: Literal["user", "service_account"]`

        - `"user"`

        - `"service_account"`

      - `object: Optional[Literal["identity"]]`

        - `"identity"`

    - `name: str`

    - `prompt: str`

      user-facing question prompt

    - `archived_at: Optional[datetime]`

      ISO-timestamp when the entity was archived

    - `conditions: Optional[List[Dict[str, object]]]`

      Conditions for the question to be shown

    - `object: Optional[Literal["question"]]`

      - `"question"`

    - `question_type: Optional[Literal["categorical"]]`

      - `"categorical"`

  - `class RatingQuestion: …`

    - `id: str`

      Unique identifier of the entity

    - `configuration: RatingQuestionConfiguration`

      - `max_label: str`

        Label shown for the maximum rating

      - `min_label: str`

        Label shown for the minimum rating

      - `steps: int`

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

    - `created_at: datetime`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: str`

    - `prompt: str`

      user-facing question prompt

    - `archived_at: Optional[datetime]`

      ISO-timestamp when the entity was archived

    - `conditions: Optional[List[Dict[str, object]]]`

      Conditions for the question to be shown

    - `object: Optional[Literal["question"]]`

      - `"question"`

    - `question_type: Optional[Literal["rating"]]`

      - `"rating"`

  - `class NumberQuestion: …`

    - `id: str`

      Unique identifier of the entity

    - `created_at: datetime`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: str`

    - `prompt: str`

      user-facing question prompt

    - `archived_at: Optional[datetime]`

      ISO-timestamp when the entity was archived

    - `conditions: Optional[List[Dict[str, object]]]`

      Conditions for the question to be shown

    - `configuration: Optional[NumberQuestionConfiguration]`

      - `max: Optional[float]`

        Maximum value for the number

      - `min: Optional[float]`

        Minimum value for the number

    - `object: Optional[Literal["question"]]`

      - `"question"`

    - `question_type: Optional[Literal["number"]]`

      - `"number"`

  - `class FreeTextQuestion: …`

    - `id: str`

      Unique identifier of the entity

    - `created_at: datetime`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: str`

    - `prompt: str`

      user-facing question prompt

    - `archived_at: Optional[datetime]`

      ISO-timestamp when the entity was archived

    - `conditions: Optional[List[Dict[str, object]]]`

      Conditions for the question to be shown

    - `configuration: Optional[FreeTextQuestionConfiguration]`

      - `max_length: Optional[int]`

        Maximum characters allowed

      - `min_length: Optional[int]`

        Minimum characters required

    - `object: Optional[Literal["question"]]`

      - `"question"`

    - `question_type: Optional[Literal["free_text"]]`

      - `"free_text"`

  - `class FormQuestion: …`

    - `id: str`

      Unique identifier of the entity

    - `configuration: FormQuestionConfiguration`

      - `form_schema: Dict[str, object]`

        The JSON schema of the desired form object

    - `created_at: datetime`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: str`

    - `prompt: str`

      user-facing question prompt

    - `archived_at: Optional[datetime]`

      ISO-timestamp when the entity was archived

    - `conditions: Optional[List[Dict[str, object]]]`

      Conditions for the question to be shown

    - `object: Optional[Literal["question"]]`

      - `"question"`

    - `question_type: Optional[Literal["form"]]`

      - `"form"`

  - `class TimestampQuestion: …`

    - `id: str`

      Unique identifier of the entity

    - `created_at: datetime`

      ISO-timestamp when the entity was created

    - `created_by: Identity`

      The identity that created the entity.

    - `name: str`

    - `prompt: str`

      user-facing question prompt

    - `archived_at: Optional[datetime]`

      ISO-timestamp when the entity was archived

    - `conditions: Optional[List[Dict[str, object]]]`

      Conditions for the question to be shown

    - `configuration: Optional[TimestampQuestionConfiguration]`

      - `multi: Optional[bool]`

        Whether to allow multiple timestamps

    - `object: Optional[Literal["question"]]`

      - `"question"`

    - `question_type: Optional[Literal["timestamp"]]`

      - `"timestamp"`

### Example

```python
import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
page = client.questions.list()
page = page.items[0]
print(page)
```

#### 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"
}
```
