---
title: "Effective feature-flag state (this process)"
method: GET
path: "/v1/admin/feature-flags"
tags: ["admin"]
---

# Effective feature-flag state (this process)

`GET /v1/admin/feature-flags`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/feature-flags`
- Auth: HTTP bearer

Platform-admin view of every governed backend feature gate, plus every capability armed by credentials rather than by a gate: intended home, loaded value, effective state, and why. A credential-armed row governs nothing and its reported name is not a settable key. Reports the api tier's own state; the worker reports its own at startup. Values only, no secrets.

## Response `200`

Successful Response

- FeatureFlagState: Service-aware snapshot for the observing process: every governed feature gate, plus every capability armed by credentials rather than by a gate.
  - `service` string, required: The observing process: 'api' (this endpoint). Worker state lives in the worker startup log.
  - `commit` string, nullable: Deploy commit (RENDER_GIT_COMMIT) when present, else null.
  - `flag_count` integer, required: Number of rows reported: every governed gate, plus every credential-armed capability.
  - `engaged_kill_switches` string[], required: Env vars of any ENGAGED break-glass kill switch (empty is the healthy state).
  - `flags` FeatureFlagRow[], required: Effective state per row: one per governed gate, one per credential-armed capability.
    - `env_var` string, required: The API_* environment variable name. A capability armed by a SET of credentials rather than by one boolean reports a glob over those names (e.g. API_GOOGLE_ADS_*), which is not itself a settable key.
    - `intended_home` string, required: Intended home: blueprint | code-default | dashboard-only | dashboard-infra (not a provenance).
    - `control_class` string, required: standard | billing | kill_switch | operational.
    - `loaded_value` boolean, required: The boolean this process actually booted with. For a credential-armed capability: whether the process carries any of that capability's credentials.
    - `effective` boolean, required: Feature gate: whether the feature is actually active once compound prerequisites apply. Kill switch (control_class=kill_switch): whether containment is ENGAGED (feature halted).
    - `reason` string, nullable: Allowlisted code explaining why effective != loaded (e.g. managed_integrations_disabled), or null.
    - `removal_condition` string, nullable: Flag-hygiene: what must be true before this flag is deleted, or null.

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
