Convoy · Capability
Convoy API — Filters
Convoy webhooks gateway — Filters. 8 operations. Lead operation: List all filters. Self-contained Naftiko capability covering one Convoy business surface.
What You Can Do
GET
Getfilters
— List all filters
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters
POST
Createfilter
— Create a new filter
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters
POST
Bulkcreatefilters
— Create multiple subscription filters
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters/bulk
PUT
Bulkupdatefilters
— Update multiple subscription filters
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters/bulk_update
POST
Testfilter
— Test a filter
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters/test/{event-type}
DELETE
Deletefilter
— Delete a filter
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters/{filter-id}
GET
Getfilter
— Get a filter
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters/{filter-id}
PUT
Updatefilter
— Update a filter
/v1/projects/{project-id}/subscriptions/{subscription-id}/filters/{filter-id}
MCP Tools
list-filters
List all filters
read-only
idempotent
create-new-filter
Create a new filter
create-multiple-subscription-filters
Create multiple subscription filters
update-multiple-subscription-filters
Update multiple subscription filters
idempotent
test-filter
Test a filter
read-only
delete-filter
Delete a filter
idempotent
get-filter
Get a filter
read-only
idempotent
update-filter
Update a filter
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: "Convoy API \u2014 Filters"
description: "Convoy webhooks gateway \u2014 Filters. 8 operations. Lead operation: List all filters. Self-contained Naftiko\
\ capability covering one Convoy business surface."
tags:
- Convoy
- Webhooks
- Filters
created: '2026-05-22'
modified: '2026-05-22'
binds:
- namespace: env
keys:
CONVOY_API_KEY: CONVOY_API_KEY
capability:
consumes:
- type: http
namespace: convoy-filters
baseUri: https://us.getconvoy.cloud/api
description: "Convoy API \u2014 Filters business capability. Self-contained, no shared references."
authentication:
type: bearer
token: '{{env.CONVOY_API_KEY}}'
resources:
- name: v1-projects-project-id-subscriptions-subscription-id-filters
path: /v1/projects/{projectID}/subscriptions/{subscriptionID}/filters
operations:
- name: GetFilters
method: GET
description: List all filters
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: CreateFilter
method: POST
description: Create a new filter
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription 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-subscriptions-subscription-id-filters-bulk
path: /v1/projects/{projectID}/subscriptions/{subscriptionID}/filters/bulk
operations:
- name: BulkCreateFilters
method: POST
description: Create multiple subscription filters
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription 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-subscriptions-subscription-id-filters-bulk-update
path: /v1/projects/{projectID}/subscriptions/{subscriptionID}/filters/bulk_update
operations:
- name: BulkUpdateFilters
method: PUT
description: Update multiple subscription filters
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription 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-subscriptions-subscription-id-filters-test-event-type
path: /v1/projects/{projectID}/subscriptions/{subscriptionID}/filters/test/{eventType}
operations:
- name: TestFilter
method: POST
description: Test a filter
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription ID
- name: eventType
in: path
type: string
required: true
description: Event Type
- 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-subscriptions-subscription-id-filters-filter-id
path: /v1/projects/{projectID}/subscriptions/{subscriptionID}/filters/{filterID}
operations:
- name: DeleteFilter
method: DELETE
description: Delete a filter
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription ID
- name: filterID
in: path
type: string
required: true
description: Filter ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: GetFilter
method: GET
description: Get a filter
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription ID
- name: filterID
in: path
type: string
required: true
description: Filter ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: UpdateFilter
method: PUT
description: Update a filter
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: subscriptionID
in: path
type: string
required: true
description: Subscription ID
- name: filterID
in: path
type: string
required: true
description: Filter ID
- name: body
in: body
type: object
required: true
description: Request body payload.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: convoy-filters-rest
port: 8080
description: "REST adapter for Convoy API \u2014 Filters. One Spectral-compliant resource per consumed operation, prefixed\
\ with /v1."
resources:
- path: /v1/projects/{project-id}/subscriptions/{subscription-id}/filters
name: v1-projects-project-id-subscriptions-subscription-id-filters
description: REST surface for /v1/projects/{project-id}/subscriptions/{subscription-id}/filters.
operations:
- method: GET
name: GetFilters
description: List all filters
call: convoy-filters.GetFilters
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
outputParameters:
- type: object
mapping: $.
- method: POST
name: CreateFilter
description: Create a new filter
call: convoy-filters.CreateFilter
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/bulk
name: v1-projects-project-id-subscriptions-subscription-id-filters-bulk
description: REST surface for /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/bulk.
operations:
- method: POST
name: BulkCreateFilters
description: Create multiple subscription filters
call: convoy-filters.BulkCreateFilters
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/bulk_update
name: v1-projects-project-id-subscriptions-subscription-id-filters-bulk-update
description: REST surface for /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/bulk_update.
operations:
- method: PUT
name: BulkUpdateFilters
description: Update multiple subscription filters
call: convoy-filters.BulkUpdateFilters
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/test/{event-type}
name: v1-projects-project-id-subscriptions-subscription-id-filters-test-event-type
description: REST surface for /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/test/{event-type}.
operations:
- method: POST
name: TestFilter
description: Test a filter
call: convoy-filters.TestFilter
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
eventType: rest.eventType
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/{filter-id}
name: v1-projects-project-id-subscriptions-subscription-id-filters-filter-id
description: REST surface for /v1/projects/{project-id}/subscriptions/{subscription-id}/filters/{filter-id}.
operations:
- method: DELETE
name: DeleteFilter
description: Delete a filter
call: convoy-filters.DeleteFilter
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
filterID: rest.filterID
outputParameters:
- type: object
mapping: $.
- method: GET
name: GetFilter
description: Get a filter
call: convoy-filters.GetFilter
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
filterID: rest.filterID
outputParameters:
- type: object
mapping: $.
- method: PUT
name: UpdateFilter
description: Update a filter
call: convoy-filters.UpdateFilter
with:
projectID: rest.projectID
subscriptionID: rest.subscriptionID
filterID: rest.filterID
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: convoy-filters-mcp
port: 9090
transport: http
description: "MCP adapter for Convoy API \u2014 Filters. One tool per consumed operation, routed inline through this capability's\
\ consumes block."
tools:
- name: list-filters
description: List all filters
hints:
readOnly: true
destructive: false
idempotent: true
call: convoy-filters.GetFilters
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
outputParameters:
- type: object
mapping: $.
- name: create-new-filter
description: Create a new filter
hints:
readOnly: false
destructive: false
idempotent: false
call: convoy-filters.CreateFilter
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-multiple-subscription-filters
description: Create multiple subscription filters
hints:
readOnly: false
destructive: false
idempotent: false
call: convoy-filters.BulkCreateFilters
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-multiple-subscription-filters
description: Update multiple subscription filters
hints:
readOnly: false
destructive: false
idempotent: true
call: convoy-filters.BulkUpdateFilters
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: test-filter
description: Test a filter
hints:
readOnly: true
destructive: false
idempotent: false
call: convoy-filters.TestFilter
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
eventType: tools.eventType
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-filter
description: Delete a filter
hints:
readOnly: false
destructive: true
idempotent: true
call: convoy-filters.DeleteFilter
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
filterID: tools.filterID
outputParameters:
- type: object
mapping: $.
- name: get-filter
description: Get a filter
hints:
readOnly: true
destructive: false
idempotent: true
call: convoy-filters.GetFilter
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
filterID: tools.filterID
outputParameters:
- type: object
mapping: $.
- name: update-filter
description: Update a filter
hints:
readOnly: false
destructive: false
idempotent: true
call: convoy-filters.UpdateFilter
with:
projectID: tools.projectID
subscriptionID: tools.subscriptionID
filterID: tools.filterID
body: tools.body
outputParameters:
- type: object
mapping: $.