---
title: "Get Feature Flags"
method: GET
path: "/feature-flags"
tags: ["feature-flags"]
---

# Get Feature Flags

`GET /feature-flags`

Return resolved feature flags for the requesting user.

Uses ``FlexibleAuth`` (not ``get_current_user_with_client``) because the
JWT path inside ``_authenticate_with_jwt`` resolves the billing team and
calls ``set_session_team_scope`` — required for per-team Datadog targeting
rules to take effect on this evaluation.

Returns:
    ``FeatureFlagsResponse`` with each flag's resolved boolean value.

## Response `200`

Successful Response

- FeatureFlagsResponse — Resolved boolean feature flags for the requesting user. Field naming follows the canonical agent names in the product: - ``mle_agent_enabled``: Claude-powered MLE chat agent. - ``usage_insights_ui_enabled``: Customer-facing usage-aware clustering insights UI (ENG-2110). Decoupled from the backend classify pipeline so the UI can be hidden while the backend keeps computing insights. - ``observability_enabled``: Coding-agent cost Observability page and the ``/observability`` API. Off by default; enabled per-team via Datadog targeting (local dev bypasses the gate). - ``user_data_export_enabled``: Self-serve GDPR SAR export (ENG-2128). Off by default and gating both the settings panel and the route, so the UI cannot offer an archive the backend refuses to build. - ``cancellation_immediate_refund_option_enabled``: Whether the "cancel immediately + pro-rated refund" button is shown alongside the primary "cancel — keep access until period end" button. Also enforced server-side on the cancellation endpoints, so disabling it actually blocks the refund path, not just the button. ENG-5651 withdrew ``research_agent_enabled`` (Deep Research, formerly ``auto_agent_enabled``) and ``continuous_adaptation_agent_enabled`` (the autonomous fine-tuning loop, formerly ``data_engine_agent_enabled``). Both gated surfaces that no longer exist, so the fields are gone from the contract rather than pinned to ``False``. The removal is temporary: the Datadog keys are deliberately left in place, so restoring either feature means re-adding its field and helper — not recreating the flag.
  - `mle_agent_enabled` boolean, required
  - `billing_credits_page_enabled` boolean, required
  - `usage_insights_ui_enabled` boolean, required
  - `observability_enabled` boolean, required
  - `user_data_export_enabled` boolean, required
  - `cancellation_immediate_refund_option_enabled` boolean, required

---

[API](https://skmtc.net/pioneer/apis/brain-api.md) · [All operations](https://skmtc.net/pioneer/apis/brain-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pioneer/brain-api/revisions/b92f75fd3b61/schema)
