Svix · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Svix Authentication API
22 actions
22 updates
phrasing
extends
openapi/svix-authentication-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Svix's API. It is a proposal applied on top of the contract, not a document Svix publishes.
What the actions change
x-apievangelist-phrasing
Targets 22 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/auth/app-portal-access/{app_id}'].post
$.paths['/api/v1/auth/whoami'].get
$.paths['/api/v1/auth/logout'].post
$.paths['/api/v1/auth/app/{app_id}/expire-all'].post
$.paths['/api/v1/auth/org-group-admin-token'].get
$.paths['/api/v1/auth/org-group-admin-token'].post
$.paths['/api/v1/auth/org-group-admin-token/{key_id}'].put
$.paths['/api/v1/auth/org-group-admin-token/{key_id}/expire'].post
$.paths['/api/v1/auth/app/{app_id}/poller/{endpoint_id}/token/rotate'].post
$.paths['/api/v1/auth/app/{app_id}/poller/{endpoint_id}/token'].get
$.paths['/api/v1/auth/app/{app_id}/mcp-token'].get
$.paths['/api/v1/auth/app/{app_id}/mcp-token'].post
$.paths['/api/v1/auth/app/{app_id}/mcp-token/{token_id}'].delete
$.paths['/api/v1/auth/app/{app_id}/create-message-token'].post
$.paths['/api/v1/management/authentication/{env_id}/api-token/{key_id}/expire'].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 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'