# Read an option set

Returns the values a given field accepts, as a flat list of `value` and `text`
pairs. `value` is what you send back on a write; `text` is the label the same
thing is shown under in the console. Use this instead of hard-coding IDs, which
differ from one account to the next.
The list is not paginated and carries no envelope - the whole set comes back in
one array, ordered as the option set defines.
The set named in the URL decides what you get. Common ones are:
| Option set | Values for |
|  --- | --- |
| `event_type` | An event's type |
| `event_template` | The template an event can be created from |
| `event_shift_status` | A shift application's status |
| `event_shift_type` | A shift's type |
| `event_shift_status_type` | The category a shift status belongs to |
| `shift_template` | The template a shift can be created from |
| `user_type` | A user's type |
| `user_group`, `user_group_type` | A user's group, and the group's type |
| `user_checkpoint`, `user_checkpoint_type` | A user's checkpoint, and its type |
| `training_type` | A training module's type |
| `form_type`, `form_category` | A form's type and category |
| `report_category` | A report's category |
| `blog_article_type` | An article's type |
| `item_category` | An inventory item's category |
| `headcount_functionalarea` | A functional area |
| `headcount_functionalarea_type` | A functional area's type |
| `headcount_functionalarea_job_title` | A job title within a functional area |
| `headcount_location`, `headcount_location_type` | A location and its type |
| `headcount_location_venue` | A venue within a location |
| `headcount_journey` | A journey |

Further sets exist beyond this list, and which of them a caller can read depends
on the permissions that caller holds.
A few sets are narrowed by a further value - `headcount_location_venue` by
`headcount_location_id`, for instance, and `headcount_functionalarea_job_title`
by `headcount_functional_area_id`. Send that value as a query parameter. Where
the narrowing value is mandatory and is missing, the response is an empty array
rather than an error.

Endpoint: GET /api/v2/helpers/source/{module}
Version: 2.0.0
Security: default

## Path parameters:

  - `module` (string, required)
    The option set to read.

## Query parameters:

  - `assoc` (integer)
    Send `0` to keep any extra keys an option set carries beyond value
  and text, such as the group a shift status belongs to. Defaults to 1, which returns value
  and text only.

  - `active` (integer)
    Send `1` to limit the list to options that are currently in use.
  Not every option set distinguishes active options, and those that do not return the full
  list either way.

  - `filter` (array)
    Narrows the list, in the same form the listing endpoints accept.
  Only option sets backed by a record type support it; the rest ignore it.

## Header parameters:

  - `Rosterfy-Platform` (string)

## Response 200 fields (application/json):

  - `value` (integer)

  - `text` (string)

