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

# GET /v1/questions — List and Filter Survey Questions

> Retrieve all questions from your Honestly surveys, including their translated name, type, answer options, and deleted status. Supports offset pagination.

The `/v1/questions` endpoint returns a paginated list of all survey questions in your Honestly account. Use it to understand the structure of your surveys before exporting responses or scores.

## Endpoint

```
GET https://api.honestly.com/v1/questions
```

## Query Parameters

<ParamField query="limit" type="integer">
  Maximum number of questions to return per page. Accepts values from `0` to `1000`. Defaults to `100`.
</ParamField>

<ParamField query="offset" type="integer">
  Number of questions to skip before returning results. Defaults to `0`.
</ParamField>

## Example Request

```bash theme={null}
curl -X GET "https://api.honestly.com/v1/questions?limit=100&offset=0" \
  -H "X-Api-Key: YOUR_SECRET_API_KEY"
```

## Example Response

```json theme={null}
{
  "total_count": 2,
  "questions": [
    {
      "id": 23,
      "name": {
        "en": "How satisfied are you with your workplace?",
        "de": "Sind Sie zufrieden mit Ihrem Arbeitsplatz?"
      },
      "type": "ranked_select",
      "is_deleted": false,
      "answer_options": [
        {
          "id": 12,
          "name": { "en": "Not satisfied at all", "de": "Gar nicht zufrieden" },
          "value": 0,
          "is_maximum": false,
          "is_minimum": true
        },
        {
          "id": 13,
          "name": { "en": "Very satisfied", "de": "Sehr zufrieden" },
          "value": 5,
          "is_maximum": true,
          "is_minimum": false
        }
      ]
    },
    {
      "id": 24,
      "name": {
        "en": "What could we improve about our meetings?",
        "de": "Was können wir an unseren Meetings verbessern?"
      },
      "type": "textfield",
      "is_deleted": true,
      "answer_options": []
    }
  ]
}
```

## Response Fields

<ResponseField name="total_count" type="integer">
  Total number of questions matching the query.
</ResponseField>

<ResponseField name="questions" type="array">
  List of question objects.

  <Expandable title="question object fields">
    <ResponseField name="id" type="integer">
      Unique identifier for the question.
    </ResponseField>

    <ResponseField name="name" type="object">
      The translated question text, keyed by ISO 639-1 language code (e.g. `{ "en": "…", "de": "…" }`).
    </ResponseField>

    <ResponseField name="type" type="string">
      The question type. One of `stars`, `textfield`, `single_select`, `multiple_select`, `ranked_select`, `smiley_faces`, or `nps`. Use the type to determine how to calculate a score.
    </ResponseField>

    <ResponseField name="is_deleted" type="boolean">
      `true` if the question has been deleted from the survey.
    </ResponseField>

    <ResponseField name="answer_options" type="array">
      Always present. For question types with a fixed set of options (`single_select`, `multiple_select`, `ranked_select`, `smiley_faces`, `nps`, `stars`) it lists every possible option; for free-text questions (`textfield`) it is an empty array.

      <Expandable title="answer option fields">
        <ResponseField name="id" type="integer">
          Unique identifier for the answer option.
        </ResponseField>

        <ResponseField name="name" type="object">
          The translated option label, keyed by ISO 639-1 language code.
        </ResponseField>

        <ResponseField name="value" type="number">
          Numeric value that can be used to calculate a score.
        </ResponseField>

        <ResponseField name="is_maximum" type="boolean">
          `true` when this option is the best possible answer in the ordered set.
        </ResponseField>

        <ResponseField name="is_minimum" type="boolean">
          `true` when this option is the worst possible answer in the ordered set.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<Note>
  The `type` field uses an extensible enum — new question types may be added as Honestly introduces new features. Make sure your code handles unknown values gracefully.
</Note>
