statsig Gates API

Manage feature gates including creation, updates, rules, overrides, enabling, disabling, launching, and archiving.

Business capability
Feature Flag Management BC-4210.50

Operations 56

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /gates List feature gates and their status · List all gates #
Ask an LLM
“Which feature gates exist in my Statsig project?”
“Can I page through all our feature flags with their current status?”
Tell an agent
List all feature gates in my project.
Show page {page} of feature gates, {limit} per page.
POST /gates Create a feature gate · Create a gate #
Ask an LLM
“How do I create a new feature flag?”
“Can a new gate start out enabled with targeting rules already in place?”
Tell an agent
Create a feature gate named {name}.
Create gate {name} with initial rules {rules}.
GET /gates/{id} Get a feature gate's full configuration · Get a gate #
Ask an LLM
“What rules, conditions and overrides does a particular feature gate have?”
“Can I look up everything about one feature flag by its name?”
Tell an agent
Show the full configuration of feature gate {id}.
Get everything configured on gate {id}.
PATCH /gates/{id} Update fields on an existing feature gate · Partially update a gate #
Ask an LLM
“Can I change the description or tags on an existing feature gate?”
“How do I re-scope an existing gate to different target apps?”
Tell an agent
Update the description of gate {id} to {description}.
Set the tags on existing gate {id} to {tags}.
DELETE /gates/{id} Delete a feature gate · Delete a gate #
Ask an LLM
“Can a deleted feature gate be recovered afterward?”
“What is the way to permanently remove a feature flag instead of archiving it?”
Tell an agent destructive · confirm first
Delete feature gate {id} permanently.
Remove gate {id} from the project for good.
PUT /gates/{id}/enable Enable a feature gate · Enable a gate #
Ask an LLM
“How do I turn a feature gate back on so its rules are evaluated?”
“Can I switch on a gate without editing its rules?”
Tell an agent
Enable feature gate {id}.
Turn on gate {id} so its rules start evaluating.
PUT /gates/{id}/disable Disable a feature gate · Disable a gate #
Ask an LLM
“Can I kill-switch a feature so the gate returns false for everyone?”
“What happens to a gate's rules when it is disabled?”
Tell an agent
Disable feature gate {id}.
Turn off gate {id} so it fails for all users.
PUT /gates/{id}/launch Mark a feature gate as fully launched · Launch a gate #
Ask an LLM
“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?”
Tell an agent
Launch feature gate {id}.
Mark gate {id} as fully rolled out.
PUT /gates/{id}/archive Archive a feature gate · Archive a gate #
Ask an LLM
“Can I retire a feature gate but keep its configuration for reference?”
“What does archiving a gate do compared to removing it entirely?”
Tell an agent
Archive feature gate {id}.
Take gate {id} out of active use but keep its configuration.
GET /gates/{id}/rules List the targeting rules on a feature gate · List gate rules #
Ask an LLM
“What targeting rules are set on a specific feature gate?”
“Which conditions decide who passes a given gate?”
Tell an agent
List only the rules on gate {id}.
Show the targeting rules for feature gate {id}.
POST /gates/{id}/rules Add a targeting rule to a feature gate · Add a gate rule #
Ask an LLM
“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?”
Tell an agent
Add a rule named {name} to gate {id} passing {passPercentage} percent of matching users.
Add a rule to gate {id} with conditions {conditions}.
PUT /gates/{id}/rules Replace all rules on a feature gate · Update gate rules #
Ask an LLM
“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?”
Tell an agent
Replace all rules on gate {id} with {rules}.
Overwrite the full rule set of feature gate {id} with {rules}.
DELETE /gates/{id}/rules/{ruleID} Remove one rule from a feature gate · Delete a gate rule #
Ask an LLM
“Can I remove just one targeting rule from a gate?”
“How do I drop a single outdated rule from a feature flag?”
Tell an agent destructive · confirm first
Delete rule {ruleID} from gate {id}.
Remove targeting rule {ruleID} on feature gate {id}.
GET /gates/{id}/overrides Get the overrides on a feature gate · Get gate overrides #
Ask an LLM
“Which users are forced to pass or fail a gate through overrides?”
“What ID overrides are configured on a specific feature gate?”
Tell an agent
Show the user and ID overrides on gate {id}.
List who is overridden on feature gate {id}.
POST /gates/{id}/overrides Add overrides to a feature gate · Add gate overrides #
Ask an LLM
“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?”
Tell an agent
Add user overrides {userOverrides} to gate {id}.
Add custom ID overrides {idOverrides} to feature gate {id}.
PUT /gates/{id}/overrides Replace all overrides on a feature gate · Update gate overrides #
Ask an LLM
“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?”
Tell an agent
Replace all user overrides on gate {id} with {userOverrides}.
Overwrite the ID overrides on gate {id} with {idOverrides}.
DELETE /gates/{id}/overrides Remove all overrides from a feature gate · Delete gate overrides #
Ask an LLM
“Can I clear every user and ID override from a gate?”
“What removes all forced pass or fail results from a feature flag?”
Tell an agent destructive · confirm first
Delete all overrides on gate {id}.
Clear every user and ID override from feature gate {id}.
GET /console/v1/gates Search gates by team, type, creator or tag · List Gates #
Ask an LLM
“Can I filter my gates by owning team or by who created them?”
“Which gates sit in a particular release pipeline or target app?”
Tell an agent
List gates owned by team {teamID}.
Find gates created by {creatorName} that are tagged {tags}.
POST /console/v1/gates Create a gate with team, ID type and pipeline · Create Gate #
Ask an LLM
“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?”
Tell an agent
Create gate {name} owned by team {teamID} using ID type {idType}.
Create gate {name} rolled out through release pipeline {releasePipelineID}.
GET /console/v1/gates/{id} Read a gate with its team and archive metadata · Read Gate #
Ask an LLM
“Can I read a gate together with its archive metadata?”
“What team, unit ID type and review settings does a particular gate carry?”
Tell an agent
Read gate {id} including its archive metadata.
Fetch the owning team, ID type and review settings of gate {id}.
POST /console/v1/gates/{id} Fully replace a gate's definition · Fully Update Gates #
Ask an LLM
“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?”
Tell an agent
Fully update gate {id} with description {description}, rules {rules} and enabled set to {isEnabled}.
Overwrite every setting on gate {id} and move it to team {teamID}.
PATCH /console/v1/gates/{id} Change selected settings on a gate · Partially Update Gates #
Ask an LLM
“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?”
Tell an agent
Change the owning team of gate {id} to {teamID}.
Update the review settings on gate {id} to {reviewSettings}.
DELETE /console/v1/gates/{id} Delete a gate through the Console API · Delete Gates #
Ask an LLM
“Can I delete a gate using the Console API v1 endpoint?”
“What is the console call that erases a gate rather than archiving it?”
Tell an agent destructive · confirm first
Delete gate {id} via the Console API.
Erase gate {id} and its configuration using Console v1.
POST /console/v1/gates/{id}/alerts/{metricId}/resolve Resolve a metric alert raised during a gate rollout · Resolve Metric Rollout Alert #
Ask an LLM
“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?”
Tell an agent
Resolve the rollout alert for metric {metricId} on gate {id}.
Mark metric {metricId}'s alert on gate {id} resolved with reasoning {reasoning}.
PUT /console/v1/gates/{id}/archive Archive a gate with a recorded reason · Archive Gate #
Ask an LLM
“Can I archive a gate and note why it was archived?”
“Is there a force option when archiving a gate?”
Tell an agent
Archive gate {id} with reason {archiveReason}.
Force-archive gate {id}.
GET /console/v1/gates/{id}/checks See how often a gate is being checked · Read Gate Checks #
Ask an LLM
“How many times has a particular gate been checked?”
“Can I see the check volume recorded for one gate?”
Tell an agent
Show the check data for gate {id}.
Read the gate checks recorded for {id}.
POST /console/v1/gates/{id}/code_cleanup Start code cleanup for a gate · Start Gate Code Cleanup #
Ask an LLM
“Can Statsig kick off code cleanup for a gate I am finished with?”
“What starts removing a retired gate's references from our codebase?”
Tell an agent
Start code cleanup for gate {id}.
Kick off the code cleanup job for gate {id}.
PUT /console/v1/gates/{id}/disable Disable a gate through the Console API · Disable Gate #
Ask an LLM
“Which Console API v1 call switches a gate off?”
“Can I disable a gate and get the updated gate back with archive metadata?”
Tell an agent
Disable gate {id} via the Console API.
Switch off gate {id} and return it with archive metadata.
GET /console/v1/gates/{id}/dynamic_config_references List dynamic configs that reference a gate · List Dynamic Config References #
Ask an LLM
“Which dynamic configs reference a given gate?”
“Can I check whether any dynamic config depends on a gate before I remove it?”
Tell an agent
List dynamic configs that reference gate {id}.
Show page {page} of dynamic config references to gate {id}.
GET /console/v1/gates/{id}/eligible_reviewers List who can review changes to a gate · Get Eligible Reviewers #
Ask an LLM
“Who is allowed to review changes to a particular gate?”
“Which people can I pick as reviewers for a gate change request?”
Tell an agent
List eligible reviewers for gate {id}.
Show who can approve changes to gate {id}.
PUT /console/v1/gates/{id}/enable Enable a gate through the Console API · Enable Gate #
Ask an LLM
“Is there a Console API v1 endpoint to turn a gate on?”
“Can I enable a gate and receive it back including archive metadata?”
Tell an agent
Enable gate {id} via the Console API.
Turn gate {id} on and include archive metadata in the result.
GET /console/v1/gates/{id}/experiment_references List experiments that reference a gate · List Experiment References #
Ask an LLM
“Which experiments are referencing a given gate?”
“Can I find out if an experiment still relies on a gate before cleaning it up?”
Tell an agent
List experiments that reference gate {id}.
Show page {page} of experiment references to gate {id}, {limit} at a time.
GET /console/v1/gates/{id}/gate_references List other gates that reference a gate · List Gate References #
Ask an LLM
“Which other gates use this gate in their conditions?”
“Can I see gate-to-gate dependencies for one feature gate?”
Tell an agent
List gates that reference gate {id}.
Show which gates depend on gate {id}, page {page}.
PUT /console/v1/gates/{id}/launch Launch a gate through the Console API · Launch Gate #
Ask an LLM
“Which Console API v1 call marks a gate as launched?”
“Can I launch a gate and get it back with archive metadata attached?”
Tell an agent
Launch gate {id} via the Console API.
Ship gate {id} to everyone and return it with archive metadata.
POST /console/v1/gates/{id}/load_pulse Load Pulse metric results for a gate rule · Load Pulse Gate #
Ask an LLM
“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?”
Tell an agent
Load Pulse for rule {ruleId} on gate {id}.
Refresh Pulse for gate {id} rule {ruleId} with metrics {metricIDs}.
GET /console/v1/gates/{id}/overrides Read a gate's overrides through the Console API · Get Gate Override #
Ask an LLM
“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?”
Tell an agent
Get the overrides on gate {id} via the Console API.
Read the Console v1 override list for gate {id}.
POST /console/v1/gates/{id}/overrides Replace a gate's overrides through the Console API · Update Gate Overrides #
Ask an LLM
“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?”
Tell an agent
Replace the overrides on gate {id} via the Console API.
Overwrite gate {id}'s override set using Console v1.
PATCH /console/v1/gates/{id}/overrides Append overrides to a gate through the Console API · Add Gate Overrides #
Ask an LLM
“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?”
Tell an agent
Add overrides to gate {id} via the Console API.
Append new entries to gate {id}'s overrides using Console v1.
DELETE /console/v1/gates/{id}/overrides Clear a gate's overrides through the Console API · Delete Gate Overrides #
Ask an LLM
“Which Console API v1 call wipes every override from a gate?”
“Can I clear all forced results on a gate with the console endpoint?”
Tell an agent destructive · confirm first
Delete all overrides on gate {id} via the Console API.
Wipe the override list of gate {id} using Console v1.
DELETE /console/v1/gates/{id}/overrides/userID/{userID} Remove one user ID override from a gate · Delete a Single Gate User ID Override #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Remove user {userID} from the {groupID} override bucket on gate {id}.
Stop overriding user {userID} on gate {id} in group {groupID}.
GET /console/v1/gates/{id}/reviews List change reviews on a gate · List Gate Reviews #
Ask an LLM
“Which change reviews have been requested on a gate?”
“Can I page through the review history of one feature gate?”
Tell an agent
List the change reviews on gate {id}.
Show page {page} of reviews for gate {id}.
POST /console/v1/gates/{id}/reviews Request a review of a gate change · Create Gate Review #
Ask an LLM
“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?”
Tell an agent
Request review of change {change} on gate {id} described as {description}.
Open a review on gate {id} for {change}, assigned to reviewers {reviewer_ids}.
GET /console/v1/gates/{id}/reviews/{reviewID} Get one review on a gate · Get Gate Review #
Ask an LLM
“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?”
Tell an agent
Get review {reviewID} on gate {id}.
Show the proposed change in review {reviewID} for gate {id}.
PUT /console/v1/gates/{id}/reviews/{reviewID} Edit a pending gate review · Edit Gate Review #
Ask an LLM
“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?”
Tell an agent
Set the reviewers on review {reviewID} for gate {id} to {reviewer_ids}.
Rewrite the summary text of pending review {reviewID} on gate {id} as {description}.
DELETE /console/v1/gates/{id}/reviews/{reviewID} Cancel a pending gate review · Cancel Gate Review #
Ask an LLM
“Can I withdraw a gate change request that is still waiting for review?”
“What cancels a gate review I no longer need?”
Tell an agent destructive · confirm first
Cancel review {reviewID} on gate {id}.
Withdraw gate {id}'s pending review {reviewID}.
PUT /console/v1/gates/{id}/reviews/{reviewID}/approve Approve a gate change review · Approve Gate Review #
Ask an LLM
“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?”
Tell an agent
Approve review {reviewID} on gate {id}.
Approve gate {id} review {reviewID} with reason {reason}.
PUT /console/v1/gates/{id}/reviews/{reviewID}/commit Commit an approved gate change · Commit Gate Review #
Ask an LLM
“Once a gate review is approved, what applies the change?”
“Can I commit an approved gate change so it takes effect?”
Tell an agent
Commit review {reviewID} on gate {id}.
Apply the approved change from review {reviewID} to gate {id}.
PUT /console/v1/gates/{id}/reviews/{reviewID}/reject Reject a gate change review · Reject Gate Review #
Ask an LLM
“Can I turn down a proposed gate change and explain why?”
“Is a reason required when rejecting a gate review?”
Tell an agent
Reject review {reviewID} on gate {id} because {reason}.
Decline gate {id} change request {reviewID} with reason {reason}.
POST /console/v1/gates/{id}/rule Add a rule to a gate through the Console API · Add Gate Rule #
Ask an LLM
“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?”
Tell an agent
Add rule {name} to gate {id} via the Console API, passing {passPercentage} percent when {conditions} match.
Add console rule {name} to gate {id} based on rule {baseID} at {passPercentage} percent with conditions {conditions}.
GET /console/v1/gates/{id}/rules Read a gate's rules through the Console API · Read Gate Rules #
Ask an LLM
“Can I read a gate's rules through the Console API v1?”
“Which console endpoint returns just the rule list of a gate?”
Tell an agent
Read the rules of gate {id} via the Console API.
Get gate {id}'s rule list using Console v1.
PATCH /console/v1/gates/{id}/rules/{ruleID} Edit one existing rule on a gate · Update Gate Rules #
Ask an LLM
“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?”
Tell an agent
Change rule {ruleID} on gate {id} to pass {passPercentage} percent.
Update the conditions of rule {ruleID} on gate {id} to {conditions}.
DELETE /console/v1/gates/{id}/rules/{ruleID} Delete a gate rule through the Console API · Delete Gate Rule #
Ask an LLM
“Which Console API v1 call removes one rule from a gate?”
“Can I delete a single gate rule with the console endpoint?”
Tell an agent destructive · confirm first
Delete rule {ruleID} from gate {id} via the Console API.
Drop gate {id}'s rule {ruleID} using Console v1.
GET /console/v1/gates/{id}/rules/{ruleID}/pulse_load_history Show Pulse load history for a gate rule · Pulse Load History (Warehouse Native) #
Ask an LLM
“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?”
Tell an agent
Show the Pulse load history for rule {ruleID} on gate {id}.
List past Pulse loads for gate {id} rule {ruleID}, page {page}.
GET /console/v1/gates/{id}/rules/{ruleID}/pulse_results Get Pulse metric results for a gate rule · Retrieve Pulse Results #
Ask an LLM
“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?”
Tell an agent
Get Pulse results for rule {ruleID} on gate {id}.
Show gate {id} rule {ruleID} Pulse results at {confidence} confidence with CUPED {cuped}.
PUT /console/v1/gates/{id}/unarchive Restore an archived gate · Unarchive Gate #
Ask an LLM
“Can I bring an archived gate back into active use?”
“Is there a way to note why a gate was unarchived?”
Tell an agent
Unarchive gate {id}.
Restore archived gate {id} with reason {unarchiveReason}.
GET /console/v1/gates/{id}/versions List the version history of a gate · List Gate Versions #
Ask an LLM
“What changes have been made to a gate over time?”
“Can I see a gate's past versions between two dates?”
Tell an agent
List the versions of gate {id}.
Show gate {id} versions from {startDate} to {endDate}.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/statsig:statsig-gates-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

statsig-gates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Statsig Gates API
  version: '1.0'
  description: 'Operations tagged Gates across 2 of this provider''s published API definitions: statsig-console-api-openapi.yml, statsig-gates-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://statsigapi.net/console/v1
  description: Statsig Console API Server
- url: https://statsigapi.net
tags:


# --- truncated at 32 KB (333 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/statsig/refs/heads/main/openapi/statsig-gates-api-openapi.yml