Svix · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Svix Connector API
14 actions
14 updates
phrasing
extends
openapi/svix-connector-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 14
$.info
$.paths['/api/v1/connector'].get
$.paths['/api/v1/connector'].post
$.paths['/api/v1/connector/{connector_id}'].get
$.paths['/api/v1/connector/{connector_id}'].put
$.paths['/api/v1/connector/{connector_id}'].delete
$.paths['/api/v1/connector/{connector_id}'].patch
$.paths['/api/v1/connector/{connector_id}/options'].get
$.paths['/api/v1/connector/{connector_id}/options'].put
$.paths['/api/v1/connector/simulate'].post
$.paths['/api/v1/connector/oauth/slack'].post
$.paths['/api/v1/connector/oauth/discord'].post
$.paths['/api/v1/connector/oauth/hubspot'].post
$.paths['/api/v1/app/{app_id}/endpoint/{endpoint_id}/connector/oauth/hubspot'].put
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 Connector API
version: 1.0.0
extends: openapi/svix-connector-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: 13
- target: $.paths['/api/v1/connector'].get
update:
x-apievangelist-phrasing:
intent: List connectors
effect: read
questions:
- What connectors have I built for my Svix environment?
- Can I filter my connectors by product type?
instructions:
- text: List all my connectors.
- text: Show connectors for product type {product_type}, {limit} at a time.
slots:
product_type: query.product_type
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector'].post
update:
x-apievangelist-phrasing:
intent: Create a connector
effect: write
questions:
- How do I publish a new pre-built connector that my customers can pick for their endpoints?
- Can a new connector restrict which event types it accepts?
instructions:
- text: Create a connector named {name} with transformation code {transformation}.
slots:
name: requestBody.name
transformation: requestBody.transformation
- text: Create connector {name} using transformation {transformation}, allowing only {allowedEventTypes}, with setup instructions {instructions}.
slots:
name: requestBody.name
transformation: requestBody.transformation
allowedEventTypes: requestBody.allowedEventTypes
instructions: requestBody.instructions
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/{connector_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a connector
effect: read
questions:
- What transformation and allowed event types does a specific connector have?
- Can I view one connector's logo and setup instructions?
instructions:
- text: Show connector {connector_id}.
slots:
connector_id: path.connector_id
- text: Fetch the full details of connector {connector_id}.
slots:
connector_id: path.connector_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/{connector_id}'].put
update:
x-apievangelist-phrasing:
intent: Create or replace a connector
effect: write
questions:
- Can I upsert a connector so it's created if that ID doesn't exist yet?
- How do I replace a connector's whole definition, transformation included?
instructions:
- text: Upsert connector {connector_id} with transformation {transformation}.
slots:
connector_id: path.connector_id
transformation: requestBody.transformation
- text: 'Replace connector {connector_id} entirely: name {name}, transformation {transformation}.'
slots:
connector_id: path.connector_id
name: requestBody.name
transformation: requestBody.transformation
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/{connector_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a connector
effect: destructive
questions:
- How do I remove a connector I no longer offer?
- Can I permanently delete a connector?
instructions:
- text: Delete connector {connector_id}.
slots:
connector_id: path.connector_id
- text: Remove connector {connector_id} for good.
slots:
connector_id: path.connector_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/{connector_id}'].patch
update:
x-apievangelist-phrasing:
intent: Change some fields of a connector
effect: write
questions:
- Can I update just a connector's logo or description?
- How do I tweak one connector field without resending its transformation?
instructions:
- text: Change the description of connector {connector_id} to {description}.
slots:
connector_id: path.connector_id
description: requestBody.description
- text: Partially update connector {connector_id} with the logo {logo}.
slots:
connector_id: path.connector_id
logo: requestBody.logo
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/{connector_id}/options'].get
update:
x-apievangelist-phrasing:
intent: Get a connector's options
effect: read
questions:
- What options are configured on a connector?
- Can I read back the option settings for one connector?
instructions:
- text: Show the options of connector {connector_id}.
slots:
connector_id: path.connector_id
- text: Fetch connector {connector_id}'s option settings.
slots:
connector_id: path.connector_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/{connector_id}/options'].put
update:
x-apievangelist-phrasing:
intent: Set a connector's options
effect: write
questions:
- How do I change the options on a connector?
- Can I overwrite a connector's option settings?
instructions:
- text: Set the options for connector {connector_id}.
slots:
connector_id: path.connector_id
- text: Save new option settings on connector {connector_id}.
slots:
connector_id: path.connector_id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/simulate'].post
update:
x-apievangelist-phrasing:
intent: Test connector transformation code on a payload
effect: read
questions:
- Can I try out connector transformation code on a sample event before saving it?
- What would a payload look like after a connector's transformation?
instructions:
- text: Simulate connector code {code} on a {eventType} event with payload {payload}.
slots:
code: requestBody.code
eventType: requestBody.eventType
payload: requestBody.payload
- text: Dry-run connector transformation {code} against payload {payload} as event type {eventType} on channels {channels}.
slots:
code: requestBody.code
payload: requestBody.payload
eventType: requestBody.eventType
channels: requestBody.channels
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/oauth/slack'].post
update:
x-apievangelist-phrasing:
intent: Exchange a Slack OAuth code for a webhook URL
effect: write
questions:
- How do I turn a Slack OAuth code into an incoming webhook URL for a connector?
- What does the Slack connector authorization need from the redirect?
instructions:
- text: Exchange Slack authorization code {code} with redirect URI {redirectUri} for an incoming webhook URL.
slots:
code: requestBody.code
redirectUri: requestBody.redirectUri
- text: Authorize Slack with code {code} and redirect {redirectUri}.
slots:
code: requestBody.code
redirectUri: requestBody.redirectUri
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/oauth/discord'].post
update:
x-apievangelist-phrasing:
intent: Exchange a Discord OAuth code for a webhook URL
effect: write
questions:
- How do I turn a Discord OAuth code into an incoming webhook URL?
- Which values does the Discord connector authorization require?
instructions:
- text: Exchange Discord authorization code {code} with redirect URI {redirectUri} for an incoming webhook URL.
slots:
code: requestBody.code
redirectUri: requestBody.redirectUri
- text: Authorize Discord with code {code} and redirect {redirectUri}.
slots:
code: requestBody.code
redirectUri: requestBody.redirectUri
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/connector/oauth/hubspot'].post
update:
x-apievangelist-phrasing:
intent: Exchange a HubSpot OAuth code for an access token
effect: write
questions:
- How do I get a HubSpot access token from an authorization code for a connector?
- What does the HubSpot connector authorization need from the OAuth redirect?
instructions:
- text: Exchange HubSpot authorization code {code} with redirect URI {redirectUri} for an access token.
slots:
code: requestBody.code
redirectUri: requestBody.redirectUri
- text: Authorize HubSpot with code {code} and redirect {redirectUri}.
slots:
code: requestBody.code
redirectUri: requestBody.redirectUri
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/app/{app_id}/endpoint/{endpoint_id}/connector/oauth/hubspot'].put
update:
x-apievangelist-phrasing:
intent: Store HubSpot OAuth credentials on an endpoint
effect: write
questions:
- How do I save a HubSpot refresh token on an endpoint without exposing the secret to the client?
- Can I update the HubSpot OAuth setup of an existing endpoint?
instructions:
- text: Set the HubSpot refresh token {refresh_token} on endpoint {endpoint_id} in app {app_id}.
slots:
refresh_token: requestBody.refresh_token
endpoint_id: path.endpoint_id
app_id: path.app_id
- text: Update endpoint {endpoint_id}'s HubSpot OAuth config on app {app_id} with refresh token {refresh_token}.
slots:
endpoint_id: path.endpoint_id
app_id: path.app_id
refresh_token: requestBody.refresh_token
method: generated
generated: '2026-09-26'