# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Svix Authentication API version: 1.0.0 extends: openapi/svix-authentication-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 21 - target: $.paths['/api/v1/auth/app-portal-access/{app_id}'].post update: x-apievangelist-phrasing: intent: Get a magic link to the Consumer App Portal effect: write questions: - How do I give my customer a login link to their webhook portal in Svix? - Can I make the consumer app portal read-only for a customer? - Is there a way to set how long a portal magic link stays valid? instructions: - text: Generate an app portal magic link for application {app_id}. slots: app_id: path.app_id - text: Create a read-only consumer portal login for app {app_id} that expires in {expiry} seconds. slots: app_id: path.app_id expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/whoami'].get update: x-apievangelist-phrasing: intent: Show which account the current token belongs to effect: read questions: - Which account is my current API token tied to? - Can I check who I'm authenticated as before making calls? instructions: - text: Tell me which account my current token is authenticated as. - text: Run a whoami check on the token I'm using. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/logout'].post update: x-apievangelist-phrasing: intent: Log out an app token effect: destructive questions: - How do I log out an application portal token when the session ends? - Can I use logout to kill a token that isn't an app token? instructions: - text: Log out the app token I'm currently using. - text: End this app portal token's session now. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/expire-all'].post update: x-apievangelist-phrasing: intent: Expire every token for an application effect: destructive questions: - How do I revoke all portal tokens issued for one application at once? - Can I expire only certain portal sessions for an app instead of all of them? instructions: - text: Expire all tokens for application {app_id}. slots: app_id: path.app_id - text: Expire the portal sessions {sessionIds} for app {app_id}. slots: sessionIds: requestBody.sessionIds app_id: path.app_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/org-group-admin-token'].get update: x-apievangelist-phrasing: intent: List org group admin tokens effect: read questions: - What org group API tokens have been created for my organization group? - Can I page through org group tokens newest first? instructions: - text: List all my org group admin tokens. - text: Show the first {limit} org group tokens. slots: limit: query.limit method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/org-group-admin-token'].post update: x-apievangelist-phrasing: intent: Create an org group admin token effect: write questions: - How do I create a token that works across my org group but not on apps or messages? - Can an org group admin token be given an expiry? instructions: - text: Create an org group admin token named {name}. slots: name: requestBody.name - text: Issue an org group admin token called {name} that expires in {expiry} seconds. slots: name: requestBody.name expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/org-group-admin-token/{key_id}'].put update: x-apievangelist-phrasing: intent: Rename an org group admin token effect: write questions: - How do I rename an existing org group token? - Can I change the label on an org group admin token after it's created? instructions: - text: Rename org group token {key_id} to {name}. slots: key_id: path.key_id name: requestBody.name - text: Update the name of org group admin token {key_id} to {name}. slots: key_id: path.key_id name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/org-group-admin-token/{key_id}/expire'].post update: x-apievangelist-phrasing: intent: Expire an org group admin token effect: destructive questions: - How do I revoke an org group admin token that leaked? - Can I schedule an org group token to expire later instead of right now? instructions: - text: Expire org group token {key_id} immediately. slots: key_id: path.key_id - text: Expire org group admin token {key_id} in {expiry} seconds. slots: key_id: path.key_id expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/poller/{endpoint_id}/token/rotate'].post update: x-apievangelist-phrasing: intent: Rotate an application's poller token effect: write questions: - How do I rotate the token used to read from a polling endpoint on an application? - Can the old poller token keep working for a while after rotation? instructions: - text: Rotate the poller token for endpoint {endpoint_id} in app {app_id}. slots: endpoint_id: path.endpoint_id app_id: path.app_id - text: Rotate app {app_id} endpoint {endpoint_id}'s poller token and keep the old one alive for {oldTokenExpiry} seconds. slots: app_id: path.app_id endpoint_id: path.endpoint_id oldTokenExpiry: requestBody.oldTokenExpiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/poller/{endpoint_id}/token'].get update: x-apievangelist-phrasing: intent: Get an application's current poller token effect: read questions: - Where do I find the current auth token for an application's polling endpoint? - What poller token is active right now for this app endpoint? instructions: - text: Get the current poller token for endpoint {endpoint_id} in app {app_id}. slots: endpoint_id: path.endpoint_id app_id: path.app_id - text: Show me app {app_id}'s poller token for endpoint {endpoint_id} without rotating it. slots: app_id: path.app_id endpoint_id: path.endpoint_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/mcp-token'].get update: x-apievangelist-phrasing: intent: List an application's MCP tokens effect: read questions: - Which MCP tokens exist for my application? - Can I see all MCP tokens issued for one app? instructions: - text: List the MCP tokens for application {app_id}. slots: app_id: path.app_id - text: Show up to {limit} MCP tokens on app {app_id}. slots: limit: query.limit app_id: path.app_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/mcp-token'].post update: x-apievangelist-phrasing: intent: Create an MCP token for an application effect: write questions: - How do I create an MCP token so an AI agent can reach my application? - Can an MCP token be set to expire? instructions: - text: Create an MCP token for application {app_id}. slots: app_id: path.app_id - text: Issue an MCP token for app {app_id} that expires in {expiry} seconds. slots: app_id: path.app_id expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/mcp-token/{token_id}'].delete update: x-apievangelist-phrasing: intent: Revoke an MCP token effect: destructive questions: - How do I revoke an MCP token I no longer trust? - Can I delete a single MCP token without affecting the app's others? instructions: - text: Revoke MCP token {token_id} on application {app_id}. slots: token_id: path.token_id app_id: path.app_id - text: Delete MCP token {token_id} from app {app_id}. slots: token_id: path.token_id app_id: path.app_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/app/{app_id}/create-message-token'].post update: x-apievangelist-phrasing: intent: Create a token that can only send messages effect: write questions: - How do I make an access token that can only create messages in one application? - Can I give a service a send-only credential scoped to a single app? instructions: - text: Create a message-only token named {name} for application {app_id}. slots: name: requestBody.name app_id: path.app_id - text: Issue a send-messages-only token {name} for app {app_id} expiring in {expiry} seconds. slots: name: requestBody.name app_id: path.app_id expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/management/authentication/{env_id}/api-token/{key_id}/expire'].post update: x-apievangelist-phrasing: intent: Expire an environment API token effect: destructive questions: - How do I expire an API token in one of my environments? - Can I give an environment API key a grace period before it expires? instructions: - text: Expire API token {key_id} in environment {env_id}. slots: key_id: path.key_id env_id: path.env_id - text: Expire environment {env_id}'s API token {key_id} after {expiry} seconds. slots: env_id: path.env_id key_id: path.key_id expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/management/authentication/{env_id}/api-token/{key_id}'].get update: x-apievangelist-phrasing: intent: Get an environment API token effect: read questions: - What are the details of a specific API token in my environment? - Can I look up one environment API key by its id? instructions: - text: Get API token {key_id} in environment {env_id}. slots: key_id: path.key_id env_id: path.env_id - text: Show the details of environment {env_id} API key {key_id}. slots: env_id: path.env_id key_id: path.key_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/management/authentication/{env_id}/api-token/{key_id}'].put update: x-apievangelist-phrasing: intent: Replace an environment API token's name effect: write questions: - How do I update the name of an environment API token with a full replace? - Is the name required when I PUT an update to an API token? instructions: - text: Update environment {env_id} API token {key_id} so its name is {name}. slots: env_id: path.env_id key_id: path.key_id name: requestBody.name - text: Replace API token {key_id} in {env_id} with the name {name}. slots: key_id: path.key_id env_id: path.env_id name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/management/authentication/{env_id}/api-token/{key_id}'].patch update: x-apievangelist-phrasing: intent: Change an environment API token's scopes effect: write questions: - How do I change the scopes on an existing environment API token? - Can I patch just the scopes of an API key without renaming it? instructions: - text: Set the scopes of API token {key_id} in environment {env_id} to {scopes}. slots: key_id: path.key_id env_id: path.env_id scopes: requestBody.scopes - text: Patch environment {env_id} token {key_id} to have scopes {scopes}. slots: env_id: path.env_id key_id: path.key_id scopes: requestBody.scopes method: generated generated: '2026-09-26' - target: $.paths['/api/v1/management/authentication/{env_id}/api-token'].get update: x-apievangelist-phrasing: intent: List an environment's API tokens effect: read questions: - Which API tokens exist in my environment? - Can I audit all the API keys issued for one environment? instructions: - text: List all API tokens in environment {env_id}. slots: env_id: path.env_id - text: Show the first {limit} API keys for environment {env_id}. slots: limit: query.limit env_id: path.env_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/management/authentication/{env_id}/api-token'].post update: x-apievangelist-phrasing: intent: Create an environment API token effect: write questions: - How do I create a new API key for one of my environments? - Can I restrict a new environment API token to specific scopes? instructions: - text: Create an API token named {name} in environment {env_id}. slots: name: requestBody.name env_id: path.env_id - text: Create API token {name} in {env_id} limited to scopes {scopes}. slots: name: requestBody.name env_id: path.env_id scopes: requestBody.scopes method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/one-time-token'].post update: x-apievangelist-phrasing: intent: Exchange a one-time token for access effect: write questions: - How do I redeem a one-time token from a portal magic link? - Can a one-time token be exchanged more than once? instructions: - text: Exchange one-time token {oneTimeToken}. slots: oneTimeToken: requestBody.oneTimeToken - text: Redeem the one-time token {oneTimeToken} from a portal link. slots: oneTimeToken: requestBody.oneTimeToken method: generated generated: '2026-09-26'