# 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' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/'].delete update: x-apievangelist-phrasing: intent: Delete an experiment effect: destructive questions: - How do I delete an experiment I set up by mistake? - Can I remove an experiment from an environment entirely? instructions: - text: Delete experiment {experiment_id} from environment {environment_api_key}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key - text: Remove experiment {experiment_id} on {environment_api_key} permanently. slots: experiment_id: path.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_id}/'].patch update: x-apievangelist-phrasing: intent: Edit an experiment's name or hypothesis effect: write questions: - Can I update the hypothesis of an experiment? - How do I rename an experiment? instructions: - text: Set the hypothesis of experiment {experiment_id} in {environment_api_key} to {hypothesis}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key hypothesis: requestBody.hypothesis - text: Rename experiment {experiment_id} on {environment_api_key} to {name}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/complete/'].post update: x-apievangelist-phrasing: intent: Complete an experiment effect: write questions: - How do I mark an experiment as finished? - Can I end an experiment once I have a result? instructions: - text: Complete experiment {experiment_id} in {environment_api_key}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key - text: End experiment {experiment_id} named {name} with hypothesis {hypothesis} on {environment_api_key}. slots: experiment_id: path.experiment_id name: requestBody.name hypothesis: requestBody.hypothesis environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/exposures/refresh/'].post update: x-apievangelist-phrasing: intent: Refresh an experiment's exposure data effect: write questions: - How do I recompute how many users were exposed to each variant? - Can I force an update of experiment exposure counts? instructions: - text: Refresh exposures for experiment {experiment_id} in {environment_api_key}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key - text: Recompute variant exposures of experiment {experiment_id} on feature {feature}, {environment_api_key}. slots: experiment_id: path.experiment_id feature: requestBody.feature environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/pause/'].post update: x-apievangelist-phrasing: intent: Pause an experiment effect: write questions: - How do I temporarily stop an experiment from running? - Can I pause an experiment and resume later? instructions: - text: Pause experiment {experiment_id} in {environment_api_key}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key - text: Put experiment {experiment_id} on hold in environment {environment_api_key}. slots: experiment_id: path.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_id}/results/refresh/'].post update: x-apievangelist-phrasing: intent: Refresh an experiment's results effect: write questions: - How do I recalculate an experiment's results with the latest data? - Can I trigger a fresh results computation for one experiment? instructions: - text: Refresh results for experiment {experiment_id} in {environment_api_key}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key - text: Recalculate outcomes of experiment {experiment_id} on feature {feature}, {environment_api_key}. slots: experiment_id: path.experiment_id feature: requestBody.feature environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/rollout/'].patch update: x-apievangelist-phrasing: intent: Set an experiment's rollout and audience effect: write questions: - What percentage of eligible users should enter my experiment, and how do I set it? - Can I change an experiment's target audience after it starts serving traffic? - How are variant weights set for an experiment rollout? instructions: - text: Roll experiment {experiment_id} in {environment_api_key} out to {rollout_percentage} percent of identities. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key rollout_percentage: requestBody.rollout_percentage - text: Target experiment {experiment_id} on {environment_api_key} at audience {audience} with variant weights {multivariate_feature_state_values}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key audience: requestBody.audience multivariate_feature_state_values: requestBody.multivariate_feature_state_values method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/start/'].post update: x-apievangelist-phrasing: intent: Start an experiment effect: write questions: - How do I launch an experiment so it begins serving variants? - Can I start a paused or draft experiment? instructions: - text: Start experiment {experiment_id} in {environment_api_key}. slots: experiment_id: path.experiment_id environment_api_key: path.environment_api_key - text: Launch experiment {experiment_id} named {name} testing {hypothesis} on {environment_api_key}. slots: experiment_id: path.experiment_id name: requestBody.name hypothesis: requestBody.hypothesis environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/experiments/results/'].get update: x-apievangelist-phrasing: intent: Get A/B test results for a feature effect: read questions: - Which variant of my flag is converting better, and is it statistically significant? - What traits do I need to set so variant and conversion tracking works? instructions: - text: Show experiment results for feature {feature} in environment {environment_api_key}. slots: feature: query.feature environment_api_key: path.environment_api_key - text: Compare conversion rates per variant of {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}/metrics/'].get update: x-apievangelist-phrasing: intent: Get usage metrics for an environment effect: read questions: - What are the headline metrics for my environment? - Can I page through an environment's metrics? instructions: - text: Get metrics for environment {environment_api_key}. slots: environment_api_key: path.environment_api_key - text: Show page {page} of {environment_api_key}'s environment metrics. slots: page: query.page environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/onboarding-status/'].get update: x-apievangelist-phrasing: intent: Check if an environment's flags were evaluated effect: read questions: - Has my app evaluated any flags in this environment yet? - How can I tell whether SDK setup is working for a new environment? instructions: - text: Check onboarding status for environment {environment_api_key}. slots: environment_api_key: path.environment_api_key - text: Tell me whether features in {environment_api_key} have been evaluated yet. slots: environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/'].get update: x-apievangelist-phrasing: intent: List data warehouse connections effect: read questions: - Which data warehouses are connected to my environment? - Can I see the status of each warehouse connection? instructions: - text: List warehouse connections for environment {environment_api_key}. slots: environment_api_key: path.environment_api_key - text: Show every data warehouse hooked up to {environment_api_key} and its status. slots: environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/'].post update: x-apievangelist-phrasing: intent: Connect a data warehouse effect: write questions: - How do I connect my data warehouse to an environment for experiment data? - What do I have to supply when adding a warehouse connection? instructions: - text: Connect a {warehouse_type} warehouse to environment {environment_api_key}. slots: warehouse_type: requestBody.warehouse_type environment_api_key: path.environment_api_key - text: Add warehouse connection {name} of type {warehouse_type} to {environment_api_key} using config {config} and credentials {credentials}. slots: name: requestBody.name warehouse_type: requestBody.warehouse_type environment_api_key: path.environment_api_key config: requestBody.config credentials: requestBody.credentials method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/'].get update: x-apievangelist-phrasing: intent: Get a data warehouse connection effect: read questions: - How many events has a warehouse connection received so far? - Can I check one warehouse connection's status detail? instructions: - text: Get warehouse connection {connection_id} in {environment_api_key}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key - text: Show event totals and status for connection {connection_id} on {environment_api_key}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/'].put update: x-apievangelist-phrasing: intent: Replace a data warehouse connection effect: write questions: - How do I fully reconfigure a warehouse connection? - Does replacing a warehouse connection require its type again? instructions: - text: Replace warehouse connection {connection_id} on {environment_api_key} as type {warehouse_type}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key warehouse_type: requestBody.warehouse_type - text: Overwrite connection {connection_id} in {environment_api_key} with {warehouse_type} config {config}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key warehouse_type: requestBody.warehouse_type config: requestBody.config method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/'].delete update: x-apievangelist-phrasing: intent: Delete a data warehouse connection effect: destructive questions: - How do I disconnect a data warehouse from an environment? - Can I delete a warehouse connection I set up wrong? instructions: - text: Delete warehouse connection {connection_id} from {environment_api_key}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key - text: Disconnect warehouse {connection_id} on environment {environment_api_key}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/'].patch update: x-apievangelist-phrasing: intent: Edit a data warehouse connection effect: write questions: - Can I rotate just the credentials on a warehouse connection? - Is there a way to rename a warehouse connection only? instructions: - text: Update credentials of warehouse connection {connection_id} on {environment_api_key} to {credentials}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key credentials: requestBody.credentials - text: Rename connection {connection_id} in {environment_api_key} to {name}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/events/'].get update: x-apievangelist-phrasing: intent: List event names in a connected warehouse effect: read questions: - What distinct event names exist in my connected warehouse? - Which warehouse events could I use as experiment metrics? instructions: - text: List event names in warehouse connection {connection_id} on {environment_api_key}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key - text: Show the distinct events available from connection {connection_id}, {environment_api_key}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/test-warehouse-connection/'].post update: x-apievangelist-phrasing: intent: Test a saved warehouse connection effect: read questions: - How do I check an existing warehouse connection still works? - Can I re-test a saved connection after changing credentials? instructions: - text: Test saved warehouse connection {connection_id} on {environment_api_key} as type {warehouse_type}. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key warehouse_type: requestBody.warehouse_type - text: Verify existing connection {connection_id} in {environment_api_key} can reach the {warehouse_type} warehouse. slots: connection_id: path.connection_id environment_api_key: path.environment_api_key warehouse_type: requestBody.warehouse_type method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/{environment_api_key}/warehouse-connections/test-warehouse-connection/'].post update: x-apievangelist-phrasing: intent: Test warehouse settings before saving effect: read questions: - Can I try out warehouse credentials before creating the connection? - How do I validate a warehouse config without saving it? instructions: - text: Test an unsaved {warehouse_type} warehouse config {config} for {environment_api_key}. slots: warehouse_type: requestBody.warehouse_type config: requestBody.config environment_api_key: path.environment_api_key - text: Before saving, check {warehouse_type} credentials {credentials} work for environment {environment_api_key}. slots: warehouse_type: requestBody.warehouse_type credentials: requestBody.credentials environment_api_key: path.environment_api_key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/get-by-uuid/{uuid}/'].get update: x-apievangelist-phrasing: intent: Look up an environment by UUID effect: read questions: - Can I find an environment when I only have its UUID, not its API key? - Which endpoint resolves an environment UUID? instructions: - text: Get the environment with UUID {uuid}. slots: uuid: path.uuid - text: Resolve environment UUID {uuid} to its details. slots: uuid: path.uuid method: generated generated: '2026-09-26' - target: $.paths['/api/v1/environments/permissions/'].get update: x-apievangelist-phrasing: intent: List available environment permissions effect: read questions: - What permission types can be granted on an environment? - Which environment-level permissions exist for roles and groups? instructions: - text: List the permissions that can be assigned on environments. - text: Show page {page} of available environment permissions. slots: page: query.page method: generated generated: '2026-09-26'