Convoy · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Convoy API Reference Events API
9 actions
9 updates
phrasing
extends
openapi/convoy-events-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Convoy's API. It is a proposal applied on top of the contract, not a document Convoy publishes.
What the actions change
x-apievangelist-phrasing
Targets 9
$.info
$.paths['/v1/projects/{projectID}/events'].get
$.paths['/v1/projects/{projectID}/events'].post
$.paths['/v1/projects/{projectID}/events/batchreplay'].post
$.paths['/v1/projects/{projectID}/events/broadcast'].post
$.paths['/v1/projects/{projectID}/events/dynamic'].post
$.paths['/v1/projects/{projectID}/events/fanout'].post
$.paths['/v1/projects/{projectID}/events/{eventID}'].get
$.paths['/v1/projects/{projectID}/events/{eventID}/replay'].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 Convoy API Reference Events API
version: 1.0.0
extends: openapi/convoy-events-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 8
- target: $.paths['/v1/projects/{projectID}/events'].get
update:
x-apievangelist-phrasing:
intent: List events sent through a project
effect: read
questions:
- Which events has my project sent in the past week?
- Can I search events by a value inside their payload?
- How do I list only the events that came in from a particular source?
instructions:
- text: List events in project {projectID}.
slots:
projectID: path.projectID
- text: Find events whose payload contains {query} between {startDate} and {endDate}.
slots:
query: query.query
startDate: query.startDate
endDate: query.endDate
- text: List events received from source {sourceId}.
slots:
sourceId: query.sourceId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events'].post
update:
x-apievangelist-phrasing:
intent: Send an event to one endpoint
effect: write
questions:
- How do I send a webhook event to a single specific endpoint?
- Can I attach custom headers and an idempotency key to an event for one endpoint?
instructions:
- text: Send a {event_type} event with data {data} to endpoint {endpoint_id} in project {projectID}.
slots:
event_type: requestBody.event_type
data: requestBody.data
endpoint_id: requestBody.endpoint_id
projectID: path.projectID
- text: Create an event for endpoint {endpoint_id} with idempotency key {idempotency_key}.
slots:
endpoint_id: requestBody.endpoint_id
idempotency_key: requestBody.idempotency_key
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events/batchreplay'].post
update:
x-apievangelist-phrasing:
intent: Replay many events at once
effect: write
questions:
- Can I replay all the events from a date range after an outage?
- Is there a bulk replay for every event that came from one source?
instructions:
- text: Batch replay all events in project {projectID} from {startDate} to {endDate}.
slots:
projectID: path.projectID
startDate: query.startDate
endDate: query.endDate
- text: Replay in bulk every event sent to endpoint {endpointId}.
slots:
endpointId: query.endpointId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events/broadcast'].post
update:
x-apievangelist-phrasing:
intent: Broadcast an event to all subscribed endpoints
effect: write
questions:
- How do I send one event to every endpoint subscribed to its event type?
- Can I broadcast an event without naming each endpoint?
instructions:
- text: Broadcast a {event_type} event with data {data} in project {projectID}.
slots:
event_type: requestBody.event_type
data: requestBody.data
projectID: path.projectID
- text: Broadcast {event_type} to all matching subscribers using idempotency key {idempotency_key}.
slots:
event_type: requestBody.event_type
idempotency_key: requestBody.idempotency_key
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events/dynamic'].post
update:
x-apievangelist-phrasing:
intent: Send an event to a URL without setup
effect: write
questions:
- Can I send a webhook to a URL without creating an endpoint and subscription first?
- What's the quickest way to deliver a one-off payload to an arbitrary HTTPS URL?
instructions:
- text: Send a dynamic {event_type} event with data {data} straight to {url} in project {projectID}.
slots:
event_type: requestBody.event_type
data: requestBody.data
url: requestBody.url
projectID: path.projectID
- text: Deliver a dynamic event to {url} signed with secret {secret}.
slots:
url: requestBody.url
secret: requestBody.secret
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events/fanout'].post
update:
x-apievangelist-phrasing:
intent: Fan out an event to an owner's endpoints
effect: write
questions:
- How do I send one event to all endpoints that share an owner ID?
- Can a single event fan out to every endpoint a customer has registered?
instructions:
- text: Fan out a {event_type} event with data {data} to owner {owner_id} in project {projectID}.
slots:
event_type: requestBody.event_type
data: requestBody.data
owner_id: requestBody.owner_id
projectID: path.projectID
- text: Send this event to every endpoint owned by {owner_id}.
slots:
owner_id: requestBody.owner_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events/{eventID}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve an event
effect: read
questions:
- Where can I see the payload and type of one event I sent?
- Can I look up a single event by its ID?
instructions:
- text: Get event {eventID} in project {projectID}.
slots:
eventID: path.eventID
projectID: path.projectID
- text: Show me the payload of event {eventID}.
slots:
eventID: path.eventID
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/projects/{projectID}/events/{eventID}/replay'].put
update:
x-apievangelist-phrasing:
intent: Replay a single event as new
effect: write
questions:
- How do I replay one event as if it were brand new?
- Can I resend a single past event to its subscribers again?
instructions:
- text: Replay event {eventID} in project {projectID}.
slots:
eventID: path.eventID
projectID: path.projectID
- text: Replay event {eventID} afresh.
slots:
eventID: path.eventID
method: generated
generated: '2026-10-01'