Convoy · Arazzo Workflow

Convoy Fan Out Event to Owner

Version 1.0.0

Confirm endpoints exist for an owner, fan out an event to them, and verify it landed.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub WebhookWebhook GatewayEvent DeliveryEventingMessagingIntegrationAPI InfrastructureArazzoWorkflows

Provider

convoy

Workflows

fanout-event-to-owner
List an owner's endpoints, fan out an event to them, and confirm it.
Verifies that at least one endpoint is registered against the supplied owner ID, fans out an event to all endpoints sharing that owner ID, and lists recent events to confirm the fanout was accepted.
3 steps inputs: apiKey, eventData, eventType, ownerId, projectID outputs: firstEndpointId, latestEventId
1
listOwnerEndpoints
List the endpoints registered against the owner ID, branching only when at least one endpoint exists to receive the fanout.
2
fanoutEvent
Fan out a single event to all endpoints that share the supplied owner ID.
3
confirmEvents
List recent events for the project to confirm the fanout produced events.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Convoy Fan Out Event to Owner
  summary: Confirm endpoints exist for an owner, fan out an event to them, and verify it landed.
  description: >-
    Convoy groups endpoints under a shared owner ID to support fanout. This
    flow first lists the endpoints registered against an owner ID, fans out a
    single event to every endpoint owned by that ID, and then lists recent
    events to confirm the broadcast was accepted. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-4270.80
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4270.80
      capability_name: Webhook & Event Subscription Management
      spec: convoy-events-api-openapi.yml
      confidence: 0.75
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: endpointsApi
  url: ../openapi/convoy-endpoints-api-openapi.yml
  type: openapi
- name: eventsApi
  url: ../openapi/convoy-events-api-openapi.yml
  type: openapi
workflows:
- workflowId: fanout-event-to-owner
  summary: List an owner's endpoints, fan out an event to them, and confirm it.
  description: >-
    Verifies that at least one endpoint is registered against the supplied
    owner ID, fans out an event to all endpoints sharing that owner ID, and
    lists recent events to confirm the fanout was accepted.
  inputs:
    type: object
    required:
    - apiKey
    - projectID
    - ownerId
    - eventType
    - eventData
    properties:
      apiKey:
        type: string
        description: Convoy API key used as the Bearer token on the Authorization header.
      projectID:
        type: string
        description: The Convoy project identifier.
      ownerId:
        type: string
        description: The owner ID grouping the endpoints that should receive the fanout.
      eventType:
        type: string
        description: Event type used for filtering and debugging (e.g. invoice.paid).
      eventData:
        type: object
        description: Arbitrary JSON payload sent as the webhook body to every endpoint.
  steps:
  - stepId: listOwnerEndpoints
    description: >-
      List the endpoints registered against the owner ID, branching only when
      at least one endpoint exists to receive the fanout.
    operationId: GetEndpoints
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: projectID
      in: path
      value: $inputs.projectID
    - name: ownerId
      in: query
      value: $inputs.ownerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstEndpointId: $response.body#/data/content/0/uid
    onSuccess:
    - name: endpointsExist
      type: goto
      stepId: fanoutEvent
      criteria:
      - context: $response.body
        condition: $.data.content.length > 0
        type: jsonpath
  - stepId: fanoutEvent
    description: >-
      Fan out a single event to all endpoints that share the supplied owner ID.
    operationId: CreateEndpointFanoutEvent
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: projectID
      in: path
      value: $inputs.projectID
    requestBody:
      contentType: application/json
      payload:
        owner_id: $inputs.ownerId
        event_type: $inputs.eventType
        data: $inputs.eventData
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      message: $response.body#/message
  - stepId: confirmEvents
    description: >-
      List recent events for the project to confirm the fanout produced events.
    operationId: GetEventsPaged
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.apiKey
    - name: projectID
      in: path
      value: $inputs.projectID
    - name: perPage
      in: query
      value: 20
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestEventId: $response.body#/data/content/0/uid
  outputs:
    firstEndpointId: $steps.listOwnerEndpoints.outputs.firstEndpointId
    latestEventId: $steps.confirmEvents.outputs.latestEventId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/convoy-fanout-event-to-owner-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.