naftiko: 1.0.0-alpha2 info: label: Knock API — Audiences description: 'Knock API — Audiences. 3 operations. Lead operation: Remove members. Self-contained Naftiko capability covering one Knock business surface.' tags: - Knock - Audiences created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KNOCK_API_KEY: KNOCK_API_KEY capability: consumes: - type: http namespace: knock-audiences baseUri: https://api.knock.app description: Knock API — Audiences business capability. Self-contained, no shared references. resources: - name: v1-audiences-key-members path: /v1/audiences/{key}/members operations: - name: removeaudiencemembers method: DELETE description: Remove members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: path type: string description: The key of the audience. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: listaudiencemembers method: GET description: List members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: path type: string description: The key of the audience. required: true - name: addaudiencemembers method: POST description: Add members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: path type: string description: The key of the audience. required: true - name: create_audience in: query type: boolean description: Create the audience if it does not exist. - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.KNOCK_API_KEY}}' exposes: - type: rest namespace: knock-audiences-rest port: 8080 description: REST adapter for Knock API — Audiences. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/audiences/{key}/members name: v1-audiences-key-members description: REST surface for v1-audiences-key-members. operations: - method: DELETE name: removeaudiencemembers description: Remove members call: knock-audiences.removeaudiencemembers with: key: rest.key body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listaudiencemembers description: List members call: knock-audiences.listaudiencemembers with: key: rest.key outputParameters: - type: object mapping: $. - method: POST name: addaudiencemembers description: Add members call: knock-audiences.addaudiencemembers with: key: rest.key create_audience: rest.create_audience body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: knock-audiences-mcp port: 9090 transport: http description: MCP adapter for Knock API — Audiences. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: remove-members description: Remove members hints: readOnly: false destructive: true idempotent: true call: knock-audiences.removeaudiencemembers with: key: tools.key body: tools.body outputParameters: - type: object mapping: $. - name: list-members description: List members hints: readOnly: true destructive: false idempotent: true call: knock-audiences.listaudiencemembers with: key: tools.key outputParameters: - type: object mapping: $. - name: add-members description: Add members hints: readOnly: false destructive: false idempotent: false call: knock-audiences.addaudiencemembers with: key: tools.key create_audience: tools.create_audience body: tools.body outputParameters: - type: object mapping: $.