naftiko: 1.0.0-alpha2 info: label: Coveo Notification API — Subscription description: 'Coveo Notification API — Subscription. 16 operations. Lead operation: List Subscriptions. Self-contained Naftiko capability covering one Coveo business surface.' tags: - Coveo - Notification - Subscription created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COVEO_API_KEY: COVEO_API_KEY capability: consumes: - type: http namespace: notification-subscription baseUri: https://platform.cloud.coveo.com description: Coveo Notification API — Subscription business capability. Self-contained, no shared references. authentication: type: bearer token: '{{env.COVEO_API_KEY}}' resources: - name: rest-organizations-organizationId-subscriptions path: /rest/organizations/{organizationId}/subscriptions operations: - name: getsubscriptions method: GET description: List Subscriptions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: createsubscription method: POST description: Create Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rest-organizations-organizationId-subscriptions-me path: /rest/organizations/{organizationId}/subscriptions/me operations: - name: getcurrentusersubscriptions method: GET description: List Subscriptions for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: createsubscriptionforcurrentuser method: POST description: Create Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rest-organizations-organizationId-subscriptions-me-subscriptionId path: /rest/organizations/{organizationId}/subscriptions/me/{subscriptionId} operations: - name: getcurrentusersubscriptionbyid method: GET description: Show Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to show. required: true - name: editsubscriptionforcurrentuser method: PUT description: Update Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletecurrentusersubscriptionbyid method: DELETE description: Delete Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the user subscription to delete. required: true - name: rest-organizations-organizationId-subscriptions-me-subscriptionId-disable path: /rest/organizations/{organizationId}/subscriptions/me/{subscriptionId}/disable operations: - name: disableusersubscriptionbyid method: PUT description: Disable Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to disable. required: true - name: rest-organizations-organizationId-subscriptions-me-subscriptionId-enable path: /rest/organizations/{organizationId}/subscriptions/me/{subscriptionId}/enable operations: - name: enableusersubscriptionbyid method: PUT description: Enable Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to enable. required: true - name: rest-organizations-organizationId-subscriptions-me-subscriptionId-test path: /rest/organizations/{organizationId}/subscriptions/me/{subscriptionId}/test operations: - name: testsubscriptionforcurrentuser method: POST description: Test Subscription for Current Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to test. required: true - name: rest-organizations-organizationId-subscriptions-subscriptionId path: /rest/organizations/{organizationId}/subscriptions/{subscriptionId} operations: - name: getsubscriptionbyid method: GET description: Show Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to show. required: true - name: editsubscription method: PUT description: Update Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletesubscriptionbyid method: DELETE description: Delete Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the user subscription to delete. required: true - name: rest-organizations-organizationId-subscriptions-subscriptionId-disable path: /rest/organizations/{organizationId}/subscriptions/{subscriptionId}/disable operations: - name: disablesubscriptionbyid method: PUT description: Disable Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to disable. required: true - name: rest-organizations-organizationId-subscriptions-subscriptionId-enable path: /rest/organizations/{organizationId}/subscriptions/{subscriptionId}/enable operations: - name: enablesubscriptionbyid method: PUT description: Enable Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to enable. required: true - name: rest-organizations-organizationId-subscriptions-subscriptionId-test path: /rest/organizations/{organizationId}/subscriptions/{subscriptionId}/test operations: - name: testsubscription method: POST description: Test Subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: path type: string description: The unique identifier of the target [organization](https://docs.coveo.com/en/185/). required: true - name: subscriptionId in: path type: string description: The unique identifier of the subscription to test. required: true exposes: - type: rest namespace: notification-subscription-rest port: 8080 description: REST adapter for Coveo Notification API — Subscription. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/organizations/{organizationid}/subscriptions name: rest-organizations-organizationid-subscriptions description: REST surface for rest-organizations-organizationId-subscriptions. operations: - method: GET name: getsubscriptions description: List Subscriptions call: notification-subscription.getsubscriptions with: organizationId: rest.organizationId outputParameters: - type: object mapping: $. - method: POST name: createsubscription description: Create Subscription call: notification-subscription.createsubscription with: organizationId: rest.organizationId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/me name: rest-organizations-organizationid-subscriptions-me description: REST surface for rest-organizations-organizationId-subscriptions-me. operations: - method: GET name: getcurrentusersubscriptions description: List Subscriptions for Current Member call: notification-subscription.getcurrentusersubscriptions with: organizationId: rest.organizationId outputParameters: - type: object mapping: $. - method: POST name: createsubscriptionforcurrentuser description: Create Subscription for Current Member call: notification-subscription.createsubscriptionforcurrentuser with: organizationId: rest.organizationId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/me/{subscriptionid} name: rest-organizations-organizationid-subscriptions-me-subscriptionid description: REST surface for rest-organizations-organizationId-subscriptions-me-subscriptionId. operations: - method: GET name: getcurrentusersubscriptionbyid description: Show Subscription for Current Member call: notification-subscription.getcurrentusersubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - method: PUT name: editsubscriptionforcurrentuser description: Update Subscription for Current Member call: notification-subscription.editsubscriptionforcurrentuser with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecurrentusersubscriptionbyid description: Delete Subscription for Current Member call: notification-subscription.deletecurrentusersubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/me/{subscriptionid}/disable name: rest-organizations-organizationid-subscriptions-me-subscriptionid-disable description: REST surface for rest-organizations-organizationId-subscriptions-me-subscriptionId-disable. operations: - method: PUT name: disableusersubscriptionbyid description: Disable Subscription for Current Member call: notification-subscription.disableusersubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/me/{subscriptionid}/enable name: rest-organizations-organizationid-subscriptions-me-subscriptionid-enable description: REST surface for rest-organizations-organizationId-subscriptions-me-subscriptionId-enable. operations: - method: PUT name: enableusersubscriptionbyid description: Enable Subscription for Current Member call: notification-subscription.enableusersubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/me/{subscriptionid}/test name: rest-organizations-organizationid-subscriptions-me-subscriptionid-test description: REST surface for rest-organizations-organizationId-subscriptions-me-subscriptionId-test. operations: - method: POST name: testsubscriptionforcurrentuser description: Test Subscription for Current Member call: notification-subscription.testsubscriptionforcurrentuser with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/{subscriptionid} name: rest-organizations-organizationid-subscriptions-subscriptionid description: REST surface for rest-organizations-organizationId-subscriptions-subscriptionId. operations: - method: GET name: getsubscriptionbyid description: Show Subscription call: notification-subscription.getsubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - method: PUT name: editsubscription description: Update Subscription call: notification-subscription.editsubscription with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesubscriptionbyid description: Delete Subscription call: notification-subscription.deletesubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/{subscriptionid}/disable name: rest-organizations-organizationid-subscriptions-subscriptionid-disable description: REST surface for rest-organizations-organizationId-subscriptions-subscriptionId-disable. operations: - method: PUT name: disablesubscriptionbyid description: Disable Subscription call: notification-subscription.disablesubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/{subscriptionid}/enable name: rest-organizations-organizationid-subscriptions-subscriptionid-enable description: REST surface for rest-organizations-organizationId-subscriptions-subscriptionId-enable. operations: - method: PUT name: enablesubscriptionbyid description: Enable Subscription call: notification-subscription.enablesubscriptionbyid with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /v1/organizations/{organizationid}/subscriptions/{subscriptionid}/test name: rest-organizations-organizationid-subscriptions-subscriptionid-test description: REST surface for rest-organizations-organizationId-subscriptions-subscriptionId-test. operations: - method: POST name: testsubscription description: Test Subscription call: notification-subscription.testsubscription with: organizationId: rest.organizationId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - type: mcp namespace: notification-subscription-mcp port: 9090 transport: http description: MCP adapter for Coveo Notification API — Subscription. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-subscriptions description: List Subscriptions hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getsubscriptions with: organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: create-subscription description: Create Subscription hints: readOnly: false destructive: false idempotent: false call: notification-subscription.createsubscription with: organizationId: tools.organizationId body: tools.body outputParameters: - type: object mapping: $. - name: list-subscriptions-current-member description: List Subscriptions for Current Member hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getcurrentusersubscriptions with: organizationId: tools.organizationId outputParameters: - type: object mapping: $. - name: create-subscription-current-member description: Create Subscription for Current Member hints: readOnly: false destructive: false idempotent: false call: notification-subscription.createsubscriptionforcurrentuser with: organizationId: tools.organizationId body: tools.body outputParameters: - type: object mapping: $. - name: show-subscription-current-member description: Show Subscription for Current Member hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getcurrentusersubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: update-subscription-current-member description: Update Subscription for Current Member hints: readOnly: false destructive: false idempotent: true call: notification-subscription.editsubscriptionforcurrentuser with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId body: tools.body outputParameters: - type: object mapping: $. - name: delete-subscription-current-member description: Delete Subscription for Current Member hints: readOnly: false destructive: true idempotent: true call: notification-subscription.deletecurrentusersubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: disable-subscription-current-member description: Disable Subscription for Current Member hints: readOnly: false destructive: false idempotent: true call: notification-subscription.disableusersubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: enable-subscription-current-member description: Enable Subscription for Current Member hints: readOnly: false destructive: false idempotent: true call: notification-subscription.enableusersubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: test-subscription-current-member description: Test Subscription for Current Member hints: readOnly: true destructive: false idempotent: false call: notification-subscription.testsubscriptionforcurrentuser with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: show-subscription description: Show Subscription hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getsubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: update-subscription description: Update Subscription hints: readOnly: false destructive: false idempotent: true call: notification-subscription.editsubscription with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId body: tools.body outputParameters: - type: object mapping: $. - name: delete-subscription description: Delete Subscription hints: readOnly: false destructive: true idempotent: true call: notification-subscription.deletesubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: disable-subscription description: Disable Subscription hints: readOnly: false destructive: false idempotent: true call: notification-subscription.disablesubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: enable-subscription description: Enable Subscription hints: readOnly: false destructive: false idempotent: true call: notification-subscription.enablesubscriptionbyid with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $. - name: test-subscription description: Test Subscription hints: readOnly: true destructive: false idempotent: false call: notification-subscription.testsubscription with: organizationId: tools.organizationId subscriptionId: tools.subscriptionId outputParameters: - type: object mapping: $.