---
title: "Get Field Options (v1.2)"
method: POST
path: "/api/v1_2/datasets/{datasetName}/field-options"
tags: ["Datasets", "Public API"]
---

# Get Field Options (v1.2)

`POST /api/v1_2/datasets/{datasetName}/field-options`

Returns the allowed values for one or more fields in a dataset, for use as filter values when querying data via "Get Data from Dataset (v2)". Pass field names in the `fields` array of the request body; the response is an object keyed by field name, where each value is an array of `{id, value}` option objects. Optionally supply `filters` to narrow the returned options (e.g. only options that exist for active employees) and `dependentFields` when one field's options depend on another field's selected value. Use "Get Fields from Dataset (v1.2)" to discover valid field names for a dataset.

Use this endpoint when you already have dataset field names from `get-fields-from-dataset-v1-2` and need valid filter/display options for those specific dataset fields. It is dataset-scoped: field names must be dataset field name values such as `jobInformationDepartment`, not account list aliases such as `department`. 

Note: Compared to "Get Field Options (v1)", error responses (`400`, `403`) use RFC 7807 `application/problem+json` format. Unrecognised field names may produce a `500` response with a plain-text body rather than structured JSON.

OAuth Scopes: field

## Path parameters

- `datasetName` string, required

## Request body

- FieldOptionsRequestSchema — Schema for field options request
  - `fields` string[], required — List of field names to get options for
  - `dependentFields` object, nullable — Dependent fields and their values that affect the options of the requested fields
  - `filters` object, nullable — Optional filters to apply when retrieving field options. Filters limit the returned options based on other field values. The object contains a `match` key (`all` or `any`) and a `filters` array of objects with `field`, `operator`, and `value` keys.

## Response `200`

An object keyed by field name, where each value is an array of available option objects for that field.

- object

## Other responses

- `400` — Bad request - invalid fields, filters, or request format. Uses RFC 7807 problem+json.
- `403` — Forbidden - insufficient permissions to access this dataset. Uses RFC 7807 problem+json.
- `500` — Internal server error. The response body may be plain text rather than a structured payload.

---

[API](https://skmtc.net/bamboohr/apis/bamboohr-api.md) · [All operations](https://skmtc.net/bamboohr/apis/bamboohr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bamboohr/bamboohr-api/revisions/19ebf391a399/schema)
