# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Statsig Autotunes API version: 1.0.0 extends: openapi/statsig-autotunes-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: 26 - target: $.paths['/autotunes'].get update: x-apievangelist-phrasing: intent: List autotune configurations effect: read questions: - Which autotunes are set up in my Statsig project? - What automatic optimization tests do we currently have configured? instructions: - text: List all autotunes in my project. - text: Show me every autotune configuration we have. method: generated generated: '2026-09-26' - target: $.paths['/autotunes'].post update: x-apievangelist-phrasing: intent: Create an autotune that optimizes toward a metric effect: write questions: - How do I set up an autotune that automatically picks the best variant? - Can an autotune optimize toward a specific success metric like checkouts? - What do I need to provide to create a new autotune? instructions: - text: Create an autotune named {name} that optimizes for {successMetric}. slots: name: requestBody.name successMetric: requestBody.successMetric - text: Set up autotune {name} optimizing {successMetric} across variants {variants}. slots: name: requestBody.name successMetric: requestBody.successMetric variants: requestBody.variants method: generated generated: '2026-09-26' - target: $.paths['/console/v1/autotunes'].get update: x-apievangelist-phrasing: intent: Page through autotunes via the Console API effect: read questions: - Can I page through our autotune experiments through the Console API v1? - Which console endpoint lists autotunes a few at a time? instructions: - text: List autotunes via the Console API. - text: Show page {page} of autotunes, {limit} per page. slots: page: query.page limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes'].post update: x-apievangelist-phrasing: intent: Create an autotune that optimizes a success event effect: write questions: - Can I create an autotune that optimizes for an event such as a purchase? - What exploration and attribution windows does a new autotune need? - Is it possible to create a contextual autotune that personalizes per user? instructions: - text: 'Create autotune {name}: variants {variants}, event {successEvent}, explore {explorationWindow}, attribute {attributionWindow}, threshold {winnerThreshold}.' slots: name: requestBody.name variants: requestBody.variants successEvent: requestBody.successEvent explorationWindow: requestBody.explorationWindow attributionWindow: requestBody.attributionWindow winnerThreshold: requestBody.winnerThreshold - text: Create contextual autotune {name} using features {featureList}. slots: name: requestBody.name featureList: requestBody.featureList method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}'].get update: x-apievangelist-phrasing: intent: Read one autotune effect: read questions: - What variants and success event is a particular autotune using? - Can I look up the settings of one autotune experiment? instructions: - text: Read autotune {id}. slots: id: path.id - text: Show the variants and windows configured on autotune {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}'].post update: x-apievangelist-phrasing: intent: Fully replace an autotune's settings effect: write questions: - Can I resend every setting of an autotune in one update? - Which call overwrites an autotune's variants, windows and winner threshold together? instructions: - text: Fully update autotune {id} with variants {variants}, event {successEvent}, windows {explorationWindow} and {attributionWindow}, threshold {winnerThreshold}. slots: id: path.id variants: requestBody.variants successEvent: requestBody.successEvent explorationWindow: requestBody.explorationWindow attributionWindow: requestBody.attributionWindow winnerThreshold: requestBody.winnerThreshold - text: Overwrite all settings of autotune {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}'].delete update: x-apievangelist-phrasing: intent: Delete an autotune effect: destructive questions: - Can I permanently remove an autotune I no longer need? - What deletes an autotune experiment from the project? instructions: - text: Delete autotune {id}. slots: id: path.id - text: Remove autotune {id} from the project. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}'].patch update: x-apievangelist-phrasing: intent: Change selected settings on an autotune effect: write questions: - Can I change just the winner threshold of a running autotune? - Is it possible to update only the description or exploration window of an autotune? instructions: - text: Set the winner threshold of autotune {id} to {winnerThreshold}. slots: id: path.id winnerThreshold: requestBody.winnerThreshold - text: Change autotune {id}'s exploration window to {explorationWindow}. slots: id: path.id explorationWindow: requestBody.explorationWindow - text: Update the description of autotune {id} to {description}. slots: id: path.id description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/make_decision'].put update: x-apievangelist-phrasing: intent: Finish an autotune early with a decision effect: write questions: - Can I end an autotune early and ship a chosen variant? - Is a reason required when I make an early decision on an autotune? instructions: - text: Finish autotune {id} early choosing group {decision} because {decisionReason}. slots: id: path.id decision: requestBody.id decisionReason: requestBody.decisionReason - text: 'Make a final decision on autotune {id}: ship {decision}, reason {decisionReason}.' slots: id: path.id decision: requestBody.id decisionReason: requestBody.decisionReason method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/overrides'].get update: x-apievangelist-phrasing: intent: Get the overrides on an autotune effect: read questions: - Which users are forced into a particular variant of an autotune? - Can I see the gate, segment and user ID overrides on one autotune? instructions: - text: Show the overrides on autotune {id}. slots: id: path.id - text: List who is forced into a variant on autotune {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/overrides'].post update: x-apievangelist-phrasing: intent: Replace all overrides on an autotune effect: write questions: - Can I replace an autotune's whole override list with a new set? - Which call resets an autotune's user ID overrides to exactly what I send? instructions: - text: Replace the overrides on autotune {id} with {overrides} and user ID overrides {userIDOverrides}. slots: id: path.id overrides: requestBody.overrides userIDOverrides: requestBody.userIDOverrides - text: Overwrite autotune {id}'s user ID overrides with {userIDOverrides} and other overrides with {overrides}. slots: id: path.id userIDOverrides: requestBody.userIDOverrides overrides: requestBody.overrides method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/overrides'].delete update: x-apievangelist-phrasing: intent: Remove all overrides from an autotune effect: destructive questions: - Can I clear every override from an autotune at once? - What stops all forced variant assignments on an autotune? instructions: - text: Delete all overrides on autotune {id}. slots: id: path.id - text: Clear every forced assignment from autotune {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/overrides'].patch update: x-apievangelist-phrasing: intent: Add overrides to an autotune effect: write questions: - Can I add a few more overrides to an autotune while keeping the existing ones? - How do I force extra user IDs into an autotune variant without resetting the list? instructions: - text: Add overrides {overrides} and user ID overrides {userIDOverrides} to autotune {id}. slots: overrides: requestBody.overrides userIDOverrides: requestBody.userIDOverrides id: path.id - text: Append user ID overrides {userIDOverrides} to autotune {id}, plus {overrides}. slots: userIDOverrides: requestBody.userIDOverrides id: path.id overrides: requestBody.overrides method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/overrides/conditional/{type}/{name}'].delete update: x-apievangelist-phrasing: intent: Remove one gate or segment override from an autotune effect: destructive questions: - Can I remove a single gate or segment override from an autotune? - Is it safe to delete a segment override that may not exist on the autotune? instructions: - text: Remove the {type} override {name} from autotune {id} in group {groupID}. slots: type: path.type name: path.name id: path.id groupID: query.groupID - text: Delete segment or gate override {name} of type {type} on autotune {id}, group {groupID}, in environment {environment}. slots: name: path.name type: path.type id: path.id groupID: query.groupID environment: query.environment method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/overrides/userID/{userID}'].delete update: x-apievangelist-phrasing: intent: Remove one user ID override from an autotune effect: destructive questions: - Can I take just one user out of an autotune's override bucket? - Can a user ID override on an autotune be removed for a single environment? instructions: - text: Remove user {userID} from override group {groupID} on autotune {id}. slots: userID: path.userID groupID: query.groupID id: path.id - text: Stop overriding user {userID} on autotune {id} in group {groupID} for environment {environment}. slots: userID: path.userID id: path.id groupID: query.groupID environment: query.environment method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reset'].put update: x-apievangelist-phrasing: intent: Reset an autotune experiment effect: destructive questions: - Can I reset an autotune so it starts learning again? - What restarts an autotune experiment from scratch? instructions: - text: Reset autotune {id}. slots: id: path.id - text: Restart autotune {id} from the beginning. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews'].get update: x-apievangelist-phrasing: intent: List change reviews on an autotune effect: read questions: - Which change reviews have been requested on an autotune? - Can I page through the review history of one autotune? instructions: - text: List the reviews on autotune {id}. slots: id: path.id - text: Show page {page} of change reviews for autotune {id}. slots: page: query.page id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews'].post update: x-apievangelist-phrasing: intent: Request a review of an autotune change effect: write questions: - Can I send an autotune change, such as starting it or shipping a winner, for approval? - Is it possible to assign particular reviewers to an autotune change request? instructions: - text: Request a {type} review on autotune {id}. slots: type: requestBody.type id: path.id - text: Open a {type} review on autotune {id} for reviewers {reviewer_ids} with description {description}. slots: type: requestBody.type id: path.id reviewer_ids: requestBody.reviewer_ids description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews/{reviewID}'].get update: x-apievangelist-phrasing: intent: Get one review on an autotune effect: read questions: - What is the status of a specific review on an autotune? - Can I look up a single autotune change review by its ID? instructions: - text: Get review {reviewID} on autotune {id}. slots: reviewID: path.reviewID id: path.id - text: Show the details of autotune {id} review {reviewID}. slots: id: path.id reviewID: path.reviewID method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews/{reviewID}'].put update: x-apievangelist-phrasing: intent: Edit a pending autotune review effect: write questions: - Can I change the reviewers assigned to an open autotune review? - Is it possible to edit the description of an autotune review after creating it? instructions: - text: Set the reviewers on autotune {id} review {reviewID} to {reviewer_ids}. slots: id: path.id reviewID: path.reviewID reviewer_ids: requestBody.reviewer_ids - text: Update review {reviewID} on autotune {id} with description {description}. slots: reviewID: path.reviewID id: path.id description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews/{reviewID}'].delete update: x-apievangelist-phrasing: intent: Cancel a pending autotune review effect: destructive questions: - Can I withdraw an autotune change request that is still awaiting review? - What cancels an autotune review we no longer need? instructions: - text: Cancel review {reviewID} on autotune {id}. slots: reviewID: path.reviewID id: path.id - text: Withdraw autotune {id}'s pending review {reviewID}. slots: id: path.id reviewID: path.reviewID method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews/{reviewID}/approve'].put update: x-apievangelist-phrasing: intent: Approve an autotune change review effect: write questions: - Can I approve a proposed autotune change through the API? - Is there a way to leave a reason when approving an autotune review? instructions: - text: Approve review {reviewID} on autotune {id}. slots: reviewID: path.reviewID id: path.id - text: Approve autotune {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/autotunes/{id}/reviews/{reviewID}/commit'].put update: x-apievangelist-phrasing: intent: Commit an approved autotune change effect: write questions: - After an autotune review is approved, what applies the change? - Can I commit an approved autotune change so it takes effect? instructions: - text: Commit review {reviewID} on autotune {id}. slots: reviewID: path.reviewID id: path.id - text: Apply the approved change from review {reviewID} to autotune {id}. slots: reviewID: path.reviewID id: path.id method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/reviews/{reviewID}/reject'].put update: x-apievangelist-phrasing: intent: Reject an autotune change review effect: write questions: - Can I turn down a proposed autotune change and say why? - Is a reason required when rejecting an autotune review? instructions: - text: Reject review {reviewID} on autotune {id} because {reason}. slots: reviewID: path.reviewID id: path.id reason: requestBody.reason - text: Decline autotune {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/autotunes/{id}/schedule_start'].post update: x-apievangelist-phrasing: intent: Schedule an autotune to start later effect: write questions: - Can I schedule an autotune to begin at a set time? - Is it possible to queue an autotune launch for next Monday morning? instructions: - text: Schedule autotune {id} to start at {scheduledTime}. slots: id: path.id scheduledTime: requestBody.scheduledTime - text: Set autotune {id}'s start time to {scheduledTime}. slots: id: path.id scheduledTime: requestBody.scheduledTime method: generated generated: '2026-10-01' - target: $.paths['/console/v1/autotunes/{id}/start'].put update: x-apievangelist-phrasing: intent: Start an autotune now effect: write questions: - Can I start an autotune experiment right away? - What begins exploration on an autotune I just configured? instructions: - text: Start autotune {id} now. slots: id: path.id - text: Begin running autotune {id} immediately. slots: id: path.id method: generated generated: '2026-10-01'