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.
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
# 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'