Svix · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Svix Application API

10 actions 10 updates phrasing extends openapi/svix-application-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 10

$.info
$.paths['/api/v1/app'].get
$.paths['/api/v1/app'].post
$.paths['/api/v1/app/{app_id}'].get
$.paths['/api/v1/app/{app_id}'].put
$.paths['/api/v1/app/{app_id}'].delete
$.paths['/api/v1/app/{app_id}'].patch
$.paths['/api/v1/app/{app_id}/alert-email'].patch
$.paths['/api/v1/app/stats/count-active'].get
$.paths['/api/v1/app/{app_id}/stats/attempts'].get

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 Application API
  version: 1.0.0
extends: openapi/svix-application-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: 9
- target: $.paths['/api/v1/app'].get
  update:
    x-apievangelist-phrasing:
      intent: List my applications
      effect: read
      questions:
      - Which applications — one per customer — exist in my Svix environment?
      - Can I leave out applications that have no endpoints yet?
      - Is it possible to hide apps whose endpoints are all disabled or only point to Svix Play?
      instructions:
      - text: List all my applications.
      - text: 'List applications, excluding those with no endpoints: {exclude_apps_with_no_endpoints}.'
        slots:
          exclude_apps_with_no_endpoints: query.exclude_apps_with_no_endpoints
      - text: Show {limit} applications in {order} order.
        slots:
          limit: query.limit
          order: query.order
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an application for a customer
      effect: write
      questions:
      - How do I create an application to hold one customer's webhook endpoints?
      - Can creating an application return the existing one if that uid is already taken?
      instructions:
      - text: Create an application named {name}.
        slots:
          name: requestBody.name
      - text: Create application {name} with uid {uid}, returning it if it already exists ({get_if_exists}).
        slots:
          name: requestBody.name
          uid: requestBody.uid
          get_if_exists: query.get_if_exists
      - text: Set up a new app {name} throttled to {throttleRate} messages per second.
        slots:
          name: requestBody.name
          throttleRate: requestBody.throttleRate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an application
      effect: read
      questions:
      - What name, uid and metadata does a given application have?
      - Can I fetch an application by my own uid rather than its Svix ID?
      instructions:
      - text: Show application {app_id}.
        slots:
          app_id: path.app_id
      - text: Fetch the details of app {app_id}.
        slots:
          app_id: path.app_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace an application
      effect: write
      questions:
      - Can I upsert an application by ID so it's created if missing?
      - How do I replace all of an application's settings at once?
      instructions:
      - text: Upsert application {app_id} with the name {name}.
        slots:
          app_id: path.app_id
          name: requestBody.name
      - text: Create or fully replace app {app_id} as {name} with metadata {metadata}.
        slots:
          app_id: path.app_id
          name: requestBody.name
          metadata: requestBody.metadata
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an application
      effect: destructive
      questions:
      - How do I remove an application when a customer leaves?
      - Can I permanently delete an app and stop all its webhooks?
      instructions:
      - text: Delete application {app_id}.
        slots:
          app_id: path.app_id
      - text: Remove app {app_id} permanently.
        slots:
          app_id: path.app_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change some fields of an application
      effect: write
      questions:
      - Can I rename an application without resending its other settings?
      - How do I update just an app's metadata?
      instructions:
      - text: Rename application {app_id} to {name}.
        slots:
          app_id: path.app_id
          name: requestBody.name
      - text: Partially update app {app_id} with metadata {metadata}.
        slots:
          app_id: path.app_id
          metadata: requestBody.metadata
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}/alert-email'].patch
  update:
    x-apievangelist-phrasing:
      intent: Set an application's alert email
      effect: write
      questions:
      - Where do delivery alerts for an application get emailed, and can I change it?
      - How do I set the alert email address for one customer's app?
      instructions:
      - text: Set the alert email of application {app_id} to {email}.
        slots:
          app_id: path.app_id
          email: requestBody.email
      - text: Send alerts for app {app_id} to {email}.
        slots:
          app_id: path.app_id
          email: requestBody.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/stats/count-active'].get
  update:
    x-apievangelist-phrasing:
      intent: Count applications with an active endpoint
      effect: read
      questions:
      - How many of my applications have at least one active endpoint?
      - Can I count active apps while ignoring Svix Play and disabled endpoints?
      instructions:
      - text: Count the apps that have at least one active endpoint.
      - text: 'Count active applications, excluding Svix Play endpoints: {exclude_svix_play}.'
        slots:
          exclude_svix_play: query.exclude_svix_play
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}/stats/attempts'].get
  update:
    x-apievangelist-phrasing:
      intent: Get message attempt stats for an application
      effect: read
      questions:
      - How many delivery attempts did one application make over a time range?
      - Can I break an app's attempt statistics down to specific event types?
      instructions:
      - text: Show message attempt stats for app {app_id} from {since} to {until}.
        slots:
          app_id: path.app_id
          since: query.since
          until: query.until
      - text: Get attempt statistics for application {app_id} between {since} and {until}, only for {event_types}.
        slots:
          app_id: path.app_id
          since: query.since
          until: query.until
          event_types: query.event_types
      method: generated
      generated: '2026-09-26'