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

# Get Feature Flags

`GET /v1/feature-flags`

## Request

- Base URL: `https://api.pioneer.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pioneer.ai/v1/feature-flags`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/pioneer/apis/brain-api/docs/v1/feature-flags/get.ts> (a function with typed inputs; its response is checked against the schema)

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: - ``finetune_agent_enabled``: Claude-powered Fine-tune chat agent. Renamed from ``mle_agent_enabled`` by ENG-6245; ENG-6613 retired the deprecated twin, so this is the only agent field published. - ``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. - ``prepaid_billing_enabled``: Prepaid-credit onboarding — a new team starts at a zero balance and is sent straight to Stripe Checkout to top up (ENG-5956 cutoff). Defaults on; a Datadog Disabled env uses this code default. Explicit Datadog false remains the incident kill switch. Purchase-credits no longer refuses free-plan teams. 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.
  - `finetune_agent_enabled` boolean, required
  - `billing_credits_page_enabled` boolean, required
  - `user_data_export_enabled` boolean, required
  - `cancellation_immediate_refund_option_enabled` boolean, required
  - `prepaid_billing_enabled` boolean, required

## Changes

- **2026-09-24** `0e5e86e2bae5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pioneer/apis/brain-api/changes/v1/feature-flags/get.md)

---

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