naftiko: 1.0.0-alpha2 info: label: Tabby Webhooks API — Webhooks description: Tabby Webhooks API — Webhooks. Register, list, retrieve, update, and remove webhook endpoints scoped to a merchant_code. tags: - Tabby - BNPL - Webhooks - Events created: '2026-05-24' modified: '2026-05-24' binds: - namespace: env keys: TABBY_SECRET_KEY: TABBY_SECRET_KEY TABBY_MERCHANT_CODE: TABBY_MERCHANT_CODE capability: consumes: - type: http namespace: webhooks-webhooks baseUri: https://api.tabby.ai description: Tabby Webhooks API — Webhooks consume block. All operations require an X-Merchant-Code header. resources: - name: webhooks path: /api/v1/webhooks operations: - name: registerwebhook method: POST description: Tabby Register A Webhook — register an HTTPS endpoint for payment event notifications. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Webhook payload — url, optional header (title + value for request signing). required: true - name: listwebhooks method: GET description: Tabby Retrieve All Webhooks for a merchant. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: webhook-by-id path: /api/v1/webhooks/{id} operations: - name: getwebhook method: GET description: Tabby Retrieve A Webhook by id. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Webhook UUID. required: true - name: updatewebhook method: PUT description: Tabby Update A Webhook. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Webhook UUID. required: true - name: body in: body type: object description: Updated webhook url/header payload. required: true - name: deletewebhook method: DELETE description: Tabby Remove A Webhook. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Webhook UUID. required: true authentication: type: bearer value: '{{env.TABBY_SECRET_KEY}}' placement: header exposes: - type: rest namespace: webhooks-webhooks-rest port: 8080 description: REST adapter for Tabby Webhooks — Webhooks. resources: - path: /v1/webhooks name: webhooks description: REST surface for webhook registration and listing. operations: - method: POST name: registerwebhook description: Register a Tabby webhook endpoint. call: webhooks-webhooks.registerwebhook with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listwebhooks description: List all Tabby webhooks for the merchant. call: webhooks-webhooks.listwebhooks outputParameters: - type: object mapping: $. - path: /v1/webhooks/{id} name: webhook-by-id description: REST surface for an individual webhook. operations: - method: GET name: getwebhook description: Retrieve a Tabby webhook by id. call: webhooks-webhooks.getwebhook with: id: rest.path.id outputParameters: - type: object mapping: $. - method: PUT name: updatewebhook description: Update a Tabby webhook. call: webhooks-webhooks.updatewebhook with: id: rest.path.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletewebhook description: Remove a Tabby webhook. call: webhooks-webhooks.deletewebhook with: id: rest.path.id outputParameters: - type: object mapping: $. - type: mcp namespace: webhooks-webhooks-mcp port: 9090 transport: http description: MCP adapter for Tabby Webhooks — Webhooks. tools: - name: tabby-register-webhook description: Register a Tabby webhook endpoint for payment events. hints: readOnly: false destructive: false idempotent: false call: webhooks-webhooks.registerwebhook with: body: tools.body outputParameters: - type: object mapping: $. - name: tabby-list-webhooks description: List Tabby webhooks for the merchant. hints: readOnly: true destructive: false idempotent: true call: webhooks-webhooks.listwebhooks outputParameters: - type: object mapping: $. - name: tabby-get-webhook description: Retrieve a Tabby webhook by id. hints: readOnly: true destructive: false idempotent: true call: webhooks-webhooks.getwebhook with: id: tools.id outputParameters: - type: object mapping: $. - name: tabby-update-webhook description: Update a Tabby webhook endpoint. hints: readOnly: false destructive: false idempotent: true call: webhooks-webhooks.updatewebhook with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: tabby-delete-webhook description: Remove a Tabby webhook. hints: readOnly: false destructive: true idempotent: true call: webhooks-webhooks.deletewebhook with: id: tools.id outputParameters: - type: object mapping: $.