flagsmith Features API
Manage feature flags within a project. Features can be toggled on or off and can have remote configuration values.
Operations 41
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“What feature flags are defined in my Flagsmith project?”
“Can I see each flag's type, description and default value across a project?”
Tell an agent
List all feature flags in project {project_id}.
Show the names and default values of every flag in project {project_id}.
Ask an LLM
“How do I add a new feature flag that shows up in every environment?”
“Can a new flag start enabled with an initial value?”
Tell an agent
Create a feature flag named {name} in project {project_id}.
Add flag {name} to project {project_id}, enabled by default {default_enabled}, with initial value {initial_value}.
GET
/projects/{project_id}/features/{feature_id}/
Get a feature flag's details · Get a feature flag
#
Ask an LLM
“How is a specific feature flag configured, including its multivariate options?”
“Can I look up one flag in a project by its ID?”
Tell an agent
Get feature {feature_id} in project {project_id}.
Show the configuration and variants of flag {feature_id} from project {project_id}.
PUT
/projects/{project_id}/features/{feature_id}/
Replace a feature flag (unversioned path) · Update a feature flag
#
Ask an LLM
“How do I rename a feature flag or change its type with a full update?”
“Can I archive a flag by sending the whole feature on the unversioned PUT?”
Tell an agent
Fully update feature {feature_id} in project {project_id} with name {name}.
Replace flag {feature_id} in {project_id} as {name}, archived {is_archived}.
DELETE
/projects/{project_id}/features/{feature_id}/
Delete a feature flag (unversioned path) · Delete a feature flag
#
Ask an LLM
“How do I permanently remove a feature flag from all environments using the unversioned route?”
“Can deleting a flag be undone?”
Tell an agent destructive · confirm first
Permanently delete feature {feature_id} from project {project_id} via the unversioned endpoint.
Remove flag {feature_id} from every environment in project {project_id}, non-v1 route.
GET
/environments/{environment_api_key}/featurestates/
List feature states in an environment · List feature states for an environment
#
Ask an LLM
“Which flags are on or off in my production environment and with what values?”
“Can I see every feature state for one environment?”
Tell an agent
List feature states for environment {environment_api_key}.
Show which features are enabled in {environment_api_key} and their values.
PATCH
/environments/{environment_api_key}/featurestates/{feature_state_id}/
Toggle a flag or change its value in an environment · Update a feature state
#
Ask an LLM
“How do I turn a flag on in just one environment?”
“Can I change a feature's value in staging without touching production?”
Tell an agent
Set feature state {feature_state_id} in {environment_api_key} to enabled {enabled}.
Change the value of feature state {feature_state_id} in environment {environment_api_key} to {feature_state_value}.
DELETE
/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{id}/
Delete a feature version in an environment · Api v1 environments features versions destroy
#
Ask an LLM
“Can I delete a specific version of a feature's state in an environment?”
“How do I discard a feature version I no longer want?”
Tell an agent destructive · confirm first
Delete version {id} of feature {feature_pk} in environment {environment_pk}.
Discard feature {feature_pk}'s version {id} from environment {environment_pk}.
POST
/api/v1/features/create-feature-export/
Export features by tag · Api v1 features create feature export create
#
Ask an LLM
“How do I export an environment's features so I can import them elsewhere?”
“Can I limit a feature export to certain tags?”
Tell an agent
Export features from environment {environment_id} tagged {tag_ids}.
Start a feature export for environment {environment_id} covering tags {tag_ids}.
GET
/api/v1/features/download-feature-export/{feature_export_id}/
Download a feature export file · Api v1 features download feature export retrieve
#
Ask an LLM
“Where do I download the file from a feature export I created?”
“Can I fetch a finished feature export by its ID?”
Tell an agent
Download feature export {feature_export_id}.
Get the export file for feature export {feature_export_id}.
GET
/api/v1/features/download-flagsmith-on-flagsmith/
Download the Flagsmith-on-Flagsmith export · Api v1 features download flagsmith on flagsmith retrieve
#
Ask an LLM
“How do I get the feature export that enables Flagsmith on Flagsmith?”
“Is there a ready-made export for running Flagsmith's own flags?”
Tell an agent
Download the Flagsmith on Flagsmith feature export.
Fetch the export file used to set up Flagsmith on Flagsmith.
POST
/api/v1/features/feature-import/{environment_id}
Import features into an environment · Api v1 features feature import create
#
Ask an LLM
“How do I load an exported features file into another environment?”
“Can an import skip existing features, or does it overwrite them?”
Tell an agent
Import feature file {file} into environment {environment_id} using strategy {strategy}.
Upload {file} to environment {environment_id} and skip features that already exist, strategy {strategy}.
POST
/api/v1/features/feature-segments/
Add a segment override to a feature · Api v1 features feature segments create
#
Ask an LLM
“How do I target a segment with its own setting for a feature in one environment?”
“Can I set the priority of a new segment override?”
Tell an agent
Create a segment override for feature {feature} and segment {segment} in environment {environment}.
Link segment {segment} to feature {feature} in {environment} at priority {priority}.
GET
/api/v1/features/feature-segments/{id}/
Get a feature segment override · Api v1 features feature segments retrieve
#
Ask an LLM
“Which feature, segment and priority does a given segment override have?”
“Can I look up a feature segment by its numeric ID?”
Tell an agent
Get feature segment {id}.
Show the feature, segment and priority for feature segment {id}.
PUT
/api/v1/features/feature-segments/{id}/
Replace a feature segment override · Api v1 features feature segments update
#
Ask an LLM
“How do I fully replace a feature segment with a new feature, segment and environment?”
“Does a full feature segment update need all three of feature, segment and environment?”
Tell an agent
Replace feature segment {id} with feature {feature}, segment {segment}, environment {environment}.
Overwrite feature segment {id} so it targets segment {segment} for feature {feature} in {environment}.
PATCH
/api/v1/features/feature-segments/{id}/
Change a single feature segment's priority · Api v1 features feature segments partial update
#
Ask an LLM
“Can I move one segment override up in priority without resending everything?”
“How do I tweak just one field of a feature segment?”
Tell an agent
Set feature segment {id} to priority {priority}.
Partially update feature segment {id}, pointing it at segment {segment}.
GET
/api/v1/features/feature-segments/get-by-uuid/{uuid}/
Look up a feature segment by UUID · Api v1 features feature segments get by uuid retrieve
#
Ask an LLM
“Can I find a feature segment override if I only have its UUID?”
“What endpoint resolves a feature segment UUID?”
Tell an agent
Get the feature segment with UUID {uuid}.
Resolve feature segment UUID {uuid} to its override details.
POST
/api/v1/features/feature-segments/update-priorities/
Reorder segment override priorities · Api v1 features feature segments update priorities create
#
Ask an LLM
“How do I reorder several segment overrides at once?”
“Can I bulk update the priorities of feature segments?”
Tell an agent
Update the priorities of these feature segments in one call.
Reorder segment overrides so the new priority order applies.
GET
/api/v1/features/get-by-uuid/{uuid}/
Look up a feature by UUID · Api v1 features get by uuid retrieve
#
Ask an LLM
“Can I find a feature flag when I only know its UUID?”
“Which endpoint resolves a feature UUID to the feature?”
Tell an agent
Get the feature with UUID {uuid}.
Resolve feature UUID {uuid} to its flag details.
GET
/api/v1/features/workflows/change-requests/{id}/
Get a change request · Api v1 features workflows change requests retrieve
#
Ask an LLM
“What flag changes and approvals are in a specific change request?”
“Can I check whether a change request has been committed yet?”
Tell an agent
Get change request {id}.
Show the approvals and feature states in change request {id}.
PUT
/api/v1/features/workflows/change-requests/{id}/
Replace a change request · Api v1 features workflows change requests update
#
Ask an LLM
“How do I rewrite a change request's title and proposed feature states entirely?”
“Does a full change request update require the feature states list?”
Tell an agent
Replace change request {id} with title {title} and feature states {feature_states}.
Overwrite change request {id} as {title}, ignoring conflicts {ignore_conflicts}, with states {feature_states}.
PATCH
/api/v1/features/workflows/change-requests/{id}/
Edit a change request's details · Api v1 features workflows change requests partial update
#
Ask an LLM
“Can I just fix the title or description of a change request?”
“Is there a way to update only a change request's description?”
Tell an agent
Rename change request {id} to {title}.
Set the description of change request {id} to {description}.
DELETE
/api/v1/features/workflows/change-requests/{id}/
Delete a change request · Api v1 features workflows change requests destroy
#
Ask an LLM
“How do I throw away a change request that's no longer needed?”
“Can I delete a pending change request?”
Tell an agent destructive · confirm first
Delete change request {id}.
Discard pending change request {id}.
POST
/api/v1/features/workflows/change-requests/{id}/approve/
Approve a change request · Api v1 features workflows change requests approve create
#
Ask an LLM
“How do I sign off on a flag change request as a reviewer?”
“Can I approve someone else's change request through the API?”
Tell an agent
Approve change request {id}.
Add my approval to change request {id}.
POST
/api/v1/features/workflows/change-requests/{id}/commit/
Commit a change request · Api v1 features workflows change requests commit create
#
Ask an LLM
“How do I apply an approved change request so the flag changes go live?”
“What makes a change request's feature states take effect?”
Tell an agent
Commit change request {id}.
Apply the approved changes in change request {id} now.
GET
/api/v1/flags/{feature_id}/multivariate-options/
List a feature's multivariate options · Api v1 flags multivariate options list
#
Ask an LLM
“What variants does a multivariate flag have?”
“Can I see all the variant values and allocations for a feature?”
Tell an agent
List multivariate options for feature {feature_id}.
Show every variant of flag {feature_id} with its percentage allocation.
GET
/api/v1/multivariate/options/get-by-uuid/{uuid}/
Look up a multivariate option by UUID · Api v1 multivariate options get by uuid retrieve
#
Ask an LLM
“Can I find a flag variant if I only have its UUID?”
“Which endpoint resolves a multivariate option UUID?”
Tell an agent
Get the multivariate option with UUID {uuid}.
Resolve variant UUID {uuid} to its value.
POST
/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/
Link an external resource to a feature · Api v1 projects features feature external resources create
#
Ask an LLM
“How do I attach an issue or pull request link to a feature flag?”
“Can a feature flag track external resources like tickets?”
Tell an agent
Link {url} of type {type} to feature {feature_pk} in project {project_pk}.
Attach external resource {url} to flag {feature} under feature {feature_pk}, project {project_pk}, as {type}.
GET
/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/
Get a feature's external resource link · Api v1 projects features feature external resources retrieve
#
Ask an LLM
“What URL and type is stored on a specific external resource of a feature?”
“Can I look up one linked issue on a feature by its ID?”
Tell an agent
Get external resource {id} on feature {feature_pk} in project {project_pk}.
Show linked resource {id} for flag {feature_pk}, project {project_pk}.
PUT
/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/
Replace a feature's external resource link · Api v1 projects features feature external resources update
#
Ask an LLM
“How do I fully replace an external resource linked to a feature?”
“Does replacing a linked resource need its URL, type and feature again?”
Tell an agent
Replace external resource {id} on feature {feature_pk} in {project_pk} with {url} of type {type} for flag {feature}.
Overwrite linked resource {id} of flag {feature_pk}, project {project_pk}, with URL {url}.
PATCH
/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/
Edit a feature's external resource link · Api v1 projects features feature external resources partial update
#
Ask an LLM
“Can I change only the metadata on a feature's linked resource?”
“Is there a way to update just the URL of an external resource on a flag?”
Tell an agent
Set the metadata of external resource {id} on feature {feature_pk}, project {project_pk}, to {metadata}.
Change only the URL of linked resource {id} on flag {feature_pk} in {project_pk} to {url}.
DELETE
/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/
Unlink an external resource from a feature · Api v1 projects features feature external resources destroy
#
Ask an LLM
“How do I remove an issue link from a feature flag?”
“Can I delete an external resource attached to a feature?”
Tell an agent destructive · confirm first
Delete external resource {id} from feature {feature_pk} in project {project_pk}.
Unlink resource {id} from flag {feature_pk}, project {project_pk}.
GET
/api/v1/projects/{project_pk}/features/{feature_pk}/mv-options/{id}/
Get one multivariate option of a feature · Api v1 projects features mv options retrieve
#
Ask an LLM
“What value and default allocation does a specific variant of my flag have?”
“Can I fetch one multivariate option by ID within a project feature?”
Tell an agent
Get multivariate option {id} of feature {feature_pk} in project {project_pk}.
Show variant {id} for flag {feature_pk}, project {project_pk}.
PATCH
/api/v1/projects/{project_pk}/features/{feature_pk}/mv-options/{id}/
Edit a multivariate option · Api v1 projects features mv options partial update
#
Ask an LLM
“How do I change a variant's default percentage allocation?”
“Can I update the string value of one flag variant?”
Tell an agent
Set variant {id} of feature {feature_pk} in {project_pk} to {default_percentage_allocation} percent.
Change multivariate option {id} on flag {feature_pk}, project {project_pk}, to string value {string_value}.
PATCH
/api/v1/projects/{project_pk}/features/{id}/
Edit a feature flag's fields (v1) · Api v1 projects features partial update
#
Ask an LLM
“Can I change just a flag's description or lifecycle stage without resending the whole feature?”
“How do I mark a feature as server-key-only?”
Tell an agent
Update the description of feature {id} in project {project_pk} to {description}.
Set is_server_key_only to {is_server_key_only} on feature {id}, project {project_pk}.
DELETE
/api/v1/projects/{project_pk}/features/{id}/
Delete a feature flag (v1) · Api v1 projects features destroy
#
Ask an LLM
“How do I delete a feature from a project using the v1 API?”
“Which v1 endpoint removes a project feature by ID?”
Tell an agent destructive · confirm first
Delete feature {id} from project {project_pk} with the v1 API.
Remove v1 project feature {id} in {project_pk}.
POST
/api/v1/projects/{project_pk}/features/{id}/add-group-owners/
Add group owners to a feature · Api v1 projects features add group owners create
#
Ask an LLM
“How do I make a team group an owner of a feature flag?”
“Can I assign several groups as owners of a flag at once?”
Tell an agent
Add groups {group_ids} as owners of feature {id} in project {project_pk}.
Make groups {group_ids} own flag {id}, project {project_pk}.
POST
/api/v1/projects/{project_pk}/features/{id}/add-owners/
Add user owners to a feature · Api v1 projects features add owners create
#
Ask an LLM
“How do I set individual people as owners of a feature flag?”
“Can I add multiple users as flag owners in one request?”
Tell an agent
Add users {user_ids} as owners of feature {id} in project {project_pk}.
Make users {user_ids} owners of flag {id}, project {project_pk}.
GET
/api/v1/projects/{project_pk}/features/{id}/influx-data/
Get a feature's evaluation data (deprecated) · Api v1 projects features influx data retrieve
#
Ask an LLM
“How often was a flag evaluated in an environment over a period, via the older influx-data endpoint?”
“Can I aggregate a feature's evaluation counts by time bucket?”
Tell an agent
Get influx evaluation data for feature {id} in project {project_pk} for environment {environment_id}.
Show flag {id} evaluations in env {environment_id}, project {project_pk}, over {period} aggregated every {aggregate_every}.
POST
/api/v1/projects/{project_pk}/features/{id}/remove-group-owners/
Remove group owners from a feature · Api v1 projects features remove group owners create
#
Ask an LLM
“How do I take a group off a feature flag's owners?”
“Can I remove several owning groups from a flag at once?”
Tell an agent
Remove groups {group_ids} as owners of feature {id} in project {project_pk}.
Stop groups {group_ids} owning flag {id}, project {project_pk}.
POST
/api/v1/projects/{project_pk}/features/{id}/remove-owners/
Remove user owners from a feature · Api v1 projects features remove owners create
#
Ask an LLM
“How do I remove a person as an owner of a feature flag?”
“Can I drop multiple users from a flag's owners together?”
Tell an agent
Remove users {user_ids} as owners of feature {id} in project {project_pk}.
Take users {user_ids} off the owners of flag {id}, project {project_pk}.
Documentation
📖
Documentation
https://docs.flagsmith.com/integrating-with-flagsmith/flagsmith-api-overview/admin-api
📖
APIReference
https://docs.flagsmith.com/integrating-with-flagsmith/flagsmith-api-overview/management-api/
Specifications
⚙
OpenAPI
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/openapi/flagsmith-features-api-openapi.yml
⚙
AsyncAPI
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/asyncapi/flagsmith-webhooks-asyncapi.yml
Other Resources
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/overlays/flagsmith-features-api-overlay.yaml
🔗
PostmanCollection
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/collections/flagsmith-features-api.postman_collection.json
🔗
OpenCollection
https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/collections/flagsmith-features-api.opencollection.json