naftiko: 1.0.0-alpha2 info: label: GunTab REST API description: The GunTab REST API allows online firearms marketplaces and retail websites to integrate safe and convenient firearms payment processing, manage invoices (payment requests), confirm and fulfill orders, validate FFLs, and receive webhook events for transaction lifecycle changes. tags: - Guntab - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: guntab baseUri: https://api.guntab.com/v1 description: GunTab REST API HTTP API. authentication: type: apikey in: header name: Authorization value: '{{GUNTAB_TOKEN}}' resources: - name: invoices path: /invoices operations: - name: createinvoice method: POST description: Create an invoice outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoices-id path: /invoices/{id} operations: - name: readinvoice method: GET description: Read an invoice outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoices-id-cancels path: /invoices/{id}/cancels operations: - name: cancelinvoice method: POST description: Cancel an invoice outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoices-id-platform-confirmations path: /invoices/{id}/platform_confirmations operations: - name: platformconfirminvoice method: POST description: Confirm an invoice as the platform outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoices-id-seller-confirmations path: /invoices/{id}/seller_confirmations operations: - name: sellerconfirminvoice method: POST description: Confirm an invoice as the seller outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoices-id-fulfillments path: /invoices/{id}/fulfillments operations: - name: fulfillinvoice method: POST description: Fulfill an invoice outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-email path: /users/{email} operations: - name: readuser method: GET description: Read a user inputParameters: - name: email in: path type: string required: true description: URL-encoded email address. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: ffls-license-number-claim-verification-code-call path: /ffls/{license_number}/claim_verification_code_calls operations: - name: callfflverification method: POST description: Trigger FFL verification call inputParameters: - name: license_number in: path type: string required: true description: FFL license number. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: webhooks path: /webhooks operations: - name: createwebhook method: POST description: Create webhook (deprecated) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: webhooks-id path: /webhooks/{id} operations: - name: readwebhook method: GET description: Read webhook (deprecated) inputParameters: - name: id in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletewebhook method: DELETE description: Delete webhook (deprecated) inputParameters: - name: id in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: guntab-rest description: REST adapter for GunTab REST API. resources: - path: /invoices name: createinvoice operations: - method: POST name: createinvoice description: Create an invoice call: guntab.createinvoice outputParameters: - type: object mapping: $. - path: /invoices/{id} name: readinvoice operations: - method: GET name: readinvoice description: Read an invoice call: guntab.readinvoice outputParameters: - type: object mapping: $. - path: /invoices/{id}/cancels name: cancelinvoice operations: - method: POST name: cancelinvoice description: Cancel an invoice call: guntab.cancelinvoice outputParameters: - type: object mapping: $. - path: /invoices/{id}/platform_confirmations name: platformconfirminvoice operations: - method: POST name: platformconfirminvoice description: Confirm an invoice as the platform call: guntab.platformconfirminvoice outputParameters: - type: object mapping: $. - path: /invoices/{id}/seller_confirmations name: sellerconfirminvoice operations: - method: POST name: sellerconfirminvoice description: Confirm an invoice as the seller call: guntab.sellerconfirminvoice outputParameters: - type: object mapping: $. - path: /invoices/{id}/fulfillments name: fulfillinvoice operations: - method: POST name: fulfillinvoice description: Fulfill an invoice call: guntab.fulfillinvoice outputParameters: - type: object mapping: $. - path: /users/{email} name: readuser operations: - method: GET name: readuser description: Read a user call: guntab.readuser with: email: rest.email outputParameters: - type: object mapping: $. - path: /ffls/{license_number}/claim_verification_code_calls name: callfflverification operations: - method: POST name: callfflverification description: Trigger FFL verification call call: guntab.callfflverification with: license_number: rest.license_number outputParameters: - type: object mapping: $. - path: /webhooks name: createwebhook operations: - method: POST name: createwebhook description: Create webhook (deprecated) call: guntab.createwebhook outputParameters: - type: object mapping: $. - path: /webhooks/{id} name: readwebhook operations: - method: GET name: readwebhook description: Read webhook (deprecated) call: guntab.readwebhook with: id: rest.id outputParameters: - type: object mapping: $. - path: /webhooks/{id} name: deletewebhook operations: - method: DELETE name: deletewebhook description: Delete webhook (deprecated) call: guntab.deletewebhook with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: guntab-mcp transport: http description: MCP adapter for GunTab REST API for AI agent use. tools: - name: createinvoice description: Create an invoice hints: readOnly: false destructive: false idempotent: false call: guntab.createinvoice outputParameters: - type: object mapping: $. - name: readinvoice description: Read an invoice hints: readOnly: true destructive: false idempotent: true call: guntab.readinvoice outputParameters: - type: object mapping: $. - name: cancelinvoice description: Cancel an invoice hints: readOnly: false destructive: false idempotent: false call: guntab.cancelinvoice outputParameters: - type: object mapping: $. - name: platformconfirminvoice description: Confirm an invoice as the platform hints: readOnly: false destructive: false idempotent: false call: guntab.platformconfirminvoice outputParameters: - type: object mapping: $. - name: sellerconfirminvoice description: Confirm an invoice as the seller hints: readOnly: false destructive: false idempotent: false call: guntab.sellerconfirminvoice outputParameters: - type: object mapping: $. - name: fulfillinvoice description: Fulfill an invoice hints: readOnly: false destructive: false idempotent: false call: guntab.fulfillinvoice outputParameters: - type: object mapping: $. - name: readuser description: Read a user hints: readOnly: true destructive: false idempotent: true call: guntab.readuser with: email: tools.email inputParameters: - name: email type: string description: URL-encoded email address. required: true outputParameters: - type: object mapping: $. - name: callfflverification description: Trigger FFL verification call hints: readOnly: false destructive: false idempotent: false call: guntab.callfflverification with: license_number: tools.license_number inputParameters: - name: license_number type: string description: FFL license number. required: true outputParameters: - type: object mapping: $. - name: createwebhook description: Create webhook (deprecated) hints: readOnly: false destructive: false idempotent: false call: guntab.createwebhook outputParameters: - type: object mapping: $. - name: readwebhook description: Read webhook (deprecated) hints: readOnly: true destructive: false idempotent: true call: guntab.readwebhook with: id: tools.id inputParameters: - name: id type: string description: id required: true outputParameters: - type: object mapping: $. - name: deletewebhook description: Delete webhook (deprecated) hints: readOnly: false destructive: true idempotent: true call: guntab.deletewebhook with: id: tools.id inputParameters: - name: id type: string description: id required: true outputParameters: - type: object mapping: $. binds: - namespace: env keys: GUNTAB_TOKEN: GUNTAB_TOKEN