Bitski Commerce API

The Commerce API from Bitski — 10 operation(s) for commerce.

Operations 12

POST /v1/apps/{app_id}/fulfillments Create a fulfillment for an order #
GET /v1/apps/{app_id}/fulfillments/{fulfillment_id} Get fulfillment details #
PATCH /v1/apps/{app_id}/fulfillments/{fulfillment_id} Update fulfillment status #
GET /v1/auctions/{auction_id} Get details about an auction #
POST /v1/orders Create a new pending order. #
GET /v1/orders/{order_id} Get details for an existing order. #
PATCH /v1/orders/{order_id}/payments/{payment_id} Update a payment for an order. #
GET /v1/products Filter products by store #
GET /v1/products/{product_id} Get product details #
GET /v1/stores/{store_id} Get public facing storefront details #
GET /v1/users/{user_id}/payment-methods List current user's payment methods #
POST /v1/users/{user_id}/payment-methods Add a new payment method #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bitski-commerce-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

bitski-commerce-api-openapi.yml Raw ↑
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