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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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.
All 92 tools →

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.