Flagsmith · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Flagsmith Environments API
62 actions
62 updates
phrasing
extends
openapi/flagsmith-environments-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Flagsmith's API. It is a proposal applied on top of the contract, not a document Flagsmith publishes.
What the actions change
x-apievangelist-phrasing
Targets 62 · first 16 shown; the file carries all of them
$.info
$.paths['/environments/'].get
$.paths['/environments/{environment_api_key}/'].get
$.paths['/environments/{environment_api_key}/'].put
$.paths['/api/v1/environments/'].post
$.paths['/api/v1/environments/{api_key}/'].get
$.paths['/api/v1/environments/{api_key}/'].put
$.paths['/api/v1/environments/{api_key}/'].delete
$.paths['/api/v1/environments/{api_key}/'].patch
$.paths['/api/v1/environments/{api_key}/clone/'].post
$.paths['/api/v1/environments/{api_key}/delete-traits/'].post
$.paths['/api/v1/environments/{api_key}/disable-v2-versioning/'].post
$.paths['/api/v1/environments/{api_key}/document/'].get
$.paths['/api/v1/environments/{api_key}/enable-v2-versioning/'].post
$.paths['/api/v1/environments/{api_key}/my-permissions/'].get
$.paths['/api/v1/environments/{api_key}/trait-keys/'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Flagsmith Environments API
version: 1.0.0
extends: openapi/flagsmith-environments-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 61
- target: $.paths['/environments/'].get
update:
x-apievangelist-phrasing:
intent: List environments I can access
effect: read
questions:
- Which Flagsmith environments do I have access to?
- Can I see all my deployment stages like dev, staging and production in one list?
instructions:
- text: List every environment I have access to.
- text: Show my environments across projects.
method: generated
generated: '2026-09-26'
- target: $.paths['/environments/{environment_api_key}/'].get
update:
x-apievangelist-phrasing:
intent: Get an environment (unversioned path)
effect: read
questions:
- What project and feature states belong to an environment, from the unversioned endpoint?
- Is there a non-v1 route to fetch an environment by its API key?
instructions:
- text: Via the unversioned route, get environment {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
- text: Show the name, project and feature states of {environment_api_key} from the non-v1 endpoint.
slots:
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/environments/{environment_api_key}/'].put
update:
x-apievangelist-phrasing:
intent: Update an environment (unversioned path)
effect: write
questions:
- Can I rename an environment through the unversioned update endpoint?
- How do I hide sensitive data on an environment using the non-v1 route?
instructions:
- text: On the unversioned route, rename environment {environment_api_key} to {name}.
slots:
environment_api_key: path.environment_api_key
name: requestBody.name
- text: Update {environment_api_key} as {name} with hide sensitive data {hide_sensitive_data}, non-v1 path.
slots:
environment_api_key: path.environment_api_key
name: requestBody.name
hide_sensitive_data: requestBody.hide_sensitive_data
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/'].post
update:
x-apievangelist-phrasing:
intent: Create an environment in a project
effect: write
questions:
- How do I add a new staging environment to my project?
- Can I require change request approvals when creating an environment?
instructions:
- text: Create environment {name} in project {project}.
slots:
name: requestBody.name
project: requestBody.project
- text: Add environment {name} to project {project} needing {minimum_change_request_approvals} approvals per change.
slots:
name: requestBody.name
project: requestBody.project
minimum_change_request_approvals: requestBody.minimum_change_request_approvals
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/'].get
update:
x-apievangelist-phrasing:
intent: Get an environment's settings (v1)
effect: read
questions:
- What settings like banner text or versioning does an environment have in the v1 API?
- Can I look up one environment by API key with v1?
instructions:
- text: Get v1 environment {api_key}.
slots:
api_key: path.api_key
- text: Show the configuration of environment {api_key} with the v1 API.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/'].put
update:
x-apievangelist-phrasing:
intent: Replace an environment's settings (v1)
effect: write
questions:
- How do I fully replace an environment's configuration with the v1 API?
- Does a full v1 environment update require the name?
instructions:
- text: Replace v1 environment {api_key} settings with name {name}.
slots:
api_key: path.api_key
name: requestBody.name
- text: Overwrite environment {api_key} as {name} with banner text {banner_text}.
slots:
api_key: path.api_key
name: requestBody.name
banner_text: requestBody.banner_text
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/'].delete
update:
x-apievangelist-phrasing:
intent: Delete an environment
effect: destructive
questions:
- How do I remove an environment I no longer use?
- Can I delete a whole environment by its API key?
instructions:
- text: Delete environment {api_key}.
slots:
api_key: path.api_key
- text: Permanently remove the environment with key {api_key}.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/'].patch
update:
x-apievangelist-phrasing:
intent: Change individual environment settings
effect: write
questions:
- Can I just set a banner colour on an environment without touching other settings?
- How do I hide disabled flags from SDKs in one environment?
instructions:
- text: Set the banner on environment {api_key} to {banner_text} in {banner_colour}.
slots:
api_key: path.api_key
banner_text: requestBody.banner_text
banner_colour: requestBody.banner_colour
- text: Turn hide disabled flags to {hide_disabled_flags} on environment {api_key}.
slots:
hide_disabled_flags: requestBody.hide_disabled_flags
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/clone/'].post
update:
x-apievangelist-phrasing:
intent: Clone an environment
effect: write
questions:
- How do I copy an existing environment with its flags into a new one?
- Can feature states be cloned asynchronously for a large environment?
instructions:
- text: Clone environment {api_key} into a new one called {name}.
slots:
api_key: path.api_key
name: requestBody.name
- text: Copy {api_key} as {name}, cloning feature states async {clone_feature_states_async}.
slots:
api_key: path.api_key
name: requestBody.name
clone_feature_states_async: requestBody.clone_feature_states_async
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/delete-traits/'].post
update:
x-apievangelist-phrasing:
intent: Delete a trait from all identities
effect: destructive
questions:
- How do I wipe a trait key from every identity in an environment?
- Can I remove an obsolete trait across the whole environment at once?
instructions:
- text: Delete trait {key} from all identities in environment {api_key}.
slots:
key: requestBody.key
api_key: path.api_key
- text: Remove the {key} trait everywhere in environment {api_key}.
slots:
key: requestBody.key
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/disable-v2-versioning/'].post
update:
x-apievangelist-phrasing:
intent: Turn off v2 feature versioning
effect: write
questions:
- How do I switch an environment back off v2 feature versioning?
- Can v2 versioning be disabled after enabling it?
instructions:
- text: Disable v2 feature versioning on environment {api_key}.
slots:
api_key: path.api_key
- text: Turn off feature versioning v2 for {api_key}.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/document/'].get
update:
x-apievangelist-phrasing:
intent: Get the environment document
effect: read
questions:
- How do I download the full environment document used for local evaluation?
- Is there a single JSON document describing an environment's flags and segments?
instructions:
- text: Get the environment document for {api_key}.
slots:
api_key: path.api_key
- text: Download the local evaluation document of environment {api_key}.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/enable-v2-versioning/'].post
update:
x-apievangelist-phrasing:
intent: Turn on v2 feature versioning
effect: write
questions:
- How do I enable v2 feature versioning on an environment?
- Can I start versioning flag changes in one environment?
instructions:
- text: Enable v2 feature versioning on environment {api_key}.
slots:
api_key: path.api_key
- text: Switch environment {api_key} to feature versioning v2.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/my-permissions/'].get
update:
x-apievangelist-phrasing:
intent: Check my permissions on an environment
effect: read
questions:
- What am I allowed to do in this environment?
- Am I an admin of a given environment?
instructions:
- text: Show my permissions on environment {api_key}.
slots:
api_key: path.api_key
- text: Check what I can do in {api_key}.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/trait-keys/'].get
update:
x-apievangelist-phrasing:
intent: List trait keys used in an environment
effect: read
questions:
- Which trait keys exist on identities in my environment?
- Can I see all the trait names in use before building a segment?
instructions:
- text: List trait keys in environment {api_key}.
slots:
api_key: path.api_key
- text: Show every distinct trait name used in {api_key}.
slots:
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{api_key}/user-detailed-permissions/{user_id}/'].get
update:
x-apievangelist-phrasing:
intent: Get a user's detailed environment permissions
effect: read
questions:
- What permissions does a particular teammate have in an environment, and where do they come from?
- Can I see whether a user's environment access comes from a group or role?
instructions:
- text: Show detailed permissions for user {user_id} in environment {api_key}.
slots:
user_id: path.user_id
api_key: path.api_key
- text: Explain what user {user_id} can do in {api_key} and why.
slots:
user_id: path.user_id
api_key: path.api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/api-keys/'].get
update:
x-apievangelist-phrasing:
intent: List server-side SDK keys
effect: read
questions:
- Which server-side SDK keys exist for my environment?
- Can I see which server keys are active or expiring?
instructions:
- text: List server-side SDK keys for environment {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
- text: Show the active server keys on {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/api-keys/'].post
update:
x-apievangelist-phrasing:
intent: Create a server-side SDK key
effect: write
questions:
- How do I generate a server-side SDK key for my backend?
- Can I set an expiry date on a new server key?
instructions:
- text: Create a server-side key named {name} for environment {environment_api_key}.
slots:
name: requestBody.name
environment_api_key: path.environment_api_key
- text: Generate server key {name} on {environment_api_key} that expires at {expires_at}.
slots:
name: requestBody.name
environment_api_key: path.environment_api_key
expires_at: requestBody.expires_at
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/api-keys/{id}/'].put
update:
x-apievangelist-phrasing:
intent: Replace a server-side SDK key's settings
effect: write
questions:
- How do I fully update a server key's name and expiry?
- Does replacing a server-side key's settings require its name?
instructions:
- text: Replace server key {id} on {environment_api_key} with name {name}.
slots:
id: path.id
environment_api_key: path.environment_api_key
name: requestBody.name
- text: Overwrite server-side key {id} in {environment_api_key} as {name}, expiring {expires_at}.
slots:
id: path.id
environment_api_key: path.environment_api_key
name: requestBody.name
expires_at: requestBody.expires_at
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/api-keys/{id}/'].delete
update:
x-apievangelist-phrasing:
intent: Delete a server-side SDK key
effect: destructive
questions:
- How do I revoke a leaked server-side SDK key?
- Can I delete an old server key from an environment?
instructions:
- text: Delete server-side key {id} from environment {environment_api_key}.
slots:
id: path.id
environment_api_key: path.environment_api_key
- text: Revoke server key {id} on {environment_api_key} now.
slots:
id: path.id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/api-keys/{id}/'].patch
update:
x-apievangelist-phrasing:
intent: Deactivate or rename a server-side SDK key
effect: write
questions:
- Can I deactivate a server key without deleting it?
- Is it possible to change only a server key's expiry date?
instructions:
- text: Set active to {active} on server key {id} in {environment_api_key}.
slots:
active: requestBody.active
id: path.id
environment_api_key: path.environment_api_key
- text: Move the expiry of server-side key {id} on {environment_api_key} to {expires_at}.
slots:
id: path.id
environment_api_key: path.environment_api_key
expires_at: requestBody.expires_at
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/'].get
update:
x-apievangelist-phrasing:
intent: List an environment's cohorts
effect: read
questions:
- What cohorts are defined in my environment?
- Can I see the membership counts of each cohort?
instructions:
- text: List cohorts in environment {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
- text: Show all cohorts on {environment_api_key} with their sizes.
slots:
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/'].post
update:
x-apievangelist-phrasing:
intent: Create a cohort and its managed segment
effect: write
questions:
- How do I create a cohort that flags can target as a segment?
- Does creating a cohort also create a segment for it?
instructions:
- text: Create cohort {name} in environment {environment_api_key}.
slots:
name: requestBody.name
environment_api_key: path.environment_api_key
- text: Add a cohort called {name} to {environment_api_key} described as {description}.
slots:
name: requestBody.name
environment_api_key: path.environment_api_key
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/{cohort_id}/'].get
update:
x-apievangelist-phrasing:
intent: Get a cohort
effect: read
questions:
- When was a cohort last synced and how many members does it have?
- Can I look up one cohort by ID?
instructions:
- text: Get cohort {cohort_id} in environment {environment_api_key}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
- text: Show last sync time and membership of cohort {cohort_id} on {environment_api_key}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/{cohort_id}/'].delete
update:
x-apievangelist-phrasing:
intent: Delete a cohort
effect: destructive
questions:
- What happens to identity data when I delete a cohort?
- How do I remove a cohort and its segment?
instructions:
- text: Delete cohort {cohort_id} from environment {environment_api_key}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
- text: Request removal of cohort {cohort_id} and its segment on {environment_api_key}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/{cohort_id}/'].patch
update:
x-apievangelist-phrasing:
intent: Rename or describe a cohort
effect: write
questions:
- Can I rename a cohort's managed segment?
- How do I update a cohort's description or metadata?
instructions:
- text: Rename cohort {cohort_id} in {environment_api_key} to {name}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
name: requestBody.name
- text: Set the description of cohort {cohort_id} on {environment_api_key} to {description}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/{cohort_id}/sync-csv/'].post
update:
x-apievangelist-phrasing:
intent: Replace cohort members from a CSV
effect: write
questions:
- How do I upload a CSV of user identifiers to set a cohort's members?
- Can I tell it which CSV column holds the identifiers and skip a header row?
instructions:
- text: Replace cohort {cohort_id} members in {environment_api_key} with the identifiers in {file}.
slots:
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
file: requestBody.file
- text: Sync {file} into cohort {cohort_id} on {environment_api_key} using column {identifier_column}, header {has_header}.
slots:
file: requestBody.file
cohort_id: path.cohort_id
environment_api_key: path.environment_api_key
identifier_column: requestBody.identifier_column
has_header: requestBody.has_header
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/sync-keys/'].get
update:
x-apievangelist-phrasing:
intent: List cohort sync keys
effect: read
questions:
- Which cohort sync keys exist for my environment?
- Can I see the prefixes of cohort sync keys I've issued?
instructions:
- text: List cohort sync keys for environment {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
- text: Show the sync key prefixes on {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/sync-keys/'].post
update:
x-apievangelist-phrasing:
intent: Create a cohort sync key
effect: write
questions:
- How do I get a key an external tool can use to sync cohorts?
- When can I see the plaintext of a new cohort sync key?
instructions:
- text: Create a cohort sync key named {name} for {environment_api_key}.
slots:
name: requestBody.name
environment_api_key: path.environment_api_key
- text: Issue sync key {name} on environment {environment_api_key} and show me the plaintext once.
slots:
name: requestBody.name
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/cohorts/sync-keys/{prefix}/'].delete
update:
x-apievangelist-phrasing:
intent: Revoke a cohort sync key
effect: destructive
questions:
- How do I revoke a cohort sync key that's no longer used?
- Can I cut off a sync integration by removing its key?
instructions:
- text: Revoke cohort sync key {prefix} on environment {environment_api_key}.
slots:
prefix: path.prefix
environment_api_key: path.environment_api_key
- text: Delete the sync key with prefix {prefix} from {environment_api_key}.
slots:
prefix: path.prefix
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/edge-identity-overrides'].get
update:
x-apievangelist-phrasing:
intent: List Edge identity overrides
effect: read
questions:
- Which identities have their own override for a flag on Edge?
- Can I filter Edge identity overrides to a single feature?
instructions:
- text: List Edge identity overrides in environment {environment_api_key}.
slots:
environment_api_key: path.environment_api_key
- text: Show identity overrides for feature {feature} on {environment_api_key}.
slots:
feature: query.feature
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiment-metrics/{id}/'].delete
update:
x-apievangelist-phrasing:
intent: Delete an environment experiment metric
effect: destructive
questions:
- How do I remove a metric definition from an environment's metric library?
- Can I delete an experiment metric I no longer track?
instructions:
- text: Delete experiment metric {id} from environment {environment_api_key}.
slots:
id: path.id
environment_api_key: path.environment_api_key
- text: Remove the metric definition {id} on {environment_api_key}.
slots:
id: path.id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiment-metrics/{id}/'].patch
update:
x-apievangelist-phrasing:
intent: Edit an environment experiment metric
effect: write
questions:
- Can I change how an experiment metric aggregates, like sum versus count?
- How do I flip a metric definition's desired direction?
instructions:
- text: Set aggregation of experiment metric {id} on {environment_api_key} to {aggregation}.
slots:
id: path.id
environment_api_key: path.environment_api_key
aggregation: requestBody.aggregation
- text: Change metric definition {id} in {environment_api_key} to direction {direction}.
slots:
id: path.id
environment_api_key: path.environment_api_key
direction: requestBody.direction
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/'].get
update:
x-apievangelist-phrasing:
intent: List an experiment's metrics
effect: read
questions:
- What metrics is a given experiment measuring?
- Can I see the expected direction for each metric on an experiment?
instructions:
- text: List metrics on experiment {experiment_experiment_id} in {environment_api_key}.
slots:
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
- text: Show what experiment {experiment_experiment_id} on {environment_api_key} is tracking.
slots:
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/'].post
update:
x-apievangelist-phrasing:
intent: Attach a metric to an experiment
effect: write
questions:
- How do I add a conversion metric to an experiment?
- Do I have to say whether a metric should go up or down when attaching it?
instructions:
- text: Attach metric {metric} to experiment {experiment_experiment_id} in {environment_api_key}, expecting {expected_direction}.
slots:
metric: requestBody.metric
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
expected_direction: requestBody.expected_direction
- text: Track metric {metric} on experiment {experiment_experiment_id}, {environment_api_key}, and expect it to move {expected_direction}.
slots:
metric: requestBody.metric
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
expected_direction: requestBody.expected_direction
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/{id}/'].get
update:
x-apievangelist-phrasing:
intent: Get one metric on an experiment
effect: read
questions:
- What's the expected direction for a specific metric on my experiment?
- Can I fetch one experiment metric link by ID?
instructions:
- text: Get metric {id} of experiment {experiment_experiment_id} in {environment_api_key}.
slots:
id: path.id
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
- text: Show experiment {experiment_experiment_id}'s metric {id} on {environment_api_key}.
slots:
id: path.id
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/{id}/'].put
update:
x-apievangelist-phrasing:
intent: Replace a metric on an experiment
effect: write
questions:
- How do I swap an experiment's metric for a different one?
- Does replacing an experiment metric require the expected direction again?
instructions:
- text: Replace metric {id} on experiment {experiment_experiment_id}, {environment_api_key}, with {metric} expecting {expected_direction}.
slots:
id: path.id
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
metric: requestBody.metric
expected_direction: requestBody.expected_direction
- text: Overwrite experiment {experiment_experiment_id} metric link {id} in {environment_api_key} to use {metric}, direction {expected_direction}.
slots:
experiment_experiment_id: path.experiment_experiment_id
id: path.id
environment_api_key: path.environment_api_key
metric: requestBody.metric
expected_direction: requestBody.expected_direction
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/{id}/'].delete
update:
x-apievangelist-phrasing:
intent: Detach a metric from an experiment
effect: destructive
questions:
- How do I stop an experiment measuring a particular metric?
- Can I detach a metric from one experiment without deleting its definition?
instructions:
- text: Detach metric {id} from experiment {experiment_experiment_id} in {environment_api_key}.
slots:
id: path.id
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
- text: Remove metric {id} from experiment {experiment_experiment_id} only, on {environment_api_key}.
slots:
id: path.id
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/{id}/'].patch
update:
x-apievangelist-phrasing:
intent: Change an experiment metric's direction
effect: write
questions:
- Can I change only the expected direction of a metric on an experiment?
- Is there a way to edit one field of an experiment's metric link?
instructions:
- text: Set expected direction of metric {id} on experiment {experiment_experiment_id}, {environment_api_key}, to {expected_direction}.
slots:
id: path.id
experiment_experiment_id: path.experiment_experiment_id
environment_api_key: path.environment_api_key
expected_direction: requestBody.expected_direction
- text: Patch experiment {experiment_experiment_id} metric {id} in {environment_api_key} to aggregate by {aggregation}.
slots:
experiment_experiment_id: path.experiment_experiment_id
id: path.id
environment_api_key: path.environment_api_key
aggregation: requestBody.aggregation
method: generated
generated: '2026-09-26'
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flagsmith/refs/heads/main/overlays/flagsmith-environments-api-phrasing-overlay.yaml
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/flagsmith-environments-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.