Feature Flags
Read and update feature flags and their settings. Create SDK keys and list the keys available for a project.
Create a flag.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
requestBody | object | Yes | Request body for this tool. |
Create an SDK key.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
requestBody | object | No | Request body for this tool. |
Get a flag.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
flagIdOrSlug | string | Yes | The flag id or name |
ifMatch | string | No | ETag to match, can be used interchangeably with the if-match header |
withMetadata | boolean | No | Whether to include metadata in the response |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Retrieve a feature flag segment by ID or slug.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
segmentIdOrSlug | string | Yes | The segment slug |
withMetadata | boolean | No | Whether to include metadata Default: false. |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Get project flag settings.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Get all SDK keys.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
List all feature flag segments for a project.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
withMetadata | boolean | No | Whether to include metadata Default: false. |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Lists flag versions for a given flag.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project ID or name. |
flagIdOrSlug | string | Yes | The feature flag ID or slug. |
limit | number | No | Minimum: 1. Maximum: 100. Default: 20. |
cursor | string | No | Pagination cursor |
environment | string | No | Environment to filter by |
withMetadata | boolean | No | Whether to include metadata Default: false. |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
List flags.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
state | string | No | The state of the flags to retrieve. Defaults to active. Allowed values: "active", "archived". |
withMetadata | boolean | No | Deprecated. Whether to include creator metadata in each flag in the response. Resolve creator identity client-side (e.g. via the team members endpoint) instead. This parameter will be removed in a future release. Use GET /v1/projects/:id/feature-flags/flags/:flagIdOrSlug?withMetadata=true for single-flag lookups that need creator metadata. |
limit | integer | No | Maximum number of flags to return. When not set, all flags are returned. Minimum: 1. Maximum: 100. |
cursor | string | No | Pagination cursor to continue from. |
search | string | No | Search flags by their slug or description. Case-insensitive. |
tags | Array<string> | No | Filter flags by tag. Repeat the parameter for multiple tags (all must match). |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
List flags.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
state | string | No | The state of the flags to retrieve. Defaults to active. Allowed values: "active", "archived". |
limit | integer | No | Maximum number of flags to return. Minimum: 1. Maximum: 100. Default: 25. |
cursor | string | No | Pagination cursor to continue from. |
search | string | No | Search flags by their slug or description. Case-insensitive. |
tags | Array<string> | No | Filter flags by tag. Repeat the parameter for multiple tags (all must match). |
createdBy | string | No | Filter flags by the id of the entity that created them (a user or team id). |
maintainerIds | Array<string> | No | Filter flags by maintainer user id. Repeat the parameter for multiple maintainers (any may match). |
includeMarketplaceFlags | boolean | No | Whether to include Marketplace experimentation items in the paginated response. Defaults to false. |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Retrieve feature flag settings for projects in a team.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Maximum number of settings to return. Minimum: 1. Maximum: 100. Default: 20. |
cursor | string | No | Pagination cursor to continue from. |
teamId | string | Yes | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Retrieve all feature flags for a team across all projects. The list can be filtered by state and supports pagination.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
state | string | No | The state of the flags to retrieve. Defaults to active. Allowed values: "active", "archived". |
withMetadata | boolean | No | Deprecated. Whether to include creator metadata in each flag in the response. Resolve creator identity client-side (e.g. via the team members endpoint) instead. This parameter will be removed in a future release. |
limit | integer | No | Maximum number of flags to return. Minimum: 1. Maximum: 100. Default: 20. |
cursor | string | No | Pagination cursor to continue from. |
search | string | No | Search flags by their slug or description. Case-insensitive. |
kind | string | No | The kind of flags to retrieve. Allowed values: "boolean", "string", "number", "json". |
tags | Array<string> | No | Filter flags by tag. Repeat the parameter for multiple tags (all must match). |
teamId | string | Yes | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Retrieve all feature flags for a team across all projects. Returns an opaque cursor for pagination.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
state | string | No | The state of the flags to retrieve. Defaults to active. Allowed values: "active", "archived". |
limit | integer | No | Maximum number of flags to return. Minimum: 1. Maximum: 100. Default: 25. |
cursor | string | No | Pagination cursor to continue from. |
search | string | No | Search flags by their slug or description. Case-insensitive. |
kind | string | No | The kind of flags to retrieve. Allowed values: "boolean", "string", "number", "json". |
tags | Array<string> | No | Filter flags by tag. Repeat the parameter for multiple tags (all must match). |
createdBy | string | No | Filter flags by the id of the entity that created them (a user or team id). |
maintainerIds | Array<string> | No | Filter flags by maintainer user id. Repeat the parameter for multiple maintainers (any may match). |
includeMarketplaceFlags | boolean | No | Whether to include Marketplace experimentation items in the paginated response. Defaults to false. |
teamId | string | Yes | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
Update a flag.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
flagIdOrSlug | string | Yes | The flag id or name |
ifMatch | string | No | ETag to match, can be used interchangeably with the if-match header |
withMetadata | boolean | No | Whether to include metadata in the response |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
requestBody | object | No | Request body for this tool. |
Update an existing feature flag segment.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
segmentIdOrSlug | string | Yes | The segment slug |
withMetadata | boolean | No | Whether to include metadata Default: false. |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
requestBody | object | No | Request body for this tool. |
Update project flag settings.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
teamId | string | No | Team ID to use for this operation. |
slug | string | No | Team slug to use for this operation. Use instead of teamId. |
requestBody | object | No | Request body for this tool. |
List the flag connections for a project within one team.
Use role: "source" (the default) to list projects that can read this project's flags. Use role: "consumer" to list projects whose flags it can read. Connections apply across environments.
On a project-scoped MCP connection, the selected project and team come from the route. Your OAuth grant must include that project, and you need permission to list its connections.
Example
{
"teamId": "team_example",
"projectIdOrName": "prj_source",
"role": "source"
}The response contains a data array with the source and consumer project IDs, available names, and creation details.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
role | string | No | List connections where this project is the source (default) or the consumer Allowed values: "source", "consumer". |
teamId | string | No | Team ID. |
slug | string | No | Team slug. |
Connect two projects in the same team. The source owns the flags; the consumer receives read and evaluate access across environments. Your consumer project's OIDC token selects the environment. Connections do not permit flag changes.
Set projectIdOrName to the source and requestBody.consumerProjectId to the consumer. Confirm both projects before creating the connection. On a project-scoped MCP connection, connect to the source project.
Example
{
"teamId": "team_example",
"projectIdOrName": "prj_source",
"requestBody": {
"consumerProjectId": "prj_consumer"
}
}The response identifies both projects and the connection's creator and creation time. Read it back with list_flags_project_connections. An existing connection returns a conflict; inspect it before retrying.
Required permissions
Your MCP OAuth grant must cover both projects. You need permission to manage connections on the source and view the consumer. See Project Connections permissions.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
teamId | string | No | Team ID. |
slug | string | No | Team slug. |
requestBody | object | Yes | Request body for this tool. |
Get the source project's Flags Connections page, where you can disconnect the selected consumer. This tool checks the source project's team and returns requires_user_action with mutationExecuted: false. It does not revoke access.
Set projectIdOrName to the source and consumerProjectId to the consumer. On a project-scoped MCP connection, connect to the source project.
Example
{
"teamId": "team_example",
"projectIdOrName": "prj_source",
"consumerProjectId": "prj_consumer"
}Open the returned URL, find the consumer under projects that can read the source's flags, and select Remove Connection. This removes access across environments. Use list_flags_project_connections to verify removal.
You need permission to manage connections on the source to complete this action. You don't need access to the consumer. See Project Connections permissions.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectIdOrName | string | Yes | The project id or name |
consumerProjectId | string | Yes | The connected consumer project id |
teamId | string | Yes | Team ID. |
Was this helpful?