naftiko: 1.0.0-alpha2 info: label: "Convoy API \u2014 Events" description: "Convoy webhooks gateway \u2014 Events. 8 operations. Lead operation: List all events. Self-contained Naftiko\ \ capability covering one Convoy business surface." tags: - Convoy - Webhooks - Events created: '2026-05-22' modified: '2026-05-22' binds: - namespace: env keys: CONVOY_API_KEY: CONVOY_API_KEY capability: consumes: - type: http namespace: convoy-events baseUri: https://us.getconvoy.cloud/api description: "Convoy API \u2014 Events business capability. Self-contained, no shared references." authentication: type: bearer token: '{{env.CONVOY_API_KEY}}' resources: - name: v1-projects-project-id-events path: /v1/projects/{projectID}/events operations: - name: GetEventsPaged method: GET description: List all events inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: direction in: query type: string required: false description: query parameter direction - name: endDate in: query type: string required: false description: The end date - name: endpointId in: query type: array required: false description: A list of endpoint ids to filter by - name: idempotencyKey in: query type: string required: false description: IdempotencyKey to filter by - name: next_page_cursor in: query type: string required: false description: A pagination cursor to fetch the next page of a list - name: perPage in: query type: integer required: false description: The number of items to return per page - name: prev_page_cursor in: query type: string required: false description: A pagination cursor to fetch the previous page of a list - name: query in: query type: string required: false description: Any arbitrary value to filter the events payload - name: sort in: query type: string required: false description: Sort order, values are `ASC` or `DESC`, defaults to `DESC` - name: sourceId in: query type: array required: false description: A list of Source IDs to filter the events by. - name: startDate in: query type: string required: false description: The start date outputRawFormat: json outputParameters: - name: result type: object value: $. - name: CreateEndpointEvent method: POST description: Create an event inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-events-batchreplay path: /v1/projects/{projectID}/events/batchreplay operations: - name: BatchReplayEvents method: POST description: Batch replay events inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: direction in: query type: string required: false description: query parameter direction - name: endDate in: query type: string required: false description: The end date - name: endpointId in: query type: array required: false description: A list of endpoint ids to filter by - name: idempotencyKey in: query type: string required: false description: IdempotencyKey to filter by - name: next_page_cursor in: query type: string required: false description: A pagination cursor to fetch the next page of a list - name: perPage in: query type: integer required: false description: The number of items to return per page - name: prev_page_cursor in: query type: string required: false description: A pagination cursor to fetch the previous page of a list - name: query in: query type: string required: false description: Any arbitrary value to filter the events payload - name: sort in: query type: string required: false description: Sort order, values are `ASC` or `DESC`, defaults to `DESC` - name: sourceId in: query type: array required: false description: A list of Source IDs to filter the events by. - name: startDate in: query type: string required: false description: The start date outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-events-broadcast path: /v1/projects/{projectID}/events/broadcast operations: - name: CreateBroadcastEvent method: POST description: Create a broadcast event inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-events-dynamic path: /v1/projects/{projectID}/events/dynamic operations: - name: CreateDynamicEvent method: POST description: Dynamic Events inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-events-fanout path: /v1/projects/{projectID}/events/fanout operations: - name: CreateEndpointFanoutEvent method: POST description: Fan out an event inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-events-event-id path: /v1/projects/{projectID}/events/{eventID} operations: - name: GetEndpointEvent method: GET description: Retrieve an event inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: eventID in: path type: string required: true description: event id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-events-event-id-replay path: /v1/projects/{projectID}/events/{eventID}/replay operations: - name: ReplayEndpointEvent method: PUT description: Replay event inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: eventID in: path type: string required: true description: event id outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: convoy-events-rest port: 8080 description: "REST adapter for Convoy API \u2014 Events. One Spectral-compliant resource per consumed operation, prefixed\ \ with /v1." resources: - path: /v1/projects/{project-id}/events name: v1-projects-project-id-events description: REST surface for /v1/projects/{project-id}/events. operations: - method: GET name: GetEventsPaged description: List all events call: convoy-events.GetEventsPaged with: projectID: rest.projectID direction: rest.direction endDate: rest.endDate endpointId: rest.endpointId idempotencyKey: rest.idempotencyKey next_page_cursor: rest.next_page_cursor perPage: rest.perPage prev_page_cursor: rest.prev_page_cursor query: rest.query sort: rest.sort sourceId: rest.sourceId startDate: rest.startDate outputParameters: - type: object mapping: $. - method: POST name: CreateEndpointEvent description: Create an event call: convoy-events.CreateEndpointEvent with: projectID: rest.projectID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/events/batchreplay name: v1-projects-project-id-events-batchreplay description: REST surface for /v1/projects/{project-id}/events/batchreplay. operations: - method: POST name: BatchReplayEvents description: Batch replay events call: convoy-events.BatchReplayEvents with: projectID: rest.projectID direction: rest.direction endDate: rest.endDate endpointId: rest.endpointId idempotencyKey: rest.idempotencyKey next_page_cursor: rest.next_page_cursor perPage: rest.perPage prev_page_cursor: rest.prev_page_cursor query: rest.query sort: rest.sort sourceId: rest.sourceId startDate: rest.startDate outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/events/broadcast name: v1-projects-project-id-events-broadcast description: REST surface for /v1/projects/{project-id}/events/broadcast. operations: - method: POST name: CreateBroadcastEvent description: Create a broadcast event call: convoy-events.CreateBroadcastEvent with: projectID: rest.projectID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/events/dynamic name: v1-projects-project-id-events-dynamic description: REST surface for /v1/projects/{project-id}/events/dynamic. operations: - method: POST name: CreateDynamicEvent description: Dynamic Events call: convoy-events.CreateDynamicEvent with: projectID: rest.projectID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/events/fanout name: v1-projects-project-id-events-fanout description: REST surface for /v1/projects/{project-id}/events/fanout. operations: - method: POST name: CreateEndpointFanoutEvent description: Fan out an event call: convoy-events.CreateEndpointFanoutEvent with: projectID: rest.projectID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/events/{event-id} name: v1-projects-project-id-events-event-id description: REST surface for /v1/projects/{project-id}/events/{event-id}. operations: - method: GET name: GetEndpointEvent description: Retrieve an event call: convoy-events.GetEndpointEvent with: projectID: rest.projectID eventID: rest.eventID outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/events/{event-id}/replay name: v1-projects-project-id-events-event-id-replay description: REST surface for /v1/projects/{project-id}/events/{event-id}/replay. operations: - method: PUT name: ReplayEndpointEvent description: Replay event call: convoy-events.ReplayEndpointEvent with: projectID: rest.projectID eventID: rest.eventID outputParameters: - type: object mapping: $. - type: mcp namespace: convoy-events-mcp port: 9090 transport: http description: "MCP adapter for Convoy API \u2014 Events. One tool per consumed operation, routed inline through this capability's\ \ consumes block." tools: - name: list-events description: List all events hints: readOnly: true destructive: false idempotent: true call: convoy-events.GetEventsPaged with: projectID: tools.projectID direction: tools.direction endDate: tools.endDate endpointId: tools.endpointId idempotencyKey: tools.idempotencyKey next_page_cursor: tools.next_page_cursor perPage: tools.perPage prev_page_cursor: tools.prev_page_cursor query: tools.query sort: tools.sort sourceId: tools.sourceId startDate: tools.startDate outputParameters: - type: object mapping: $. - name: create-event description: Create an event hints: readOnly: false destructive: false idempotent: false call: convoy-events.CreateEndpointEvent with: projectID: tools.projectID body: tools.body outputParameters: - type: object mapping: $. - name: batch-replay-events description: Batch replay events hints: readOnly: false destructive: false idempotent: false call: convoy-events.BatchReplayEvents with: projectID: tools.projectID direction: tools.direction endDate: tools.endDate endpointId: tools.endpointId idempotencyKey: tools.idempotencyKey next_page_cursor: tools.next_page_cursor perPage: tools.perPage prev_page_cursor: tools.prev_page_cursor query: tools.query sort: tools.sort sourceId: tools.sourceId startDate: tools.startDate outputParameters: - type: object mapping: $. - name: create-broadcast-event description: Create a broadcast event hints: readOnly: false destructive: false idempotent: false call: convoy-events.CreateBroadcastEvent with: projectID: tools.projectID body: tools.body outputParameters: - type: object mapping: $. - name: dynamic-events description: Dynamic Events hints: readOnly: false destructive: false idempotent: false call: convoy-events.CreateDynamicEvent with: projectID: tools.projectID body: tools.body outputParameters: - type: object mapping: $. - name: fan-out-event description: Fan out an event hints: readOnly: false destructive: false idempotent: false call: convoy-events.CreateEndpointFanoutEvent with: projectID: tools.projectID body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-event description: Retrieve an event hints: readOnly: true destructive: false idempotent: true call: convoy-events.GetEndpointEvent with: projectID: tools.projectID eventID: tools.eventID outputParameters: - type: object mapping: $. - name: replay-event description: Replay event hints: readOnly: false destructive: false idempotent: true call: convoy-events.ReplayEndpointEvent with: projectID: tools.projectID eventID: tools.eventID outputParameters: - type: object mapping: $.