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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'