naftiko: 1.0.0-alpha2 info: label: "Convoy API \u2014 Portal Links" description: "Convoy webhooks gateway \u2014 Portal Links. 6 operations. Lead operation: List all portal links. Self-contained\ \ Naftiko capability covering one Convoy business surface." tags: - Convoy - Webhooks - Portal Links created: '2026-05-22' modified: '2026-05-22' binds: - namespace: env keys: CONVOY_API_KEY: CONVOY_API_KEY capability: consumes: - type: http namespace: convoy-portal-links baseUri: https://us.getconvoy.cloud/api description: "Convoy API \u2014 Portal Links business capability. Self-contained, no shared references." authentication: type: bearer token: '{{env.CONVOY_API_KEY}}' resources: - name: v1-projects-project-id-portal-links path: /v1/projects/{projectID}/portal-links operations: - name: LoadPortalLinksPaged method: GET description: List all portal links 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: CreatePortalLink method: POST description: Create a portal link 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-portal-links-portal-link-id path: /v1/projects/{projectID}/portal-links/{portalLinkID} operations: - name: GetPortalLink method: GET description: Retrieve a portal link inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: portalLinkID in: path type: string required: true description: portal link id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: UpdatePortalLink method: PUT description: Update a portal link inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: portalLinkID in: path type: string required: true description: portal link 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-portal-links-portal-link-id-refresh-token path: /v1/projects/{projectID}/portal-links/{portalLinkID}/refresh_token operations: - name: RefreshPortalLinkAuthToken method: GET description: Get a portal link auth token inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: portalLinkID in: path type: string required: true description: portal link id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-projects-project-id-portal-links-portal-link-id-revoke path: /v1/projects/{projectID}/portal-links/{portalLinkID}/revoke operations: - name: RevokePortalLink method: PUT description: Revoke a portal link inputParameters: - name: projectID in: path type: string required: true description: Project ID - name: portalLinkID in: path type: string required: true description: portal link id outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: convoy-portal-links-rest port: 8080 description: "REST adapter for Convoy API \u2014 Portal Links. One Spectral-compliant resource per consumed operation,\ \ prefixed with /v1." resources: - path: /v1/projects/{project-id}/portal-links name: v1-projects-project-id-portal-links description: REST surface for /v1/projects/{project-id}/portal-links. operations: - method: GET name: LoadPortalLinksPaged description: List all portal links call: convoy-portal-links.LoadPortalLinksPaged 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: CreatePortalLink description: Create a portal link call: convoy-portal-links.CreatePortalLink with: projectID: rest.projectID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/portal-links/{portal-link-id} name: v1-projects-project-id-portal-links-portal-link-id description: REST surface for /v1/projects/{project-id}/portal-links/{portal-link-id}. operations: - method: GET name: GetPortalLink description: Retrieve a portal link call: convoy-portal-links.GetPortalLink with: projectID: rest.projectID portalLinkID: rest.portalLinkID outputParameters: - type: object mapping: $. - method: PUT name: UpdatePortalLink description: Update a portal link call: convoy-portal-links.UpdatePortalLink with: projectID: rest.projectID portalLinkID: rest.portalLinkID body: rest.body outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/portal-links/{portal-link-id}/refresh_token name: v1-projects-project-id-portal-links-portal-link-id-refresh-token description: REST surface for /v1/projects/{project-id}/portal-links/{portal-link-id}/refresh_token. operations: - method: GET name: RefreshPortalLinkAuthToken description: Get a portal link auth token call: convoy-portal-links.RefreshPortalLinkAuthToken with: projectID: rest.projectID portalLinkID: rest.portalLinkID outputParameters: - type: object mapping: $. - path: /v1/projects/{project-id}/portal-links/{portal-link-id}/revoke name: v1-projects-project-id-portal-links-portal-link-id-revoke description: REST surface for /v1/projects/{project-id}/portal-links/{portal-link-id}/revoke. operations: - method: PUT name: RevokePortalLink description: Revoke a portal link call: convoy-portal-links.RevokePortalLink with: projectID: rest.projectID portalLinkID: rest.portalLinkID outputParameters: - type: object mapping: $. - type: mcp namespace: convoy-portal-links-mcp port: 9090 transport: http description: "MCP adapter for Convoy API \u2014 Portal Links. One tool per consumed operation, routed inline through this\ \ capability's consumes block." tools: - name: list-portal-links description: List all portal links hints: readOnly: true destructive: false idempotent: true call: convoy-portal-links.LoadPortalLinksPaged 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-portal-link description: Create a portal link hints: readOnly: false destructive: false idempotent: false call: convoy-portal-links.CreatePortalLink with: projectID: tools.projectID body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-portal-link description: Retrieve a portal link hints: readOnly: true destructive: false idempotent: true call: convoy-portal-links.GetPortalLink with: projectID: tools.projectID portalLinkID: tools.portalLinkID outputParameters: - type: object mapping: $. - name: update-portal-link description: Update a portal link hints: readOnly: false destructive: false idempotent: true call: convoy-portal-links.UpdatePortalLink with: projectID: tools.projectID portalLinkID: tools.portalLinkID body: tools.body outputParameters: - type: object mapping: $. - name: get-portal-link-auth-token description: Get a portal link auth token hints: readOnly: true destructive: false idempotent: true call: convoy-portal-links.RefreshPortalLinkAuthToken with: projectID: tools.projectID portalLinkID: tools.portalLinkID outputParameters: - type: object mapping: $. - name: revoke-portal-link description: Revoke a portal link hints: readOnly: false destructive: false idempotent: true call: convoy-portal-links.RevokePortalLink with: projectID: tools.projectID portalLinkID: tools.portalLinkID outputParameters: - type: object mapping: $.