Statsig · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Statsig Dynamic Configs API
32 actions
32 updates
phrasing
extends
openapi/statsig-dynamic-configs-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 32 · first 16 shown; the file carries all of them
$.info
$.paths['/dynamic_configs'].get
$.paths['/dynamic_configs'].post
$.paths['/dynamic_configs/{id}'].get
$.paths['/dynamic_configs/{id}'].delete
$.paths['/dynamic_configs/{id}'].patch
$.paths['/dynamic_configs/{id}/rules'].get
$.paths['/get_config'].post
$.paths['/console/v1/dynamic_configs'].get
$.paths['/console/v1/dynamic_configs'].post
$.paths['/console/v1/dynamic_configs/{id}'].get
$.paths['/console/v1/dynamic_configs/{id}'].post
$.paths['/console/v1/dynamic_configs/{id}'].delete
$.paths['/console/v1/dynamic_configs/{id}'].patch
$.paths['/console/v1/dynamic_configs/{id}/archive'].put
$.paths['/console/v1/dynamic_configs/{id}/disable'].put
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 Dynamic Configs API
version: 1.0.0
extends: openapi/statsig-dynamic-configs-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: 31
- target: $.paths['/dynamic_configs'].get
update:
x-apievangelist-phrasing:
intent: List dynamic configs in the project
effect: read
questions:
- Which dynamic configs exist in my Statsig project?
- Can I page through all our dynamic configs a few at a time?
instructions:
- text: List all dynamic configs in my project.
- text: Show page {page} of dynamic configs with {limit} per page.
slots:
page: query.page
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/dynamic_configs'].post
update:
x-apievangelist-phrasing:
intent: Create a dynamic config
effect: write
questions:
- How do I create a new dynamic config with default values?
- Can I tag a dynamic config when I first create it?
instructions:
- text: Create a dynamic config named {name}.
slots:
name: requestBody.name
- text: Create dynamic config {name} with default values {defaultValue}.
slots:
name: requestBody.name
defaultValue: requestBody.defaultValue
method: generated
generated: '2026-09-26'
- target: $.paths['/dynamic_configs/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a dynamic config's full definition
effect: read
questions:
- What default values and conditions does a particular dynamic config have?
- Can I look up the full definition of one dynamic config by name?
instructions:
- text: Show me the full definition of dynamic config {id}.
slots:
id: path.id
- text: Get the defaults and rules for dynamic config {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dynamic_configs/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a dynamic config
effect: destructive
questions:
- How do I permanently remove a dynamic config we no longer use?
- Is deleting a dynamic config permanent?
instructions:
- text: Delete dynamic config {id}.
slots:
id: path.id
- text: Permanently remove the dynamic config named {id} from the project.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dynamic_configs/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update fields on an existing dynamic config
effect: write
questions:
- Can I turn off an existing dynamic config without changing its rules?
- How do I change the default values of a dynamic config that already exists?
instructions:
- text: Disable dynamic config {id} by setting enabled to {isEnabled}.
slots:
id: path.id
isEnabled: requestBody.isEnabled
- text: Change the defaults of existing dynamic config {id} to {defaultValue}.
slots:
id: path.id
defaultValue: requestBody.defaultValue
- text: Update the description of dynamic config {id} to {description}.
slots:
id: path.id
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/dynamic_configs/{id}/rules'].get
update:
x-apievangelist-phrasing:
intent: List the rules on a dynamic config
effect: read
questions:
- What targeting rules are configured on a given dynamic config?
- Which rules decide the values a dynamic config returns?
instructions:
- text: List only the rules on dynamic config {id}.
slots:
id: path.id
- text: Show the targeting rules for dynamic config {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/get_config'].post
update:
x-apievangelist-phrasing:
intent: Evaluate a dynamic config for a user
effect: read
questions:
- What config values would a specific user receive from a dynamic config?
- Does evaluating a config for a user log an exposure event?
- Can one call evaluate either a dynamic config or an experiment by name for a user?
instructions:
- text: Evaluate config {configName} for user {user} and return their values.
slots:
configName: requestBody.configName
user: requestBody.user
- text: Get the values user {user} receives from config {configName}.
slots:
user: requestBody.user
configName: requestBody.configName
method: generated
generated: '2026-09-26'
- target: $.paths['/console/v1/dynamic_configs'].get
update:
x-apievangelist-phrasing:
intent: Filter dynamic configs by team, tag or lifecycle
effect: read
questions:
- Which of our dynamic configs are flagged as stale by the nightly check?
- Can I filter dynamic configs by owning team or by tag?
- What dynamic configs did a particular teammate create?
instructions:
- text: List dynamic configs tagged {tags}.
slots:
tags: query.tags
- text: Show dynamic configs owned by team {teamID} with lifecycle type {type}.
slots:
teamID: query.teamID
type: query.type
- text: Find dynamic configs created by {creatorName}.
slots:
creatorName: query.creatorName
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs'].post
update:
x-apievangelist-phrasing:
intent: Create a dynamic config with schema and rules
effect: write
questions:
- Can a new dynamic config enforce a JSON schema on the values it returns?
- Which ID type should a new dynamic config be keyed on?
- Is it possible to assign a new dynamic config to a team or release pipeline at creation?
instructions:
- text: Create dynamic config {name} keyed on {idType} with schema {schema}.
slots:
name: requestBody.name
idType: requestBody.idType
schema: requestBody.schema
- text: Create dynamic config {name} for team {teamID} with rules {rules} and fallback {defaultValue}.
slots:
name: requestBody.name
teamID: requestBody.teamID
rules: requestBody.rules
defaultValue: requestBody.defaultValue
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a dynamic config via the Console API v1
effect: read
questions:
- Can the Console API v1 return a single dynamic config with its schema and target apps?
- Who owns a given dynamic config and which team is it assigned to?
instructions:
- text: Fetch dynamic config {id} from the v1 console, including owner and schema.
slots:
id: path.id
- text: Look up who owns dynamic config {id} and its target apps.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}'].post
update:
x-apievangelist-phrasing:
intent: Replace a dynamic config's full definition
effect: write
questions:
- Can I overwrite a dynamic config's rules, description and enabled state in one full replace?
- Is there a dry run to check a full dynamic config update before saving it?
- Can I mark a dynamic config as permanent while replacing it?
instructions:
- text: Fully replace dynamic config {id} with rules {rules}, description {description}, enabled {isEnabled}.
slots:
id: path.id
rules: requestBody.rules
description: requestBody.description
isEnabled: requestBody.isEnabled
- text: Validate without saving a full replacement of dynamic config {id} using rules {rules}, dry run {dryRun}.
slots:
id: path.id
rules: requestBody.rules
dryRun: query.dryRun
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a dynamic config through the Console API v1
effect: destructive
questions:
- Can the v1 console endpoint delete a dynamic config outright instead of archiving it?
- Which Console API v1 call removes a dynamic config for good?
instructions:
- text: Delete dynamic config {id} using the v1 console endpoint.
slots:
id: path.id
- text: Remove dynamic config {id} for good via Console API v1.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Patch selected fields of a dynamic config
effect: write
questions:
- Can I change just the tags or owner of a dynamic config without resending its rules?
- Can I move a dynamic config to another team with a partial update?
- Is there a way to mark a dynamic config TEMPORARY or PERMANENT without touching anything else?
instructions:
- text: Patch dynamic config {id} to use tags {tags}.
slots:
id: path.id
tags: requestBody.tags
- text: Reassign dynamic config {id} to team {teamID} with a partial update.
slots:
id: path.id
teamID: requestBody.teamID
- text: Set the lifecycle type of dynamic config {id} to {type}.
slots:
id: path.id
type: requestBody.type
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/archive'].put
update:
x-apievangelist-phrasing:
intent: Archive a dynamic config
effect: write
questions:
- Can I archive a dynamic config we've stopped using without deleting it?
- Is there a way to force-archive a dynamic config and record why?
instructions:
- text: Archive dynamic config {id} because {archiveReason}.
slots:
id: path.id
archiveReason: requestBody.archiveReason
- text: Force-archive dynamic config {id} with force flag {forceArchive}.
slots:
id: path.id
forceArchive: requestBody.forceArchive
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/disable'].put
update:
x-apievangelist-phrasing:
intent: Disable a dynamic config
effect: write
questions:
- Can I switch off a dynamic config with a single call?
- Is there a dedicated endpoint to disable a dynamic config without editing it?
instructions:
- text: Disable dynamic config {id}.
slots:
id: path.id
- text: Turn off dynamic config {id} right now.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/eligible_reviewers'].get
update:
x-apievangelist-phrasing:
intent: List who can review a dynamic config change
effect: read
questions:
- Who is allowed to approve changes to a particular dynamic config?
- Which teammates can I pick as reviewers for a dynamic config?
instructions:
- text: List eligible reviewers for dynamic config {id}.
slots:
id: path.id
- text: Show who can review changes to dynamic config {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/enable'].put
update:
x-apievangelist-phrasing:
intent: Enable a dynamic config
effect: write
questions:
- Can I turn a disabled dynamic config back on?
- Is there a one-step call to re-enable a dynamic config?
instructions:
- text: Enable dynamic config {id}.
slots:
id: path.id
- text: Switch dynamic config {id} back on.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews'].get
update:
x-apievangelist-phrasing:
intent: List change reviews on a dynamic config
effect: read
questions:
- What pending change reviews exist for a dynamic config?
- Can I page through the review history of a dynamic config?
instructions:
- text: List change reviews for dynamic config {id}.
slots:
id: path.id
- text: Show page {page} of reviews on dynamic config {id}, {limit} per page.
slots:
page: query.page
id: path.id
limit: query.limit
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews'].post
update:
x-apievangelist-phrasing:
intent: Propose a dynamic config change for review
effect: write
questions:
- Can I submit a dynamic config change for approval instead of applying it directly?
- Which reviewers or reviewer groups can I request on a proposed config change?
instructions:
- text: Open a review on dynamic config {id} proposing {change}, described as {description}.
slots:
id: path.id
change: requestBody.change
description: requestBody.description
- text: 'Request review from {reviewer_ids} for change {change} on dynamic config {id}: {description}.'
slots:
reviewer_ids: requestBody.reviewer_ids
change: requestBody.change
id: path.id
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews/{reviewID}'].get
update:
x-apievangelist-phrasing:
intent: Get one dynamic config review
effect: read
questions:
- What change does a specific dynamic config review propose?
- Can I check the status of one review on a dynamic config?
instructions:
- text: Show review {reviewID} on dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
- text: Get the proposed change in review {reviewID} for dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews/{reviewID}'].put
update:
x-apievangelist-phrasing:
intent: Edit a pending dynamic config review
effect: write
questions:
- Can I change the reviewers on a review I already opened for a dynamic config?
- Is it possible to revise the proposed change in an open dynamic config review?
instructions:
- text: Replace the reviewers on review {reviewID} of dynamic config {id} with {reviewer_ids}.
slots:
reviewID: path.reviewID
id: path.id
reviewer_ids: requestBody.reviewer_ids
- text: Update review {reviewID} on dynamic config {id} to propose {change}.
slots:
reviewID: path.reviewID
id: path.id
change: requestBody.change
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews/{reviewID}'].delete
update:
x-apievangelist-phrasing:
intent: Cancel a dynamic config review
effect: destructive
questions:
- Can I withdraw a dynamic config change review that's no longer needed?
- Is there a way to cancel an open review on a dynamic config?
instructions:
- text: Cancel review {reviewID} on dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
- text: Withdraw pending review {reviewID} for dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews/{reviewID}/approve'].put
update:
x-apievangelist-phrasing:
intent: Approve a dynamic config review
effect: write
questions:
- Can I approve a teammate's proposed dynamic config change?
- Can I leave a comment when approving a dynamic config review?
instructions:
- text: Approve review {reviewID} on dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
- text: Approve review {reviewID} for dynamic config {id} with comment {reason}.
slots:
reviewID: path.reviewID
id: path.id
reason: requestBody.reason
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews/{reviewID}/commit'].put
update:
x-apievangelist-phrasing:
intent: Commit an approved dynamic config review
effect: write
questions:
- How do I apply an approved review so the dynamic config change goes live?
- Can I commit a reviewed change to a dynamic config?
instructions:
- text: Commit review {reviewID} on dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
- text: Apply the approved change from review {reviewID} to dynamic config {id}.
slots:
reviewID: path.reviewID
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/reviews/{reviewID}/reject'].put
update:
x-apievangelist-phrasing:
intent: Reject a dynamic config review
effect: write
questions:
- Can I turn down a proposed change to a dynamic config?
- Is a reason required when rejecting a dynamic config review?
instructions:
- text: Reject review {reviewID} on dynamic config {id} because {reason}.
slots:
reviewID: path.reviewID
id: path.id
reason: requestBody.reason
- text: Decline the change in review {reviewID} for dynamic config {id}, reason {reason}.
slots:
reviewID: path.reviewID
id: path.id
reason: requestBody.reason
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/rule/{ruleId}'].get
update:
x-apievangelist-phrasing:
intent: Get one rule on a dynamic config
effect: read
questions:
- What conditions and return value does a single dynamic config rule have?
- Can I fetch one rule of a dynamic config by its rule ID?
instructions:
- text: Show rule {ruleId} on dynamic config {id}.
slots:
ruleId: path.ruleId
id: path.id
- text: Get the conditions and return value of rule {ruleId} in dynamic config {id}.
slots:
ruleId: path.ruleId
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/rule/{ruleId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a rule from a dynamic config
effect: destructive
questions:
- Can I remove a single targeting rule from a dynamic config while keeping the rest?
- Does removing one rule leave the other rules on a dynamic config in place?
instructions:
- text: Delete rule {ruleId} from dynamic config {id}.
slots:
ruleId: path.ruleId
id: path.id
- text: Remove targeting rule {ruleId} on dynamic config {id}.
slots:
ruleId: path.ruleId
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/rule/{ruleId}'].patch
update:
x-apievangelist-phrasing:
intent: Update one rule on a dynamic config
effect: write
questions:
- Can I change the pass percentage of just one rule on a dynamic config?
- Is it possible to edit the conditions of a single dynamic config rule?
instructions:
- text: Set rule {ruleId} on dynamic config {id} to pass {passPercentage} percent.
slots:
ruleId: path.ruleId
id: path.id
passPercentage: requestBody.passPercentage
- text: Update the conditions of rule {ruleId} in dynamic config {id} to {conditions}.
slots:
ruleId: path.ruleId
id: path.id
conditions: requestBody.conditions
- text: Change the return value of rule {ruleId} on dynamic config {id} to {returnValue}.
slots:
ruleId: path.ruleId
id: path.id
returnValue: requestBody.returnValue
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/rules'].get
update:
x-apievangelist-phrasing:
intent: Get dynamic config rules from the Console API v1
effect: read
questions:
- Can the Console API v1 list all rules of a dynamic config in one call?
- Which rules does the v1 console report for a given dynamic config?
instructions:
- text: Get all rules for dynamic config {id} from the v1 console.
slots:
id: path.id
- text: Pull the rule list of dynamic config {id} via Console API v1.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/unarchive'].put
update:
x-apievangelist-phrasing:
intent: Unarchive a dynamic config
effect: write
questions:
- Can I restore a dynamic config that was archived?
- Can I record why an archived dynamic config is being brought back?
instructions:
- text: Unarchive dynamic config {id}.
slots:
id: path.id
- text: Restore archived dynamic config {id} because {unarchiveReason}.
slots:
id: path.id
unarchiveReason: requestBody.unarchiveReason
method: generated
generated: '2026-10-01'
- target: $.paths['/console/v1/dynamic_configs/{id}/versions'].get
update:
x-apievangelist-phrasing:
intent: List a dynamic config's version history
effect: read
questions:
- What earlier versions of a dynamic config exist?
- Can I see which dynamic config versions changed within a date range?
instructions:
- text: List versions of dynamic config {id}.
slots:
id: path.id
- text: Show versions of dynamic config {id} modified between {startDate} and {endDate}.
slots:
id: path.id
startDate: query.startDate
endDate: query.endDate
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-dynamic-configs-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.