---
title: "Every option set the firm holds, or one attribute's (any role)"
method: GET
path: "/v1/attribute-sets"
tags: ["vocabulary"]
---

# Every option set the firm holds, or one attribute's (any role)

`GET /v1/attribute-sets`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/attribute-sets`
- Auth: HTTP bearer

`?attribute=` narrows it to one attribute's sets. A matter names the sets that apply to it and never owns options of its own, which is what keeps one list in one place however many matters read it. Where the firm's practice system shows each person their own matters, a set of the system's that only matters the caller is not shown name is left out.

## Query parameters

- `attribute` string

## Response `200`

In attribute then id order.

- object[]
  - `id` string, required
  - `attribute_key` string, required
  - `name` string, required
  - `source` 'firm' | 'connector'
  - `external_ref` string, nullable
  - `options` object[], required
    - `value` string, required
    - `label` string, required
    - `description` string
    - `external_ref` string, nullable
    - `active` boolean
    - `min_narrative_chars` integer, nullable
  - `active` boolean
  - `updated_at` string, date-time, required

## Other responses

- `400`: The body, query or path did not validate; `errors` lists the fields.
- `401`: No bearer token, or one that does not verify or has expired.
- `403`: The token verified but may not do this: no organisation, not provisioned, wrong role, or a device problem.

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
