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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'