Bitski Commerce API
The Commerce API from Bitski — 10 operation(s) for commerce.
The Commerce API from Bitski — 10 operation(s) for commerce.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/bitski-commerce-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: NFT Service APIs activity Commerce API
description: ''
license:
name: ''
version: '2.0'
servers:
- url: https://api.bitski.com
tags:
- name: Commerce
paths:
/v1/apps/{app_id}/fulfillments:
post:
tags:
- Commerce
summary: Create a fulfillment for an order
description: Create a fulfillment for an order
operationId: create_fulfillment
parameters:
- name: app_id
in: path
description: The id of your Bitski application
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
type: object
required:
- fulfillment
properties:
fulfillment:
allOf:
- oneOf:
- allOf:
- $ref: '#/components/schemas/MintTokenParameters'
- type: object
required:
- type
properties:
type:
type: string
enum:
- MINT_TOKEN
discriminator:
propertyName: type
- type: object
properties:
fulfillmentOrderId:
type:
- string
- 'null'
format: uuid
id:
type: string
format: uuid
description: The id of the fulfillment
required: true
responses:
'201':
description: The fulfillment details
content:
application/json:
schema:
type: object
required:
- fulfillment
properties:
fulfillment:
$ref: '#/components/schemas/Fulfillment'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
/v1/apps/{app_id}/fulfillments/{fulfillment_id}:
get:
tags:
- Commerce
summary: Get fulfillment details
description: Get fulfillment details
operationId: get_fulfillment
parameters:
- name: app_id
in: path
description: The id of your Bitski application
required: true
schema:
type: string
format: uuid
- name: fulfillment_id
in: path
description: The id of the fulfillment
required: true
schema:
type: string
format: uuid
responses:
'201':
description: The fulfillment details
content:
application/json:
schema:
type: object
required:
- fulfillment
properties:
fulfillment:
$ref: '#/components/schemas/Fulfillment'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
'404':
description: Not found
content:
application/json:
schema:
type: object
example:
error:
code: 404
message: Not found
request: 4fa85f64-5717-4562-b3fc-2c963f66afa6
status: NotFound
patch:
tags:
- Commerce
summary: Update fulfillment status
description: Update fulfillment status
operationId: patch_fulfillment
parameters:
- name: app_id
in: path
description: The id of your Bitski application
required: true
schema:
type: string
format: uuid
- name: fulfillment_id
in: path
description: The id of the fulfillment
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
type: object
required:
- fulfillment
properties:
fulfillment:
oneOf:
- type: object
required:
- transactionHash
- fulfillmentState
properties:
fulfillmentState:
type: string
enum:
- SUCCEDED
transactionHash:
type: string
example: '0xc705dec104b3c5b9f2395edd2bb59a2a66304fec529c569f8b613ab392354ee4'
- type: object
required:
- error
- fulfillmentState
properties:
error:
type: object
fulfillmentState:
type: string
enum:
- FAILED
- type: object
required:
- fulfillmentState
properties:
fulfillmentState:
type: string
enum:
- CANCELED
discriminator:
propertyName: fulfillmentState
required: true
responses:
'200':
description: The fulfillment details
content:
application/json:
schema:
type: object
required:
- fulfillment
properties:
fulfillment:
$ref: '#/components/schemas/Fulfillment'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
'404':
description: Not found
content:
application/json:
schema:
type: object
example:
error:
code: 404
message: Not found
request: 4fa85f64-5717-4562-b3fc-2c963f66afa6
status: NotFound
/v1/auctions/{auction_id}:
get:
tags:
- Commerce
summary: Get details about an auction
description: Get details about an auction
operationId: get_auction_info
parameters:
- name: auction_id
in: path
description: The id of the auction
required: true
schema:
type: string
format: uuid
responses:
'200':
description: The auction details
content:
application/json:
schema:
type: object
required:
- auction
properties:
auction:
$ref: '#/components/schemas/AuctionInfo'
'404':
description: Auction not found
content:
application/json:
schema:
type: object
example:
error:
message: Not found
/v1/orders:
post:
tags:
- Commerce
summary: Create a new pending order.
description: 'Create a new pending order.
No payment or fulfillment is completed on create order.
A payment intent is created and associated to the order to track sales that
may not be completed.'
operationId: create_order
requestBody:
content:
application/json:
schema:
type: object
description: Params to create a new pending order
required:
- order
- payment
properties:
order:
type: object
required:
- currency
- items
- recipient
properties:
currency:
$ref: '#/components/schemas/Currency'
id:
type: string
format: uuid
description: The id of the order
items:
type: array
items:
type: object
description: The order item that a client sends in.
required:
- productId
properties:
itemId:
type:
- string
- 'null'
format: uuid
description: Optional item ID identifying a unique item
productId:
type: string
format: uuid
description: The id of the product
quantity:
type: integer
format: int64
description: The quantity of the product selected
description: The items in this order
recipient:
type: object
required:
- destinationAddress
properties:
customerEmail:
type:
- string
- 'null'
description: The email of the customer
example: john@example.com
customerName:
type:
- string
- 'null'
description: The name of the customer
example: John Doe
destinationAddress:
type: string
description: The destination address of the customer
example: '0xa4ef984773fd233c4cbed9cb1b905a3fa21e9461'
payment:
type: object
properties:
id:
type: string
format: uuid
description: The id of the payment
onChainPayload:
description: For on chain orders, an optional payload that will be used to valide the order
paymentMethodDescription:
type:
- string
- 'null'
description: The payment method description
example: Visa 4111
paymentMethodId:
type:
- string
- 'null'
description: The payment method to be used
example: pm_card_visa
processorCustomerId:
type:
- string
- 'null'
description: The processor customer id for this order
example: cus_9s6XeO1kXqpwST
required: true
responses:
'201':
description: Order details
content:
application/json:
schema:
type: object
required:
- order
- payment
properties:
order:
$ref: '#/components/schemas/Order'
payment:
$ref: '#/components/schemas/Payment'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
security:
- oauth2:
- commerce
/v1/orders/{order_id}:
get:
tags:
- Commerce
summary: Get details for an existing order.
description: Get details for an existing order.
operationId: get_order
parameters:
- name: order_id
in: path
description: The id of the order
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Order details
content:
application/json:
schema:
type: object
required:
- order
properties:
order:
$ref: '#/components/schemas/Order'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
'404':
description: Not found
content:
application/json:
schema:
type: object
example:
error:
code: 404
message: Not found
request: 4fa85f64-5717-4562-b3fc-2c963f66afa6
status: NotFound
security:
- oauth2:
- commerce
/v1/orders/{order_id}/payments/{payment_id}:
patch:
tags:
- Commerce
summary: Update a payment for an order.
description: 'Update a payment for an order.
Attempts to process the associated payment.
If successful, inventory is reserved and fulfillment begins.'
operationId: patch_order_payment
parameters:
- name: order_id
in: path
description: The id of the order
required: true
schema:
type: string
format: uuid
- name: payment_id
in: path
description: The id of the payment
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
type: object
required:
- payment
properties:
payment:
oneOf:
- type: object
required:
- status
properties:
doublePaymentCheck:
type: boolean
description: If there is a double payment check
onChainPayload:
description: On chain order payload
paymentMethodId:
type:
- string
- 'null'
description: The payment method id
example: pm_card_visa
returnUrl:
type:
- string
- 'null'
description: The post-payment return url
example: null
status:
type: string
enum:
- completed
discriminator:
propertyName: status
required: true
responses:
'200':
description: Order and payment details
content:
application/json:
schema:
type: object
required:
- order
- payment
properties:
order:
$ref: '#/components/schemas/Order'
payment:
$ref: '#/components/schemas/Payment'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
'404':
description: Not found
content:
application/json:
schema:
type: object
example:
error:
code: 404
message: Not found
request: 4fa85f64-5717-4562-b3fc-2c963f66afa6
status: NotFound
security:
- oauth2:
- commerce
/v1/products:
get:
tags:
- Commerce
summary: Filter products by store
description: Filter products by store
operationId: list_products
parameters:
- name: baseUrl
in: query
required: false
schema:
type:
- string
- 'null'
- name: saleType
in: query
required: false
schema:
allOf:
- $ref: '#/components/schemas/SaleTypeQuery'
- name: sold
in: query
required: false
schema:
type:
- boolean
- 'null'
- name: all
in: query
required: false
schema:
type: boolean
- name: limit
in: query
required: false
schema:
type: integer
format: int32
minimum: 0
- name: offset
in: query
required: false
schema:
type: integer
format: int32
minimum: 0
- name: includeUpcoming
in: query
required: false
schema:
type: boolean
- name: liveAt
in: query
required: false
schema:
type:
- string
- 'null'
format: date-time
responses:
'200':
description: List products
content:
application/json:
schema:
type: object
required:
- products
properties:
products:
type: array
items:
$ref: '#/components/schemas/Product'
/v1/products/{product_id}:
get:
tags:
- Commerce
summary: Get product details
description: Get product details
operationId: get_product
parameters:
- name: product_id
in: path
description: The product id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Product details
content:
application/json:
schema:
type: object
required:
- product
- gates
properties:
gates:
type: array
items:
$ref: '#/components/schemas/Gate'
product:
$ref: '#/components/schemas/Product'
'404':
description: Contract not found
content:
application/json:
schema:
type: object
example:
error:
message: Not found
/v1/stores/{store_id}:
get:
tags:
- Commerce
summary: Get public facing storefront details
description: Get public facing storefront details
operationId: store_public
parameters:
- name: store_id
in: path
description: The id of your store
required: true
schema:
type: string
format: uuid
responses:
'200':
description: The store details
content:
application/json:
schema:
type: object
required:
- store
properties:
store:
$ref: '#/components/schemas/PublicStore'
'404':
description: Store not found
content:
application/json:
schema:
type: object
example:
error:
message: Not found
/v1/users/{user_id}/payment-methods:
get:
tags:
- Commerce
summary: List current user's payment methods
description: List current user's payment methods
operationId: list_payment_methods
parameters:
- name: user_id
in: path
description: The id of the current user
required: true
schema:
type: string
format: uuid
responses:
'200':
description: List of payment methods
content:
application/json:
schema:
type: object
required:
- paymentMethods
properties:
paymentMethods:
type: array
items:
$ref: '#/components/schemas/PaymentMethod'
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
security:
- oauth2:
- commerce
post:
tags:
- Commerce
summary: Add a new payment method
description: Add a new payment method
operationId: add_payment_method
parameters:
- name: user_id
in: path
description: The id of the current user
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
type: object
required:
- paymentMethod
properties:
paymentMethod:
$ref: '#/components/schemas/NewPaymentMethod'
required: true
responses:
'200':
description: New payment method details
content:
application/json:
schema:
type: object
required:
- paymentMethod
properties:
paymentMethod:
$ref: '#/components/schemas/PaymentMethod'
'400':
description: List of payment methods
content:
application/json:
schema:
type: object
example:
error:
message: Invalid card
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: The request could not be authorized
request: 3fa85f64-5717-4562-b3fc-2c963f66afa6
status: Unauthorized
security:
- oauth2:
- commerce
components:
schemas:
Price:
type: object
required:
- currency
- price
properties:
currency:
type: string
description: The currency for this price
example: USD
id:
type: string
format: uuid
description: The price id
price:
type: string
description: The amount each item costs
example: '200.00'
Currency:
type: string
enum:
- USD
- ITUNES
Payment:
type: object
required:
- createdAt
- paymentMethodId
properties:
createdAt:
type: string
format: date-time
description: The date the order was created
id:
type: string
format: uuid
description: The id of the payment
nextAction:
allOf:
- $ref: '#/components/schemas/NextAction'
paymentMethodDescription:
type:
- string
- 'null'
description: The description o the payment method
example: Visa 4111
paymentMethodId:
type: string
description: The id of the payment method used
example: pm_card_visa
processorPaymentSecret:
type:
- string
- 'null'
description: The secret for the payment
AuctionInfo:
oneOf:
- $ref: '#/components/schemas/OnChainAuctionInfo'
- $ref: '#/components/schemas/OffChainAuctionInfo'
OrderStatus:
type: string
enum:
- DRAFT
- PENDING
- FAILED
- SUCCEEDED
- CANCELED
SaleTypeQuery:
type: string
enum:
- EDITION
- LIMITED_EDITION
- OPEN_EDITION
- AUCTION
- OFF_CHAIN_AUCTION
- ON_CHAIN_AUCTION
OnChainAuctionInfo:
type: object
required:
- id
- network
- tokenId
- tokenContractAddress
- auctionContractAddress
- tokenMetadata
- bids
- automaticSettlement
- auctionStandard
properties:
auctionContractAddress:
type: string
description: The address of the auction contract that facilitates the bidding
example: '0xa4ef984773fd233c4cbed9cb1b905a3fa21e9461'
auctionStandard:
type: string
example: NON_FUNGIBLE_AUCTION
automaticSettlement:
type: boolean
bids:
type: array
items:
$ref: '#/components/schemas/OnChainBid'
ended:
type: boolean
externalId:
type:
- string
- 'null'
description: External id is used when the bid comes from a third party auction like ZORA
example: null
id:
type: string
format: uuid
description: The auction ID
network:
type: string
description: The ethereum network name
example: mainnet
tokenContractAddress:
type: string
description: The address of the token contract that contains the token
example: '0x0C3b9C785723B79Cf8D61a4A71E0ab5A00584772'
tokenId:
type: string
description: The id of the token being auctioned
example: '0x1'
tokenMetadata:
$ref: '#/components/schemas/TokenMetadata'
PublicStore:
type: object
description: Your public facing storefront
required:
- id
- application
- username
- title
- description
- processor
- processorApiKey
- socialLinks
properties:
application:
type: string
format: uuid
description: The stores application id
backgroundImageUri:
type:
- string
- 'null'
description: The store's background image url
example: null
description:
type: string
description: The description of the store
example: Curating the best bird related NFTs
id:
type: string
format: uuid
description: The store id
processor:
type: string
description: The payment processor the store uses
example: Stripe
processorApiKey:
type: string
description: The public api key for the store's payment processor
example: pk_test_TYooMQauvdEDq54NiTphI7jx
processorLogoUri:
type:
- string
- 'null'
description: The logo for the store's payment processor
example: https://cdn.bitskistatic.com/processors/stripe.svg
socialLinks:
type: object
description: The store's social links
themeUrl:
type:
- string
- 'null'
description: The store's theme url
example: null
title:
type: string
description: The title of the store
example: Bird Store
username:
type: string
description: The store marketplace username
example: bird_fans
TokenMetadata:
type: object
properties:
attributes:
type: array
items: {}
description: Token attributes
example: null
background_color:
type:
- string
- 'null'
description: Token background color
example: null
description:
type:
- string
- 'null'
description: Token description
example: A very special NFT
image:
type:
- string
- 'null'
description: The token image
example: https://cdn.bitskistatic.com/tokens-raw/54676382-bab5-408d-afe2-fc6f160da4a8/06fd0294-a425-44c7-96e8-9d24757163b4.png
name:
type:
- string
- 'null'
description: Token name
example: 'NFT Token #1'
properties:
type: object
description: Token properties
SaleType:
type: string
enum:
- LIMITED_EDITION
- OPEN_EDITION
- OFF_CHAIN_AUCTION
- ON_CHAIN_AUCTION
Fulfillment:
allOf:
- oneOf:
- allOf:
- $ref: '#/components/schemas/TokenItems'
- type: object
required:
- type
properties:
type:
type: string
enum:
- mintToken
- type: object
required:
- type
properties:
type:
type: string
enum:
- relaySecondaryListing
discriminator:
propertyName: type
- type: object
required:
- id
- createdAt
- status
- chainId
properties:
chainId:
type: integer
format: int64
description: The chain id for this fulfillment
example: 1
minimum: 0
createdAt:
type: string
format: date-time
description: The date the fulfillment was created
id:
type: string
format: uuid
description: The id of the fulfillment
status:
$ref: '#/components/schemas/FulfillmentStatus'
transactionHash:
type:
- string
- 'null'
description: The transaction hash for this fulfillment
example: '0xc705dec104b3c5b9f2395edd2bb59a2a66304fec529c569f8b613ab392354ee4'
Attribute:
type: object
required:
- key
- value
properties:
key:
type: string
description: Attribute key
example: Level
value:
type: string
description: Attribute value
example: '3'
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitski/refs/heads/main/openapi/bitski-commerce-api-openapi.yml