## Archive a question

`questions.archive(strquestion_id)  -> Question`

**delete** `/v5/questions/{question_id}`

Soft-delete a question by setting its `archived_at` timestamp.

This is not a permanent delete: the row is retained and can be brought back
with the restore endpoint. Once archived, the question is excluded from list
results by default (unless `include_archived` is set) and can no longer be
updated until it is restored. The archived question is returned in the
response with its `archived_at` populated.

### Parameters

- `question_id: 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
)
question = client.questions.archive(
    "question_id",
)
print(question)
```

#### Response

```json
{
  "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"
}
```
