naftiko: 1.0.0-alpha2 info: label: Box Platform API — Webhooks description: 'Box Platform API — Webhooks. 5 operations. Lead operation: Box List all webhooks. Self-contained Naftiko capability covering one Box business surface.' tags: - Box - Webhooks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BOX_API_KEY: BOX_API_KEY capability: consumes: - type: http namespace: box-webhooks baseUri: https://api.box.com/2.0 description: Box Platform API — Webhooks business capability. Self-contained, no shared references. resources: - name: webhooks path: /webhooks operations: - name: getwebhooks method: GET description: Box List all webhooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: marker in: query type: string description: Defines the position marker at which to begin returning results. This is - name: limit in: query type: integer description: The maximum number of items to return per page. - name: postwebhooks method: POST description: Box Create webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: webhooks-webhook_id path: /webhooks/{webhook_id} operations: - name: getwebhooksid method: GET description: Box Get webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: webhook_id in: path type: string description: The ID of the webhook. required: true - name: putwebhooksid method: PUT description: Box Update webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: webhook_id in: path type: string description: The ID of the webhook. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletewebhooksid method: DELETE description: Box Remove webhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: webhook_id in: path type: string description: The ID of the webhook. required: true authentication: type: bearer token: '{{env.BOX_API_KEY}}' exposes: - type: rest namespace: box-webhooks-rest port: 8080 description: REST adapter for Box Platform API — Webhooks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/webhooks name: webhooks description: REST surface for webhooks. operations: - method: GET name: getwebhooks description: Box List all webhooks call: box-webhooks.getwebhooks with: marker: rest.marker limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: postwebhooks description: Box Create webhook call: box-webhooks.postwebhooks with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/webhooks/{webhook-id} name: webhooks-webhook-id description: REST surface for webhooks-webhook_id. operations: - method: GET name: getwebhooksid description: Box Get webhook call: box-webhooks.getwebhooksid with: webhook_id: rest.webhook_id outputParameters: - type: object mapping: $. - method: PUT name: putwebhooksid description: Box Update webhook call: box-webhooks.putwebhooksid with: webhook_id: rest.webhook_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletewebhooksid description: Box Remove webhook call: box-webhooks.deletewebhooksid with: webhook_id: rest.webhook_id outputParameters: - type: object mapping: $. - type: mcp namespace: box-webhooks-mcp port: 9090 transport: http description: MCP adapter for Box Platform API — Webhooks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: box-list-all-webhooks description: Box List all webhooks hints: readOnly: true destructive: false idempotent: true call: box-webhooks.getwebhooks with: marker: tools.marker limit: tools.limit outputParameters: - type: object mapping: $. - name: box-create-webhook description: Box Create webhook hints: readOnly: false destructive: false idempotent: false call: box-webhooks.postwebhooks with: body: tools.body outputParameters: - type: object mapping: $. - name: box-get-webhook description: Box Get webhook hints: readOnly: true destructive: false idempotent: true call: box-webhooks.getwebhooksid with: webhook_id: tools.webhook_id outputParameters: - type: object mapping: $. - name: box-update-webhook description: Box Update webhook hints: readOnly: false destructive: false idempotent: true call: box-webhooks.putwebhooksid with: webhook_id: tools.webhook_id body: tools.body outputParameters: - type: object mapping: $. - name: box-remove-webhook description: Box Remove webhook hints: readOnly: false destructive: true idempotent: true call: box-webhooks.deletewebhooksid with: webhook_id: tools.webhook_id outputParameters: - type: object mapping: $.