Convoy · Capability
Convoy API — Endpoints
Convoy webhooks gateway — Endpoints. 9 operations. Lead operation: List all endpoints. Self-contained Naftiko capability covering one Convoy business surface.
What You Can Do
GET
Getendpoints
— List all endpoints
/v1/projects/{project-id}/endpoints
POST
Createendpoint
— Create an endpoint
/v1/projects/{project-id}/endpoints
POST
Testoauth2connection
— Test OAuth2 connection
/v1/projects/{project-id}/endpoints/oauth2/test
DELETE
Deleteendpoint
— Delete endpoint
/v1/projects/{project-id}/endpoints/{endpoint-id}
GET
Getendpoint
— Retrieve endpoint
/v1/projects/{project-id}/endpoints/{endpoint-id}
PUT
Updateendpoint
— Update an endpoint
/v1/projects/{project-id}/endpoints/{endpoint-id}
POST
Activateendpoint
— Activate endpoint
/v1/projects/{project-id}/endpoints/{endpoint-id}/activate
PUT
Expiresecret
— Roll endpoint secret
/v1/projects/{project-id}/endpoints/{endpoint-id}/expire_secret
PUT
Pauseendpoint
— Pause endpoint
/v1/projects/{project-id}/endpoints/{endpoint-id}/pause
MCP Tools
list-endpoints
List all endpoints
read-only
idempotent
create-endpoint
Create an endpoint
test-o-auth-2-connection
Test OAuth2 connection
read-only
delete-endpoint
Delete endpoint
idempotent
retrieve-endpoint
Retrieve endpoint
read-only
idempotent
update-endpoint
Update an endpoint
idempotent
activate-endpoint
Activate endpoint
roll-endpoint-secret
Roll endpoint secret
idempotent
pause-endpoint
Pause endpoint
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: "Convoy API \u2014 Endpoints"
description: "Convoy webhooks gateway \u2014 Endpoints. 9 operations. Lead operation: List all endpoints. Self-contained\
\ Naftiko capability covering one Convoy business surface."
tags:
- Convoy
- Webhooks
- Endpoints
created: '2026-05-22'
modified: '2026-05-22'
binds:
- namespace: env
keys:
CONVOY_API_KEY: CONVOY_API_KEY
capability:
consumes:
- type: http
namespace: convoy-endpoints
baseUri: https://us.getconvoy.cloud/api
description: "Convoy API \u2014 Endpoints business capability. Self-contained, no shared references."
authentication:
type: bearer
token: '{{env.CONVOY_API_KEY}}'
resources:
- name: v1-projects-project-id-endpoints
path: /v1/projects/{projectID}/endpoints
operations:
- name: GetEndpoints
method: GET
description: List all endpoints
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: next_page_cursor
in: query
type: string
required: false
description: A pagination cursor to fetch the next page of a list
- name: ownerId
in: query
type: string
required: false
description: The owner ID of the endpoint
- 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: q
in: query
type: string
required: false
description: The name of the endpoint
- name: sort
in: query
type: string
required: false
description: Sort order, values are `ASC` or `DESC`, defaults to `DESC`
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: CreateEndpoint
method: POST
description: Create an endpoint
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-endpoints-oauth2-test
path: /v1/projects/{projectID}/endpoints/oauth2/test
operations:
- name: TestOAuth2Connection
method: POST
description: Test OAuth2 connection
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-endpoints-endpoint-id
path: /v1/projects/{projectID}/endpoints/{endpointID}
operations:
- name: DeleteEndpoint
method: DELETE
description: Delete endpoint
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: endpointID
in: path
type: string
required: true
description: Endpoint ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: GetEndpoint
method: GET
description: Retrieve endpoint
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: endpointID
in: path
type: string
required: true
description: Endpoint ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: UpdateEndpoint
method: PUT
description: Update an endpoint
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: endpointID
in: path
type: string
required: true
description: Endpoint 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-endpoints-endpoint-id-activate
path: /v1/projects/{projectID}/endpoints/{endpointID}/activate
operations:
- name: ActivateEndpoint
method: POST
description: Activate endpoint
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: endpointID
in: path
type: string
required: true
description: Endpoint ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: v1-projects-project-id-endpoints-endpoint-id-expire-secret
path: /v1/projects/{projectID}/endpoints/{endpointID}/expire_secret
operations:
- name: ExpireSecret
method: PUT
description: Roll endpoint secret
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: endpointID
in: path
type: string
required: true
description: Endpoint 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-endpoints-endpoint-id-pause
path: /v1/projects/{projectID}/endpoints/{endpointID}/pause
operations:
- name: PauseEndpoint
method: PUT
description: Pause endpoint
inputParameters:
- name: projectID
in: path
type: string
required: true
description: Project ID
- name: endpointID
in: path
type: string
required: true
description: Endpoint ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: convoy-endpoints-rest
port: 8080
description: "REST adapter for Convoy API \u2014 Endpoints. One Spectral-compliant resource per consumed operation, prefixed\
\ with /v1."
resources:
- path: /v1/projects/{project-id}/endpoints
name: v1-projects-project-id-endpoints
description: REST surface for /v1/projects/{project-id}/endpoints.
operations:
- method: GET
name: GetEndpoints
description: List all endpoints
call: convoy-endpoints.GetEndpoints
with:
projectID: rest.projectID
direction: rest.direction
next_page_cursor: rest.next_page_cursor
ownerId: rest.ownerId
perPage: rest.perPage
prev_page_cursor: rest.prev_page_cursor
q: rest.q
sort: rest.sort
outputParameters:
- type: object
mapping: $.
- method: POST
name: CreateEndpoint
description: Create an endpoint
call: convoy-endpoints.CreateEndpoint
with:
projectID: rest.projectID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/endpoints/oauth2/test
name: v1-projects-project-id-endpoints-oauth2-test
description: REST surface for /v1/projects/{project-id}/endpoints/oauth2/test.
operations:
- method: POST
name: TestOAuth2Connection
description: Test OAuth2 connection
call: convoy-endpoints.TestOAuth2Connection
with:
projectID: rest.projectID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/endpoints/{endpoint-id}
name: v1-projects-project-id-endpoints-endpoint-id
description: REST surface for /v1/projects/{project-id}/endpoints/{endpoint-id}.
operations:
- method: DELETE
name: DeleteEndpoint
description: Delete endpoint
call: convoy-endpoints.DeleteEndpoint
with:
projectID: rest.projectID
endpointID: rest.endpointID
outputParameters:
- type: object
mapping: $.
- method: GET
name: GetEndpoint
description: Retrieve endpoint
call: convoy-endpoints.GetEndpoint
with:
projectID: rest.projectID
endpointID: rest.endpointID
outputParameters:
- type: object
mapping: $.
- method: PUT
name: UpdateEndpoint
description: Update an endpoint
call: convoy-endpoints.UpdateEndpoint
with:
projectID: rest.projectID
endpointID: rest.endpointID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/endpoints/{endpoint-id}/activate
name: v1-projects-project-id-endpoints-endpoint-id-activate
description: REST surface for /v1/projects/{project-id}/endpoints/{endpoint-id}/activate.
operations:
- method: POST
name: ActivateEndpoint
description: Activate endpoint
call: convoy-endpoints.ActivateEndpoint
with:
projectID: rest.projectID
endpointID: rest.endpointID
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/endpoints/{endpoint-id}/expire_secret
name: v1-projects-project-id-endpoints-endpoint-id-expire-secret
description: REST surface for /v1/projects/{project-id}/endpoints/{endpoint-id}/expire_secret.
operations:
- method: PUT
name: ExpireSecret
description: Roll endpoint secret
call: convoy-endpoints.ExpireSecret
with:
projectID: rest.projectID
endpointID: rest.endpointID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}/endpoints/{endpoint-id}/pause
name: v1-projects-project-id-endpoints-endpoint-id-pause
description: REST surface for /v1/projects/{project-id}/endpoints/{endpoint-id}/pause.
operations:
- method: PUT
name: PauseEndpoint
description: Pause endpoint
call: convoy-endpoints.PauseEndpoint
with:
projectID: rest.projectID
endpointID: rest.endpointID
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: convoy-endpoints-mcp
port: 9090
transport: http
description: "MCP adapter for Convoy API \u2014 Endpoints. One tool per consumed operation, routed inline through this\
\ capability's consumes block."
tools:
- name: list-endpoints
description: List all endpoints
hints:
readOnly: true
destructive: false
idempotent: true
call: convoy-endpoints.GetEndpoints
with:
projectID: tools.projectID
direction: tools.direction
next_page_cursor: tools.next_page_cursor
ownerId: tools.ownerId
perPage: tools.perPage
prev_page_cursor: tools.prev_page_cursor
q: tools.q
sort: tools.sort
outputParameters:
- type: object
mapping: $.
- name: create-endpoint
description: Create an endpoint
hints:
readOnly: false
destructive: false
idempotent: false
call: convoy-endpoints.CreateEndpoint
with:
projectID: tools.projectID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: test-o-auth-2-connection
description: Test OAuth2 connection
hints:
readOnly: true
destructive: false
idempotent: false
call: convoy-endpoints.TestOAuth2Connection
with:
projectID: tools.projectID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-endpoint
description: Delete endpoint
hints:
readOnly: false
destructive: true
idempotent: true
call: convoy-endpoints.DeleteEndpoint
with:
projectID: tools.projectID
endpointID: tools.endpointID
outputParameters:
- type: object
mapping: $.
- name: retrieve-endpoint
description: Retrieve endpoint
hints:
readOnly: true
destructive: false
idempotent: true
call: convoy-endpoints.GetEndpoint
with:
projectID: tools.projectID
endpointID: tools.endpointID
outputParameters:
- type: object
mapping: $.
- name: update-endpoint
description: Update an endpoint
hints:
readOnly: false
destructive: false
idempotent: true
call: convoy-endpoints.UpdateEndpoint
with:
projectID: tools.projectID
endpointID: tools.endpointID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: activate-endpoint
description: Activate endpoint
hints:
readOnly: false
destructive: false
idempotent: false
call: convoy-endpoints.ActivateEndpoint
with:
projectID: tools.projectID
endpointID: tools.endpointID
outputParameters:
- type: object
mapping: $.
- name: roll-endpoint-secret
description: Roll endpoint secret
hints:
readOnly: false
destructive: false
idempotent: true
call: convoy-endpoints.ExpireSecret
with:
projectID: tools.projectID
endpointID: tools.endpointID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: pause-endpoint
description: Pause endpoint
hints:
readOnly: false
destructive: false
idempotent: true
call: convoy-endpoints.PauseEndpoint
with:
projectID: tools.projectID
endpointID: tools.endpointID
outputParameters:
- type: object
mapping: $.