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: $.