Statsig · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Statsig Layers API
20 actions
20 updates
phrasing
extends
openapi/statsig-layers-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Statsig's API. It is a proposal applied on top of the contract, not a document Statsig publishes.
What the actions change
x-apievangelist-phrasing
Targets 20 · first 16 shown; the file carries all of them
$.info
$.paths['/layers'].get
$.paths['/layers'].post
$.paths['/layers/{id}'].get
$.paths['/layers/{id}'].delete
$.paths['/layers/{id}/experiments'].get
$.paths['/get_layer'].post
$.paths['/console/v1/layers'].get
$.paths['/console/v1/layers'].post
$.paths['/console/v1/layers/{id}'].get
$.paths['/console/v1/layers/{id}'].post
$.paths['/console/v1/layers/{id}'].delete
$.paths['/console/v1/layers/{id}'].patch
$.paths['/console/v1/layers/{id}/experiments'].get
$.paths['/console/v1/layers/{id}/overrides'].get
$.paths['/console/v1/layers/{id}/overrides'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Statsig Layers API
version: 1.0.0
extends: openapi/statsig-layers-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: 19
- target: $.paths['/layers'].get
update:
x-apievangelist-phrasing:
intent: List layers in the project
effect: read
questions:
- Which layers exist in my Statsig project?
- Can I page through all our experiment layers?
instructions:
- text: List all layers in my project.
- text: Show page {page} of layers with {limit} per page.
slots:
page: query.page
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/layers'].post
update:
x-apievangelist-phrasing:
intent: Create a layer for shared experiment parameters
effect: write
questions:
- How do I create a layer so several experiments can share parameters?
- Can I set default parameter values when creating a layer?
instructions:
- text: Create a layer named {name}.
slots:
name: requestBody.name
- text: Create layer {name} with default parameters {parameters}.
slots:
name: requestBody.name
parameters: requestBody.parameters
method: generated
generated: '2026-09-26'
- target: $.paths['/layers/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a layer's configuration
effect: read
questions:
- What parameters and experiments are defined on a specific layer?
- Can I look up a layer's console configuration by name?
instructions:
- text: Show the configuration of layer {id}.
slots:
id: path.id
- text: Get the parameters defined on layer {id} in the console.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/layers/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a layer
effect: destructive
questions:
- How do I permanently remove a layer we no longer use?
- Is deleting a layer irreversible?
instructions:
- text: Delete layer {id}.
slots:
id: path.id
- text: Permanently remove layer {id} from the project.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/layers/{id}/experiments'].get
update:
x-apievangelist-phrasing:
intent: List the experiments in a layer
effect: read
questions:
- Which experiments are running inside a particular layer?
- What experiments share a given layer's parameters?
instructions:
- text: List the experiments in layer {id}.
slots:
id: path.id
- text: Show which experiments belong to layer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/get_layer'].post
update:
x-apievangelist-phrasing:
intent: Get a user's parameter values from a layer
effect: read
questions:
- What layer parameter values does a specific user receive?
- When is an exposure logged for layer parameters?
instructions:
- text: Get layer {layerName} parameter values for user {user}.
slots:
layerName: requestBody.layerName
user: requestBody.user
- text: Evaluate layer {layerName} for user {user}.
slots:
layerName: requestBody.layerName
user: requestBody.user
method: generated
generated: '2026-09-26'
- target: $.paths['/console/v1/layers'].get
update:
x-apievangelist-phrasing:
intent: List layers via the Console API v1
effect: read
questions:
- Can the Console API v1 list all layers in the project?
- Which layers come back on each page of the v1 console listing?
instructions:
- text: List layers from the v1 console.
- text: Fetch layers page {page} from Console API v1 at {limit} per page.
slots:
page: query.page
limit: query.limit
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers'].post
update:
x-apievangelist-phrasing:
intent: Create a layer with an ID type
effect: write
questions:
- Which ID type must I choose when creating a layer?
- Can I attach target apps to a layer when I create it?
- How is a new layer's name turned into its ID?
instructions:
- text: Create layer {name} using ID type {idType}.
slots:
name: requestBody.name
idType: requestBody.idType
- text: Create layer {name} on {idType} for target apps {targetApps}, owned by team {team}.
slots:
name: requestBody.name
idType: requestBody.idType
targetApps: requestBody.targetApps
team: requestBody.team
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get one layer via the Console API v1
effect: read
questions:
- Can the Console API v1 return a single layer's details?
- Which target apps and ID type does a given layer use?
instructions:
- text: Fetch layer {id} from the v1 console.
slots:
id: path.id
- text: Look up the ID type and target apps of layer {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}'].post
update:
x-apievangelist-phrasing:
intent: Replace a layer's description and parameters
effect: write
questions:
- Can I overwrite all of a layer's parameters in one update?
- Is a description required when fully updating a layer?
instructions:
- text: Replace layer {id} parameters with {parameters} and description {description}.
slots:
id: path.id
parameters: requestBody.parameters
description: requestBody.description
- text: 'Fully update layer {id}: description {description}, parameters {parameters}, target apps {targetApps}.'
slots:
id: path.id
description: requestBody.description
parameters: requestBody.parameters
targetApps: requestBody.targetApps
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a layer via the Console API v1
effect: destructive
questions:
- Can I delete a layer through the Console API v1?
- Which v1 console call removes a layer completely?
instructions:
- text: Delete layer {id} with the v1 console endpoint.
slots:
id: path.id
- text: Remove layer {id} for good via Console API v1.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Partially update a layer
effect: write
questions:
- Can I change only a layer's target apps without resending its parameters?
- Is it possible to edit just a layer's description?
instructions:
- text: Set the target apps of layer {id} to {targetApps}.
slots:
id: path.id
targetApps: requestBody.targetApps
- text: Change only the description of layer {id} to {description}.
slots:
id: path.id
description: requestBody.description
- text: Patch the parameters of layer {id} to {parameters}.
slots:
id: path.id
parameters: requestBody.parameters
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/experiments'].get
update:
x-apievangelist-phrasing:
intent: Trace experiment lineage for a layer
effect: read
questions:
- Can the v1 console lineage view show which experiments are tied to a layer?
- Can I page through a layer's experiment lineage?
instructions:
- text: Show the v1 lineage of experiments for layer {id}.
slots:
id: path.id
- text: List page {page} of experiment lineage for layer {id}, {limit} per page.
slots:
page: query.page
id: path.id
limit: query.limit
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/overrides'].get
update:
x-apievangelist-phrasing:
intent: Get a layer's overrides
effect: read
questions:
- Which users or segments are overridden in a layer?
- What conditional and ID overrides are set on a layer?
instructions:
- text: Show the overrides on layer {id}.
slots:
id: path.id
- text: List the ID and conditional overrides for layer {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/overrides'].post
update:
x-apievangelist-phrasing:
intent: Replace a layer's overrides
effect: write
questions:
- Can I replace every override on a layer in one call?
- Can I set both ID overrides and conditional overrides on a layer together?
instructions:
- text: Replace the overrides on layer {id} with ID overrides {idOverrides} and conditional overrides {conditionalOverrides}.
slots:
id: path.id
idOverrides: requestBody.idOverrides
conditionalOverrides: requestBody.conditionalOverrides
- text: Set layer {id} overrides to {idOverrides} by ID and {conditionalOverrides} by condition.
slots:
id: path.id
idOverrides: requestBody.idOverrides
conditionalOverrides: requestBody.conditionalOverrides
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/overrides'].delete
update:
x-apievangelist-phrasing:
intent: Delete all overrides on a layer
effect: destructive
questions:
- Can I clear every override on a layer at once?
- Is clearing all of a layer's overrides permanent?
instructions:
- text: Delete all overrides on layer {id}.
slots:
id: path.id
- text: Clear every override from layer {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/overrides'].patch
update:
x-apievangelist-phrasing:
intent: Add overrides to a layer
effect: write
questions:
- Can I add new overrides to a layer without removing the existing ones?
- Can I add a user ID override to a layer alongside its current overrides?
instructions:
- text: Add ID overrides {idOverrides} and conditional overrides {conditionalOverrides} to layer {id}.
slots:
idOverrides: requestBody.idOverrides
conditionalOverrides: requestBody.conditionalOverrides
id: path.id
- text: Append override {idOverrides} to layer {id}, keeping existing ones.
slots:
idOverrides: requestBody.idOverrides
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/overrides/conditional/{type}/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Remove one gate or segment override from a layer
effect: destructive
questions:
- Can I remove a single gate or segment override from a layer without touching the others?
- What happens if the layer override I delete doesn't exist?
instructions:
- text: Remove the {type} override for {name} on layer {id} in experiment {experimentName}, group {groupName}.
slots:
type: path.type
name: path.name
id: path.id
experimentName: query.experimentName
groupName: query.groupName
- text: Delete the {type} override {name} from layer {id} for group {groupName} of experiment {experimentName} in {environment}.
slots:
type: path.type
name: path.name
id: path.id
groupName: query.groupName
experimentName: query.experimentName
environment: query.environment
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/layers/{id}/overrides/userID/{userID}'].delete
update:
x-apievangelist-phrasing:
intent: Remove one user ID override from a layer
effect: destructive
questions:
- Can I take one user out of a layer's user ID override?
- Does removing a user ID override from a layer affect other override buckets?
instructions:
- text: Remove user {userID} from the override on layer {id} for experiment {experimentName}, group {groupName}.
slots:
userID: path.userID
id: path.id
experimentName: query.experimentName
groupName: query.groupName
- text: Delete the user ID override for {userID} in layer {id}, experiment {experimentName}, group {groupName}, environment {environment}.
slots:
userID: path.userID
id: path.id
experimentName: query.experimentName
groupName: query.groupName
environment: query.environment
method: generated
generated: '2026-10-01'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/statsig-layers-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.