Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/guntab-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: GunTab REST FFLs Invoices 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.
version: 1.0.0
contact:
name: GunTab
url: https://www.guntab.com/documentation/rest-api
license:
name: Proprietary
servers:
- url: https://api.guntab.com/v1
description: Production
security:
- TokenAuth: []
tags:
- name: Invoices
description: Payment request lifecycle management
paths:
/invoices:
post:
tags:
- Invoices
summary: Create an invoice
description: Creates a new GunTab invoice (payment request) for a firearms transaction.
operationId: createInvoice
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceCreateRequest'
responses:
'201':
description: Invoice created
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/invoices/{id}:
get:
tags:
- Invoices
summary: Read an invoice
operationId: readInvoice
parameters:
- $ref: '#/components/parameters/InvoiceId'
responses:
'200':
description: Invoice retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
'404':
$ref: '#/components/responses/Error'
/invoices/{id}/cancels:
post:
tags:
- Invoices
summary: Cancel an invoice
operationId: cancelInvoice
parameters:
- $ref: '#/components/parameters/InvoiceId'
responses:
'200':
description: Invoice cancelled
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
/invoices/{id}/platform_confirmations:
post:
tags:
- Invoices
summary: Confirm an invoice as the platform
operationId: platformConfirmInvoice
parameters:
- $ref: '#/components/parameters/InvoiceId'
responses:
'200':
description: Platform confirmation recorded
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
/invoices/{id}/seller_confirmations:
post:
tags:
- Invoices
summary: Confirm an invoice as the seller
operationId: sellerConfirmInvoice
parameters:
- $ref: '#/components/parameters/InvoiceId'
responses:
'200':
description: Seller confirmation recorded
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
/invoices/{id}/fulfillments:
post:
tags:
- Invoices
summary: Fulfill an invoice
description: Records fulfillment with a tracking code (or pickup designation).
operationId: fulfillInvoice
parameters:
- $ref: '#/components/parameters/InvoiceId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tracking_code:
type: string
description: Carrier tracking code (required unless pickup).
responses:
'200':
description: Fulfillment recorded
content:
application/json:
schema:
$ref: '#/components/schemas/Invoice'
components:
responses:
Error:
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ErrorResponse:
type: object
properties:
errors:
type: array
items:
type: string
Address:
type: object
properties:
line1:
type: string
line2:
type: string
city:
type: string
state_code:
type: string
zip:
type: string
Invoice:
type: object
properties:
id:
type: string
status:
type: string
merchandise_amount_cents:
type: integer
shipping_amount_cents:
type: integer
buyer_email:
type: string
seller_email:
type: string
listings:
type: array
items:
$ref: '#/components/schemas/Listing'
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
InvoiceCreateRequest:
type: object
required:
- merchandise_amount_cents
- shipping_amount_cents
- listings
properties:
buyer_email:
type: string
format: email
buyer_email_notifications_disabled:
type: boolean
manual_sales_tax_amount_cents:
type: integer
marketplace_buyer_fee_amount_cents:
type: integer
marketplace_seller_fee_amount_cents:
type: integer
merchandise_amount_cents:
type: integer
payment_method_convenience_fee_paid_by:
type: string
enum:
- buyer
- seller
platform_confirmation_required:
type: boolean
receiving_address:
$ref: '#/components/schemas/Address'
receiving_ffl_license_number:
type: string
redirect_url:
type: string
format: uri
seller_confirmation_required:
type: boolean
seller_email:
type: string
format: email
description: Required for marketplace integrations.
seller_order_id:
type: string
service_fee_paid_by:
type: string
enum:
- buyer
- seller
- split
shipping_amount_cents:
type: integer
listings:
type: array
items:
$ref: '#/components/schemas/Listing'
Listing:
type: object
required:
- amount_cents
- description
- listing_type_id
- quantity
- title
properties:
amount_cents:
type: integer
description:
type: string
external_id:
type: string
listing_type_id:
type: integer
quantity:
type: integer
serial_number:
type: string
title:
type: string
url:
type: string
format: uri
parameters:
InvoiceId:
in: path
name: id
required: true
schema:
type: string
description: Unique invoice identifier.
securitySchemes:
TokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Format: `Token {token_uuid}` issued to verified email users.'