---
title: "List the options of a project custom attribute"
method: GET
path: "/api/v1/projects/custom-attributes/{id}/options"
tags: ["Custom Attributes"]
---

# List the options of a project custom attribute

`GET /api/v1/projects/custom-attributes/{id}/options`

## Request

- Base URL: `https://api.recruitwithatlas.com`
- URL: `https://api.recruitwithatlas.com/api/v1/projects/custom-attributes/{id}/options`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/recruitwithatlas/apis/atlas-api/docs/api/v1/projects/custom-attributes/:id/options/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns one page of the selectable options of an `options`-type custom attribute **definition** for project records, sorted by position. Pass `search` to return only options whose value contains it (case-insensitive).

Returns `404` if the attribute does not exist for this agency under this entity type, and `422` if it is not of type `options`.

## Path parameters

- `id` string, uuid, required: Custom attribute definition identifier

## Query parameters

- `search` string: Only options whose value contains this text (case-insensitive)
- `page` integer: Page number (1-indexed)
- `pageSize` integer: Items per page (max 100)
- `perPage` integer: Alias for pageSize

## Response `200`

Paginated options of the project custom attribute

- object
  - `status` 'ok', required
  - `data` object[], required: Options sorted by position
    - `id` string, uuid, required: Option identifier. Use this when setting a value.
    - `value` string, required: Display label
    - `position` integer, required: Sort order (ascending)
  - `pagination` object, required
    - `page` integer, required: Current page number
    - `pageSize` integer, required: Items per page
    - `total` integer, required: Total matching options
    - `totalPages` integer, required: Total number of pages

## Other responses

- `401`: Unauthorized - missing or invalid API key
- `404`: Resource not found
- `422`: Validation error - the request failed schema validation (`errors.fieldErrors`) or a business rule (`errors.formErrors`)
- `429`: Too many requests - the caller has exceeded the per-agency rate limit for the tier this endpoint counts against (default per minute: 1200 read / 400 write / 60 upload). Inspect the `RateLimit-*` headers — returned on every response, not only on 429s — and back off until the window resets. See the "Rate limits" section of the introduction for details.
- `500`: Internal server error

## Changes

- **2026-10-16** `c9d5e0d17db3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/recruitwithatlas/apis/atlas-api/changes/api/v1/projects/custom-attributes/:id/options/get.md)

---

[API](https://skmtc.dev/recruitwithatlas/apis/atlas-api.md) - [All operations](https://skmtc.dev/recruitwithatlas/apis/atlas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/recruitwithatlas/apis/atlas-api/revisions/158ee454751c?raw)
