---
title: "Get a list of feature controls"
method: GET
path: "/api/feature-controls"
---

# Get a list of feature controls

`GET /api/feature-controls`

Returns a paginated list of feature controls with optional filtering by name, scope, or type.

## Query parameters

- `page` integer
- `pageSize` integer
- `name` string
- `displayName` string
- `owner` string
- `scope` string
- `type` 'list-string' | 'list-number' | 'boolean' | 'date' | 'string' | 'number'
- `status` 'active' | 'withdrawn' | 'expired' | 'removed'

## Headers

- `x-cdp-request-id` string

## Response `200`

Successfully retrieved the list of feature controls.

- FeatureControlsResponse
  - `items` DetailedFeatureControl[]
    - `name` string
    - `type` 'list-string' | 'list-number' | 'boolean' | 'date' | 'string' | 'number'
    - `value` union
      - string
      - number
      - boolean
      - string[]
      - number[]
    - `scopes` string[]
    - `status` 'active' | 'withdrawn' | 'expired' | 'removed'
    - `displayName` string
    - `description` string
    - `owner` string
    - `createdBy` string
    - `expiryDate` string, date-time
    - `roleRequired` string[]
    - `created` string, date-time
    - `lastUpdated` string, date-time
    - `lastUpdatedBy` string
    - `history` FeatureControlHistory[]
      - `value` union
        - string
        - number
        - boolean
        - string[]
        - number[]
      - `setBy` string
      - `dateTime` string, date-time
      - `note` string
      - `changeToValue` string
      - `notificationEmitted` boolean
  - `total` integer
  - `page` integer
  - `pageSize` integer
  - `totalPages` integer
  - `uniqueScopes` string[]

## Other responses

- `400` — Bad Request - Validation error.
- `401` — Unauthorized.

## Changes

- **2026-08-19** `85983688c7e3` — 1 warning, 1 info
  - added the new `removed` enum value to the `items/items/allOf[subschema #2]/status` response property for the response status `200`
  - added the new enum value `removed` to the `query` request parameter `status`
- **2026-08-07** `81efb0cb4466` — 2 info
  - added the optional property `items/items/allOf[subschema #2]/history/items/changeToValue` to the response with the `200` status
  - added the optional property `items/items/allOf[subschema #2]/history/items/notificationEmitted` to the response with the `200` status
- **2026-08-06** `b52694a2507b` — 2 info
  - added the new optional `query` request parameter `displayName`
  - added the optional property `uniqueScopes` to the response with the `200` status
- **2026-07-30** `3362f4184ff0` — 1 breaking, 4 warning, 2 info
  - the `items/items/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the optional property `items/items/name` from the response with the `200` status
  - removed the optional property `items/items/scopes` from the response with the `200` status
  - removed the optional property `items/items/type` from the response with the `200` status
  - …3 more
- **2026-07-14** `b8b34d6e2e33` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/defra/apis/grants-config-broker-api-2/changes/api/feature-controls/get.md)

---

[API](https://skmtc.dev/defra/apis/grants-config-broker-api-2.md) · [All operations](https://skmtc.dev/defra/apis/grants-config-broker-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/defra/grants-config-broker-api-2/revisions/85983688c7e3/schema)
