/diseases/surveys/filter-options
/diseases/surveys/filter-options
Returns **distinct filter values** for building survey filter UIs, aligned with **`GET /diseases/surveys/filter`**. Pass the same optional query parameters to reflect the current filter context.
With **no** parameters, the server uses a faster path over the full survey set. With **any** parameter present, each facet’s options are computed so that dimension is not over-constrained by its own filter (you can still narrow other dimensions).
- **`regions`** — Populated only when **`country`** is supplied and matching surveys include subdivision-level geography; each item has `region_id` and `region_name`.
- **`survey_size`** — Buckets that actually appear in the filtered data; `size` is a display label (some ranges use comma formatting), `size_id` is what you pass as `size` on the filter endpoint.
- **`years`** — `survey_start_years` merges distinct start years with publication years; `survey_end_years` uses end year or start when end is missing.
#### **Query parameters**
| Name | Description |
| --- | --- |
| `disease` | Disease id; limits options to surveys for that disease. |
| `country` | GIDEON country code; enables populated `regions` when subdivision-level data exists. |
| `survey_start_year` | Minimum survey start year; influences `years.survey_start_years`. |
| `survey_end_year` | Maximum survey end year (uses start year when a survey has no end year). |
| `test_type` | Substring match on test-type labels. |
| `pathogen` | Substring match on pathogen labels. |
| `population` | Survey population group id. |
| `region` | Subdivision (state) code. |
| `type` | `Prevalence` or `Seroprevalence`. |
| `percentRange` | Primary percent filter; same syntax as `GET /diseases/surveys/filter`. |
| `size` | Survey size bucket; use a `size_id` value from `survey_size` in the response. |
#### **Response**
`data` is an object with: `diseases`, `countries`, `populations`, `test_types`, `pathogens`, `regions`, `survey_types`, `survey_size`, `years`. The saved example trims each facet; live responses are larger.
Authentication
Authorizationstring
API Key authentication via header
Response
OK
data