---
title: "List demographic answer options"
method: GET
path: "/v3/demographic_answer_options"
tags: ["Demographic Answer Options"]
---

# List demographic answer options

`GET /v3/demographic_answer_options`

## Request

- Base URL: `https://harvest.greenhouse.io`
- URL: `https://harvest.greenhouse.io/v3/demographic_answer_options`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://auth.greenhouse.io/authorize`
    - Client credentials
    - Token URL: `https://auth.greenhouse.io/token` scopes: `harvest:demographic_answer_options:list`
  - HTTP bearer

Demographic answer options are the selectable choices on a `demographic_question`. Each option belongs to a single question; multi-select and single-select questions both draw their choices from this resource. Free-text input is modeled as an option with `free_form=true`, and the `I don't wish to answer` choice is identified by `decline_to_answer=true` rather than by matching on `name`.

## Query parameters

- `cursor` string
- `per_page` integer
- `ids` integer[]
- `demographic_question_ids` integer[]
- `fields` string[]
- `active` boolean

## Response `200`

Successful

- object[]
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `demographic_question_id` integer: Id of the parent `demographic_question` this option belongs to. Options are scoped to a single question and never shared across questions.
  - `sort_order` integer: Display position within the parent question's choice list, ascending. Lower values render first; aliased from the underlying `priority` column.
  - `active` boolean: `true` while the option is still selectable by applicants; `false` after it has been soft-removed. Inactive options are returned by default — pass `active=true` to filter to live options only. Past `demographic_answers` continue to reference inactive rows so historical applicant submissions stay readable.
  - `free_form` boolean: If `true`, selecting this option prompts the applicant for a free-text response (e.g. an `I prefer to self-describe` choice). The free-text content itself is not exposed via Harvest.
  - `name` string, nullable: Display label shown to applicants in the answer list (e.g. `Non-binary`, `I prefer to self-describe`). `null` on standard Greenhouse-supplied options whose label is rendered from a localized template rather than this column.
  - `decline_to_answer` boolean, nullable: `true` when this option represents a structured `I don't wish to answer` choice; prefer this flag over matching on `name` when classifying declines. `null` on custom-organization options where the flag was never set; treat `null` as not a decline.

---

[API](https://skmtc.dev/greenhouse/apis/harvest-api.md) - [All operations](https://skmtc.dev/greenhouse/apis/harvest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/greenhouse/apis/harvest-api/revisions/822822e3f771?raw)
