GunTab · Capability

GunTab REST API

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.

Run with Naftiko GuntabAPI

What You Can Do

POST
Createinvoice — Create an invoice
/invoices
GET
Readinvoice — Read an invoice
/invoices/{id}
POST
Cancelinvoice — Cancel an invoice
/invoices/{id}/cancels
POST
Platformconfirminvoice — Confirm an invoice as the platform
/invoices/{id}/platform_confirmations
POST
Sellerconfirminvoice — Confirm an invoice as the seller
/invoices/{id}/seller_confirmations
POST
Fulfillinvoice — Fulfill an invoice
/invoices/{id}/fulfillments
GET
Readuser — Read a user
/users/{email}
POST
Callfflverification — Trigger FFL verification call
/ffls/{license_number}/claim_verification_code_calls
POST
Createwebhook — Create webhook (deprecated)
/webhooks
GET
Readwebhook — Read webhook (deprecated)
/webhooks/{id}
DELETE
Deletewebhook — Delete webhook (deprecated)
/webhooks/{id}

MCP Tools

createinvoice

Create an invoice

readinvoice

Read an invoice

read-only idempotent
cancelinvoice

Cancel an invoice

platformconfirminvoice

Confirm an invoice as the platform

sellerconfirminvoice

Confirm an invoice as the seller

fulfillinvoice

Fulfill an invoice

readuser

Read a user

read-only idempotent
callfflverification

Trigger FFL verification call

createwebhook

Create webhook (deprecated)

readwebhook

Read webhook (deprecated)

read-only idempotent
deletewebhook

Delete webhook (deprecated)

idempotent

Capability Spec

guntab-capability.yaml Raw ↑
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