Feature Flags

Lists feature flags in the resolved project, cursor-paginated.

Unlike List, ListFeatureFlagsQuery IS Skip/Take-based and returns a precise Total, so the next cursor is computed from the query result rather than an in-memory count. type is parsed leniently — an unrecognized value degrades to "no type filter" (matching Decode's "garbage input degrades gracefully" precedent) rather than a 400, since it's a non-critical list filter, not a mutation. owner filters by owner: an email (an active member, case-insensitive) or none for unowned flags. permanent filters to permanent (true) or temporary (false) flags.

get/api/v1/orgs/{org}/projects/{project}/flags

Request

  • Base URL: https://api.featureflip.io
  • URL: https://api.featureflip.io/api/v1/orgs/{org}/projects/{project}/flags
  • Auth: API key in header Authorization

Path parameters

orgstring required
projectstring required

Query parameters

searchstring
tagstring
typestring
archivedboolean
limitinteger
cursorstring
ownerstring
permanentboolean

Response

OK

next_cursorstring nullable
_actionsobject

Capability hints: which operations the authenticated caller may perform on this resource, each with allowed + optional reason. Computed from the caller's role and the resource's state. Injected at runtime; safe to ignore. Present only on top-level resource responses — nested occurrences (e.g. a rule inside a targeting-config response) do not carry it.

Example response

{
  "items": [
    {
      "id": "0197b6a0-5f2a-7c3e-9b4d-1e2f3a4b5c6d",
      "key": "new-checkout-flow",
      "name": "New Checkout Flow",
      "type": "Boolean",
      "isArchived": false,
      "clientSideVisible": false,
      "tags": [
        "checkout",
        "q3-launch"
      ],
      "createdAt": "2026-06-01T12:00:00Z",
      "updatedAt": "2026-06-15T08:30:00Z",
      "isPermanent": false
    }
  ],
  "next_cursor": "MjA"
}

Changes

No recorded changes to this operation across all 1 revision of this API.