# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Svix Ingest Source API version: 1.0.0 extends: openapi/svix-ingest-source-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: 8 - target: $.paths['/ingest/api/v1/source'].get update: x-apievangelist-phrasing: intent: List ingest sources effect: read questions: - Which ingest sources have I set up to receive incoming webhooks? - Can I page through my ingest sources with a limit? instructions: - text: List all my ingest sources. - text: Show the first {limit} ingest sources in {order} order. slots: limit: query.limit order: query.order method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source'].post update: x-apievangelist-phrasing: intent: Create an ingest source effect: write questions: - How do I create a source to receive webhooks from a third-party sender? - Can I give a new ingest source my own uid? instructions: - text: Create an ingest source named {name}. slots: name: requestBody.name - text: Create ingest source {name} with uid {uid}. slots: name: requestBody.name uid: requestBody.uid method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source/{source_id}'].get update: x-apievangelist-phrasing: intent: Get an ingest source effect: read questions: - What is the ingest URL and configuration of a specific source? - Can I look up an ingest source by uid? instructions: - text: Show ingest source {source_id}. slots: source_id: path.source_id - text: Fetch the details and ingest URL of source {source_id}. slots: source_id: path.source_id method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source/{source_id}'].put update: x-apievangelist-phrasing: intent: Create or replace an ingest source effect: write questions: - Can I upsert an ingest source so it's created if missing? - How do I replace an ingest source's name and metadata together? instructions: - text: Upsert ingest source {source_id} with name {name}. slots: source_id: path.source_id name: requestBody.name - text: Create or fully replace ingest source {source_id} as {name} with metadata {metadata}. slots: source_id: path.source_id name: requestBody.name metadata: requestBody.metadata method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source/{source_id}'].delete update: x-apievangelist-phrasing: intent: Delete an ingest source effect: destructive questions: - How do I remove an ingest source I no longer receive webhooks on? - Can I permanently delete an ingest source? instructions: - text: Delete ingest source {source_id}. slots: source_id: path.source_id - text: Remove ingest source {source_id} for good. slots: source_id: path.source_id method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source/{source_id}'].patch update: x-apievangelist-phrasing: intent: Change some fields of an ingest source effect: write questions: - Can I rename an ingest source without replacing it? - How do I update only an ingest source's metadata? instructions: - text: Rename ingest source {source_id} to {name}. slots: source_id: path.source_id name: requestBody.name - text: Patch ingest source {source_id} with metadata {metadata}. slots: source_id: path.source_id metadata: requestBody.metadata method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source/{source_id}/token/rotate'].post update: x-apievangelist-phrasing: intent: Rotate an ingest source's URL token effect: write questions: - How do I get a new ingest URL if the old one leaked? - How long do old ingest tokens keep working, and how often can I rotate? instructions: - text: Rotate the URL token for ingest source {source_id}. slots: source_id: path.source_id - text: Generate a fresh ingest URL for source {source_id}. slots: source_id: path.source_id method: generated generated: '2026-09-26' - target: $.paths['/ingest/api/v1/source/{source_id}/dashboard'].post update: x-apievangelist-phrasing: intent: Open the consumer portal for an ingest source effect: write questions: - How do I get a consumer portal link for an ingest source? - Can the ingest source portal access be read-only and expire? instructions: - text: Get consumer portal access for ingest source {source_id}. slots: source_id: path.source_id - text: Create a read-only ({readOnly}) portal link for ingest source {source_id} expiring in {expiry}. slots: readOnly: requestBody.readOnly source_id: path.source_id expiry: requestBody.expiry method: generated generated: '2026-09-26'