# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Statsig Gates API version: 1.0.0 extends: openapi/statsig-gates-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 56 - target: $.paths['/gates'].get update: x-apievangelist-phrasing: intent: List feature gates and their status effect: read questions: - Which feature gates exist in my Statsig project? - Can I page through all our feature flags with their current status? instructions: - text: List all feature gates in my project. - text: Show page {page} of feature gates, {limit} per page. slots: page: query.page limit: query.limit method: generated generated: '2026-09-26' - target: $.paths['/gates'].post update: x-apievangelist-phrasing: intent: Create a feature gate effect: write questions: - How do I create a new feature flag? - Can a new gate start out enabled with targeting rules already in place? - Is it possible to scope a new feature gate to certain target apps? instructions: - text: Create a feature gate named {name}. slots: name: requestBody.name - text: Create gate {name} with initial rules {rules}. slots: name: requestBody.name rules: requestBody.rules - text: Create feature gate {name} scoped to target apps {targetApps}. slots: name: requestBody.name targetApps: requestBody.targetApps method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}'].get update: x-apievangelist-phrasing: intent: Get a feature gate's full configuration effect: read questions: - What rules, conditions and overrides does a particular feature gate have? - Can I look up everything about one feature flag by its name? instructions: - text: Show the full configuration of feature gate {id}. slots: id: path.id - text: Get everything configured on gate {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a feature gate effect: destructive questions: - Can a deleted feature gate be recovered afterward? - What is the way to permanently remove a feature flag instead of archiving it? instructions: - text: Delete feature gate {id} permanently. slots: id: path.id - text: Remove gate {id} from the project for good. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}'].patch update: x-apievangelist-phrasing: intent: Update fields on an existing feature gate effect: write questions: - Can I change the description or tags on an existing feature gate? - How do I re-scope an existing gate to different target apps? instructions: - text: Update the description of gate {id} to {description}. slots: id: path.id description: requestBody.description - text: Set the tags on existing gate {id} to {tags}. slots: id: path.id tags: requestBody.tags - text: Change the target apps of gate {id} to {targetApps}. slots: id: path.id targetApps: requestBody.targetApps method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/enable'].put update: x-apievangelist-phrasing: intent: Enable a feature gate effect: write questions: - How do I turn a feature gate back on so its rules are evaluated? - Can I switch on a gate without editing its rules? instructions: - text: Enable feature gate {id}. slots: id: path.id - text: Turn on gate {id} so its rules start evaluating. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/disable'].put update: x-apievangelist-phrasing: intent: Disable a feature gate effect: write questions: - Can I kill-switch a feature so the gate returns false for everyone? - What happens to a gate's rules when it is disabled? instructions: - text: Disable feature gate {id}. slots: id: path.id - text: Turn off gate {id} so it fails for all users. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/launch'].put update: x-apievangelist-phrasing: intent: Mark a feature gate as fully launched effect: write questions: - How do I mark a feature as fully rolled out so its gate can be cleaned up? - Can I launch a feature gate once the rollout is complete? instructions: - text: Launch feature gate {id}. slots: id: path.id - text: Mark gate {id} as fully rolled out. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/archive'].put update: x-apievangelist-phrasing: intent: Archive a feature gate effect: write questions: - Can I retire a feature gate but keep its configuration for reference? - What does archiving a gate do compared to removing it entirely? instructions: - text: Archive feature gate {id}. slots: id: path.id - text: Take gate {id} out of active use but keep its configuration. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/rules'].get update: x-apievangelist-phrasing: intent: List the targeting rules on a feature gate effect: read questions: - What targeting rules are set on a specific feature gate? - Which conditions decide who passes a given gate? instructions: - text: List only the rules on gate {id}. slots: id: path.id - text: Show the targeting rules for feature gate {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/rules'].put update: x-apievangelist-phrasing: intent: Replace all rules on a feature gate effect: write questions: - Can I overwrite every targeting rule on a gate with a new set? - How do I replace a gate's whole rule list in one request? instructions: - text: Replace all rules on gate {id} with {rules}. slots: id: path.id rules: requestBody.rules - text: Overwrite the full rule set of feature gate {id} with {rules}. slots: id: path.id rules: requestBody.rules method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/rules'].post update: x-apievangelist-phrasing: intent: Add a targeting rule to a feature gate effect: write questions: - Can I add one more targeting rule to a gate without touching the existing ones? - Is it possible to roll a gate out to a percentage of users matching certain conditions? - Can a new gate rule apply only in specific environments? instructions: - text: Add a rule named {name} to gate {id} passing {passPercentage} percent of matching users. slots: name: requestBody.name id: path.id passPercentage: requestBody.passPercentage - text: Add a rule to gate {id} with conditions {conditions}. slots: id: path.id conditions: requestBody.conditions - text: Append a rule to gate {id} active only in environments {environments}. slots: id: path.id environments: requestBody.environments method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/rules/{ruleID}'].delete update: x-apievangelist-phrasing: intent: Remove one rule from a feature gate effect: destructive questions: - Can I remove just one targeting rule from a gate? - How do I drop a single outdated rule from a feature flag? instructions: - text: Delete rule {ruleID} from gate {id}. slots: ruleID: path.ruleID id: path.id - text: Remove targeting rule {ruleID} on feature gate {id}. slots: ruleID: path.ruleID id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/overrides'].get update: x-apievangelist-phrasing: intent: Get the overrides on a feature gate effect: read questions: - Which users are forced to pass or fail a gate through overrides? - What ID overrides are configured on a specific feature gate? instructions: - text: Show the user and ID overrides on gate {id}. slots: id: path.id - text: List who is overridden on feature gate {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/overrides'].put update: x-apievangelist-phrasing: intent: Replace all overrides on a feature gate effect: write questions: - Can I replace the entire override list on a gate with a new one? - Is there a way to reset a gate's overrides to exactly the set I provide? instructions: - text: Replace all user overrides on gate {id} with {userOverrides}. slots: id: path.id userOverrides: requestBody.userOverrides - text: Overwrite the ID overrides on gate {id} with {idOverrides}. slots: id: path.id idOverrides: requestBody.idOverrides method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/overrides'].post update: x-apievangelist-phrasing: intent: Add overrides to a feature gate effect: write questions: - How do I force a specific user to always pass a feature gate? - Can I add a few more override IDs to a gate while keeping the existing ones? instructions: - text: Add user overrides {userOverrides} to gate {id}. slots: userOverrides: requestBody.userOverrides id: path.id - text: Add custom ID overrides {idOverrides} to feature gate {id}. slots: idOverrides: requestBody.idOverrides id: path.id method: generated generated: '2026-09-26' - target: $.paths['/gates/{id}/overrides'].delete update: x-apievangelist-phrasing: intent: Remove all overrides from a feature gate effect: destructive questions: - Can I clear every user and ID override from a gate? - What removes all forced pass or fail results from a feature flag? instructions: - text: Delete all overrides on gate {id}. slots: id: path.id - text: Clear every user and ID override from feature gate {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/console/v1/gates'].get update: x-apievangelist-phrasing: intent: Search gates by team, type, creator or tag effect: read questions: - Can I filter my gates by owning team or by who created them? - Which gates sit in a particular release pipeline or target app? - Is there a way to include archived gates when browsing the gate list? instructions: - text: List gates owned by team {teamID}. slots: teamID: query.teamID - text: Find gates created by {creatorName} that are tagged {tags}. slots: creatorName: query.creatorName tags: query.tags - text: Show gates in release pipeline {releasePipelineID}, archived ones included. slots: releasePipelineID: query.releasePipelineID - text: Filter gates to unit ID type {idType} and gate type {type}. slots: idType: query.idType type: query.type method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates'].post update: x-apievangelist-phrasing: intent: Create a gate with team, ID type and pipeline effect: write questions: - Can a new gate be assigned to a team and a custom unit ID type when it is created? - Is it possible to attach a release pipeline to a gate at creation time? - Can I create a gate that is saved as a reusable template? instructions: - text: Create gate {name} owned by team {teamID} using ID type {idType}. slots: name: requestBody.name teamID: requestBody.teamID idType: requestBody.idType - text: Create gate {name} rolled out through release pipeline {releasePipelineID}. slots: name: requestBody.name releasePipelineID: requestBody.releasePipelineID - text: Create gate {name} that tracks monitoring metrics {monitoringMetrics} during rollout. slots: name: requestBody.name monitoringMetrics: requestBody.monitoringMetrics method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}'].get update: x-apievangelist-phrasing: intent: Read a gate with its team and archive metadata effect: read questions: - Can I read a gate together with its archive metadata? - What team, unit ID type and review settings does a particular gate carry? instructions: - text: Read gate {id} including its archive metadata. slots: id: path.id - text: Fetch the owning team, ID type and review settings of gate {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}'].post update: x-apievangelist-phrasing: intent: Fully replace a gate's definition effect: write questions: - Can I resend a gate's complete definition, including rules and enabled state, in one call? - Does a full gate update also let me change the owning team and review settings? instructions: - text: Fully update gate {id} with description {description}, rules {rules} and enabled set to {isEnabled}. slots: id: path.id description: requestBody.description rules: requestBody.rules isEnabled: requestBody.isEnabled - text: Overwrite every setting on gate {id} and move it to team {teamID}. slots: id: path.id teamID: requestBody.teamID method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a gate through the Console API effect: destructive questions: - Can I delete a gate using the Console API v1 endpoint? - What is the console call that erases a gate rather than archiving it? instructions: - text: Delete gate {id} via the Console API. slots: id: path.id - text: Erase gate {id} and its configuration using Console v1. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}'].patch update: x-apievangelist-phrasing: intent: Change selected settings on a gate effect: write questions: - Can I change only a gate's ID type or owning team without resending its rules? - Is it possible to update just the monitoring metrics or review settings of a gate? instructions: - text: Change the owning team of gate {id} to {teamID}. slots: id: path.id teamID: requestBody.teamID - text: Update the review settings on gate {id} to {reviewSettings}. slots: id: path.id reviewSettings: requestBody.reviewSettings - text: Set the monitoring metrics of gate {id} to {monitoringMetrics}. slots: id: path.id monitoringMetrics: requestBody.monitoringMetrics method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/alerts/{metricId}/resolve'].post update: x-apievangelist-phrasing: intent: Resolve a metric alert raised during a gate rollout effect: write questions: - What clears a metric alert that fired while a gate was rolling out? - Can I record my reasoning when resolving a rollout alert on a gate? instructions: - text: Resolve the rollout alert for metric {metricId} on gate {id}. slots: metricId: path.metricId id: path.id - text: Mark metric {metricId}'s alert on gate {id} resolved with reasoning {reasoning}. slots: metricId: path.metricId id: path.id reasoning: requestBody.reasoning method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/archive'].put update: x-apievangelist-phrasing: intent: Archive a gate with a recorded reason effect: write questions: - Can I archive a gate and note why it was archived? - Is there a force option when archiving a gate? instructions: - text: Archive gate {id} with reason {archiveReason}. slots: id: path.id archiveReason: requestBody.archiveReason - text: Force-archive gate {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/checks'].get update: x-apievangelist-phrasing: intent: See how often a gate is being checked effect: read questions: - How many times has a particular gate been checked? - Can I see the check volume recorded for one gate? instructions: - text: Show the check data for gate {id}. slots: id: path.id - text: Read the gate checks recorded for {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/code_cleanup'].post update: x-apievangelist-phrasing: intent: Start code cleanup for a gate effect: write questions: - Can Statsig kick off code cleanup for a gate I am finished with? - What starts removing a retired gate's references from our codebase? instructions: - text: Start code cleanup for gate {id}. slots: id: path.id - text: Kick off the code cleanup job for gate {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/disable'].put update: x-apievangelist-phrasing: intent: Disable a gate through the Console API effect: write questions: - Which Console API v1 call switches a gate off? - Can I disable a gate and get the updated gate back with archive metadata? instructions: - text: Disable gate {id} via the Console API. slots: id: path.id - text: Switch off gate {id} and return it with archive metadata. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/dynamic_config_references'].get update: x-apievangelist-phrasing: intent: List dynamic configs that reference a gate effect: read questions: - Which dynamic configs reference a given gate? - Can I check whether any dynamic config depends on a gate before I remove it? instructions: - text: List dynamic configs that reference gate {id}. slots: id: path.id - text: Show page {page} of dynamic config references to gate {id}. slots: page: query.page id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/eligible_reviewers'].get update: x-apievangelist-phrasing: intent: List who can review changes to a gate effect: read questions: - Who is allowed to review changes to a particular gate? - Which people can I pick as reviewers for a gate change request? instructions: - text: List eligible reviewers for gate {id}. slots: id: path.id - text: Show who can approve changes to gate {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/enable'].put update: x-apievangelist-phrasing: intent: Enable a gate through the Console API effect: write questions: - Is there a Console API v1 endpoint to turn a gate on? - Can I enable a gate and receive it back including archive metadata? instructions: - text: Enable gate {id} via the Console API. slots: id: path.id - text: Turn gate {id} on and include archive metadata in the result. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/experiment_references'].get update: x-apievangelist-phrasing: intent: List experiments that reference a gate effect: read questions: - Which experiments are referencing a given gate? - Can I find out if an experiment still relies on a gate before cleaning it up? instructions: - text: List experiments that reference gate {id}. slots: id: path.id - text: Show page {page} of experiment references to gate {id}, {limit} at a time. slots: page: query.page id: path.id limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/gate_references'].get update: x-apievangelist-phrasing: intent: List other gates that reference a gate effect: read questions: - Which other gates use this gate in their conditions? - Can I see gate-to-gate dependencies for one feature gate? instructions: - text: List gates that reference gate {id}. slots: id: path.id - text: Show which gates depend on gate {id}, page {page}. slots: id: path.id page: query.page method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/launch'].put update: x-apievangelist-phrasing: intent: Launch a gate through the Console API effect: write questions: - Which Console API v1 call marks a gate as launched? - Can I launch a gate and get it back with archive metadata attached? instructions: - text: Launch gate {id} via the Console API. slots: id: path.id - text: Ship gate {id} to everyone and return it with archive metadata. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/load_pulse'].post update: x-apievangelist-phrasing: intent: Load Pulse metric results for a gate rule effect: write questions: - Can I trigger a Pulse metric load for one rule of a gate? - Is it possible to load gate Pulse results for only certain metrics or in turbo mode? instructions: - text: Load Pulse for rule {ruleId} on gate {id}. slots: ruleId: requestBody.ruleId id: path.id - text: Refresh Pulse for gate {id} rule {ruleId} with metrics {metricIDs}. slots: id: path.id ruleId: requestBody.ruleId metricIDs: requestBody.metricIDs method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/overrides'].get update: x-apievangelist-phrasing: intent: Read a gate's overrides through the Console API effect: read questions: - Can I read a gate's overrides through the Console API v1? - What overrides are currently forcing results on one gate, per the console endpoint? instructions: - text: Get the overrides on gate {id} via the Console API. slots: id: path.id - text: Read the Console v1 override list for gate {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/overrides'].post update: x-apievangelist-phrasing: intent: Replace a gate's overrides through the Console API effect: write questions: - Which Console API v1 call replaces the whole override set on a gate? - Can I swap out a gate's overrides entirely using the console endpoint? instructions: - text: Replace the overrides on gate {id} via the Console API. slots: id: path.id - text: Overwrite gate {id}'s override set using Console v1. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/overrides'].delete update: x-apievangelist-phrasing: intent: Clear a gate's overrides through the Console API effect: destructive questions: - Which Console API v1 call wipes every override from a gate? - Can I clear all forced results on a gate with the console endpoint? instructions: - text: Delete all overrides on gate {id} via the Console API. slots: id: path.id - text: Wipe the override list of gate {id} using Console v1. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/overrides'].patch update: x-apievangelist-phrasing: intent: Append overrides to a gate through the Console API effect: write questions: - Can I append overrides to a gate through the Console API v1 without losing existing ones? - Which console call adds extra forced results to a gate? instructions: - text: Add overrides to gate {id} via the Console API. slots: id: path.id - text: Append new entries to gate {id}'s overrides using Console v1. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/overrides/userID/{userID}'].delete update: x-apievangelist-phrasing: intent: Remove one user ID override from a gate effect: destructive questions: - Can I remove just one user ID from a gate's pass or fail override list? - What happens if I remove a user override that is not actually set on the gate? instructions: - text: Remove user {userID} from the {groupID} override bucket on gate {id}. slots: userID: path.userID groupID: query.groupID id: path.id - text: Stop overriding user {userID} on gate {id} in group {groupID}. slots: userID: path.userID id: path.id groupID: query.groupID method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews'].get update: x-apievangelist-phrasing: intent: List change reviews on a gate effect: read questions: - Which change reviews have been requested on a gate? - Can I page through the review history of one feature gate? instructions: - text: List the change reviews on gate {id}. slots: id: path.id - text: Show page {page} of reviews for gate {id}. slots: page: query.page id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews'].post update: x-apievangelist-phrasing: intent: Request a review of a gate change effect: write questions: - Can I submit a gate change for approval before it goes live? - Is it possible to name specific reviewers or reviewer groups on a gate change request? instructions: - text: Request review of change {change} on gate {id} described as {description}. slots: change: requestBody.change id: path.id description: requestBody.description - text: Open a review on gate {id} for {change}, assigned to reviewers {reviewer_ids}. slots: id: path.id change: requestBody.change reviewer_ids: requestBody.reviewer_ids method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews/{reviewID}'].get update: x-apievangelist-phrasing: intent: Get one review on a gate effect: read questions: - What is the status of a specific change review on a gate? - Can I look up one gate review to see what change it proposes? instructions: - text: Get review {reviewID} on gate {id}. slots: reviewID: path.reviewID id: path.id - text: Show the proposed change in review {reviewID} for gate {id}. slots: reviewID: path.reviewID id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews/{reviewID}'].put update: x-apievangelist-phrasing: intent: Edit a pending gate review effect: write questions: - Can I change the reviewers on a gate review that is already open? - Is it possible to revise the proposed change in a pending gate review? instructions: - text: Set the reviewers on review {reviewID} for gate {id} to {reviewer_ids}. slots: reviewID: path.reviewID id: path.id reviewer_ids: requestBody.reviewer_ids - text: Rewrite the summary text of pending review {reviewID} on gate {id} as {description}. slots: id: path.id reviewID: path.reviewID description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews/{reviewID}'].delete update: x-apievangelist-phrasing: intent: Cancel a pending gate review effect: destructive questions: - Can I withdraw a gate change request that is still waiting for review? - What cancels a gate review I no longer need? instructions: - text: Cancel review {reviewID} on gate {id}. slots: reviewID: path.reviewID id: path.id - text: Withdraw gate {id}'s pending review {reviewID}. slots: id: path.id reviewID: path.reviewID method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews/{reviewID}/approve'].put update: x-apievangelist-phrasing: intent: Approve a gate change review effect: write questions: - Can I approve a teammate's proposed gate change through the API? - Is there a way to leave a reason when approving a gate review? instructions: - text: Approve review {reviewID} on gate {id}. slots: reviewID: path.reviewID id: path.id - text: Approve gate {id} review {reviewID} with reason {reason}. slots: id: path.id reviewID: path.reviewID reason: requestBody.reason method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews/{reviewID}/commit'].put update: x-apievangelist-phrasing: intent: Commit an approved gate change effect: write questions: - Once a gate review is approved, what applies the change? - Can I commit an approved gate change so it takes effect? instructions: - text: Commit review {reviewID} on gate {id}. slots: reviewID: path.reviewID id: path.id - text: Apply the approved change from review {reviewID} to gate {id}. slots: reviewID: path.reviewID id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/reviews/{reviewID}/reject'].put update: x-apievangelist-phrasing: intent: Reject a gate change review effect: write questions: - Can I turn down a proposed gate change and explain why? - Is a reason required when rejecting a gate review? instructions: - text: Reject review {reviewID} on gate {id} because {reason}. slots: reviewID: path.reviewID id: path.id reason: requestBody.reason - text: Decline gate {id} change request {reviewID} with reason {reason}. slots: id: path.id reviewID: path.reviewID reason: requestBody.reason method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/rule'].post update: x-apievangelist-phrasing: intent: Add a rule to a gate through the Console API effect: write questions: - Which Console API v1 call adds a single rule to a gate? - Can a new console gate rule be based on an existing rule's ID? instructions: - text: Add rule {name} to gate {id} via the Console API, passing {passPercentage} percent when {conditions} match. slots: name: requestBody.name id: path.id passPercentage: requestBody.passPercentage conditions: requestBody.conditions - text: Add console rule {name} to gate {id} based on rule {baseID} at {passPercentage} percent with conditions {conditions}. slots: name: requestBody.name id: path.id baseID: requestBody.baseID passPercentage: requestBody.passPercentage conditions: requestBody.conditions method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/rules'].get update: x-apievangelist-phrasing: intent: Read a gate's rules through the Console API effect: read questions: - Can I read a gate's rules through the Console API v1? - Which console endpoint returns just the rule list of a gate? instructions: - text: Read the rules of gate {id} via the Console API. slots: id: path.id - text: Get gate {id}'s rule list using Console v1. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/rules/{ruleID}'].delete update: x-apievangelist-phrasing: intent: Delete a gate rule through the Console API effect: destructive questions: - Which Console API v1 call removes one rule from a gate? - Can I delete a single gate rule with the console endpoint? instructions: - text: Delete rule {ruleID} from gate {id} via the Console API. slots: ruleID: path.ruleID id: path.id - text: Drop gate {id}'s rule {ruleID} using Console v1. slots: id: path.id ruleID: path.ruleID method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/rules/{ruleID}'].patch update: x-apievangelist-phrasing: intent: Edit one existing rule on a gate effect: write questions: - Can I change the pass percentage of one existing gate rule? - Is it possible to edit the conditions of a single rule without touching the others? instructions: - text: Change rule {ruleID} on gate {id} to pass {passPercentage} percent. slots: ruleID: path.ruleID id: path.id passPercentage: requestBody.passPercentage - text: Update the conditions of rule {ruleID} on gate {id} to {conditions}. slots: ruleID: path.ruleID id: path.id conditions: requestBody.conditions method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/rules/{ruleID}/pulse_load_history'].get update: x-apievangelist-phrasing: intent: Show Pulse load history for a gate rule effect: read questions: - When were Pulse results last loaded for a warehouse native gate rule? - Can I see the history of Pulse loads on one rule of a gate? instructions: - text: Show the Pulse load history for rule {ruleID} on gate {id}. slots: ruleID: path.ruleID id: path.id - text: List past Pulse loads for gate {id} rule {ruleID}, page {page}. slots: id: path.id ruleID: path.ruleID page: query.page method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/rules/{ruleID}/pulse_results'].get update: x-apievangelist-phrasing: intent: Get Pulse metric results for a gate rule effect: read questions: - What impact did a gate rule's rollout have on our metrics? - Can I get gate Pulse results with CUPED variance reduction or a custom confidence level? instructions: - text: Get Pulse results for rule {ruleID} on gate {id}. slots: ruleID: path.ruleID id: path.id - text: Show gate {id} rule {ruleID} Pulse results at {confidence} confidence with CUPED {cuped}. slots: id: path.id ruleID: path.ruleID confidence: query.confidence cuped: query.cuped method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/unarchive'].put update: x-apievangelist-phrasing: intent: Restore an archived gate effect: write questions: - Can I bring an archived gate back into active use? - Is there a way to note why a gate was unarchived? instructions: - text: Unarchive gate {id}. slots: id: path.id - text: Restore archived gate {id} with reason {unarchiveReason}. slots: id: path.id unarchiveReason: requestBody.unarchiveReason method: generated generated: '2026-10-01' - target: $.paths['/console/v1/gates/{id}/versions'].get update: x-apievangelist-phrasing: intent: List the version history of a gate effect: read questions: - What changes have been made to a gate over time? - Can I see a gate's past versions between two dates? instructions: - text: List the versions of gate {id}. slots: id: path.id - text: Show gate {id} versions from {startDate} to {endDate}. slots: id: path.id startDate: query.startDate endDate: query.endDate method: generated generated: '2026-10-01'