> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nonefivem.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Feature Flags

> List your organization's feature flags with pagination and search

Retrieve a paginated list of your organization's flags, along with your current flag allowance.

<Note>
  To read flag *values* on a game server, use
  [`GET /flags/config`](/cloud/api-reference/flags/config) instead — it is cached
  at the edge and built for polling. This endpoint is for dashboards and
  management tooling.
</Note>

## Authorization

<ParamField header="Authorization" type="string" required>
  Bearer token for authentication. Format: `Bearer <your-api-key>`
</ParamField>

## Required Permission

`FLAGS_READ`

## Query Parameters

<ParamField query="page" type="number" default="1">
  Page number (1-indexed).
</ParamField>

<ParamField query="limit" type="number" default="20">
  Number of flags per page (1–100).
</ParamField>

<ParamField query="search" type="string">
  Case-insensitive substring match against the flag's key and name.
</ParamField>

<ParamField query="includeArchived" type="boolean" default="false">
  Whether archived flags are included. Accepts `true`, `false`, `1` or `0`.
</ParamField>

## Response

<ResponseField name="results" type="FeatureFlag[]">
  The flags on this page, newest first.
</ResponseField>

<Expandable title="FeatureFlag properties">
  <ResponseField name="id" type="string">
    Unique identifier (UUID). This is what you pass to the update and delete
    endpoints.
  </ResponseField>

  <ResponseField name="key" type="string">
    The immutable slug your code reads the flag by.
  </ResponseField>

  <ResponseField name="name" type="string">
    Human-readable name.
  </ResponseField>

  <ResponseField name="description" type="string | null">
    Optional description.
  </ResponseField>

  <ResponseField name="type" type="string">
    `boolean`, `string`, `number`, or `json`.
  </ResponseField>

  <ResponseField name="value" type="JsonValue">
    The flag's current value.
  </ResponseField>

  <ResponseField name="runtime" type="string">
    `shared` or `server`.
  </ResponseField>

  <ResponseField name="archived" type="boolean">
    Whether the flag is archived. Archived flags are excluded from the config
    payload but keep their key reserved.
  </ResponseField>

  <ResponseField name="locked" type="boolean">
    True when this flag sits beyond your current allowance. Locked flags keep
    serving their published values but cannot be edited until you subscribe
    again or remove enough flags. See [Feature
    Flags](/cloud/offers/feature-flags#locked-flags).
  </ResponseField>

  <ResponseField name="createdAt" type="string">
    ISO 8601 timestamp.
  </ResponseField>

  <ResponseField name="updatedAt" type="string">
    ISO 8601 timestamp.
  </ResponseField>
</Expandable>

<ResponseField name="quota" type="FeatureFlagQuota">
  Your organization's flag allowance. Identical to the body of
  [`GET /flags/quota`](/cloud/api-reference/flags/quota).
</ResponseField>

<ResponseField name="total" type="number">
  Total flags matching the filter.
</ResponseField>

<ResponseField name="page" type="number">
  Current page number.
</ResponseField>

<ResponseField name="totalPages" type="number">
  Total number of pages.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.nonefivem.com/cloud/flags?page=1&limit=20&search=hud" \
    -H "Authorization: Bearer your-api-key"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.nonefivem.com/cloud/flags?page=1&limit=20",
    {
      headers: { Authorization: "Bearer your-api-key" }
    }
  );
  const result = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "results": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "key": "new-hud",
        "name": "New HUD",
        "description": "Rolls out the redesigned heads-up display",
        "type": "boolean",
        "value": true,
        "runtime": "shared",
        "archived": false,
        "locked": false,
        "createdAt": "2026-09-01T10:00:00.000Z",
        "updatedAt": "2026-09-19T12:00:00.000Z"
      }
    ],
    "quota": {
      "max": 50,
      "used": 12,
      "subscribed": true,
      "locked": 0
    },
    "total": 12,
    "page": 1,
    "totalPages": 1
  }
  ```
</ResponseExample>
