Bold Commerce Checkout API

Headless storefront checkout order operations.

Operations 6

POST /checkout/storefront/{shop_id}/{order_id}/addresses/shipping Set the shipping address #
GET /checkout/storefront/{shop_id}/{order_id}/addresses/shipping Retrieve the shipping address #
POST /checkout/storefront/{shop_id}/{order_id}/addresses/billing Set the billing address #
POST /checkout/storefront/{shop_id}/{order_id}/line_items Add line items to the order #
POST /checkout/storefront/{shop_id}/{order_id}/discounts Apply a discount code to the order #
POST /checkout/storefront/{shop_id}/{order_id}/payments Add a payment to the order #

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/bold-commerce-checkout-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

bold-commerce-checkout-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bold Commerce Checkout API
  description: Bold Commerce provides modular e-commerce APIs for subscriptions, headless checkout, and pricing, plus supporting Products, Customers, and Shops APIs. All requests are made against https://api.boldcommerce.com and authenticated with a Bearer token - either an OAuth 2.0 access token (public integrations, obtained through the Developer Dashboard authorization-code flow) or a scoped API access token (private integrations, generated in the Bold Account Center). Most paths are scoped to a shop_identifier GUID that is retrieved from the Shops API. Versioned endpoints accept a Bold-API-Version-Date header. Endpoints below are modeled from Bold's public developer documentation; request and response schemas are representative.
  version: '1.0'
  contact:
    name: Bold Commerce
    url: https://developer.boldcommerce.com
servers:
- url: https://api.boldcommerce.com
  description: Bold Commerce API
security:
- bearerAuth: []
tags:
- name: Checkout
  description: Headless storefront checkout order operations.
paths:
  /checkout/storefront/{shop_id}/{order_id}/addresses/shipping:
    post:
      operationId: setShippingAddress
      tags:
      - Checkout
      summary: Set the shipping address
      description: Sets the shipping address on the order.
      parameters:
      - $ref: '#/components/parameters/ShopId'
      - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Address'
      responses:
        '200':
          description: The updated order application state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutState'
    get:
      operationId: getShippingAddress
      tags:
      - Checkout
      summary: Retrieve the shipping address
      parameters:
      - $ref: '#/components/parameters/ShopId'
      - $ref: '#/components/parameters/OrderId'
      responses:
        '200':
          description: The shipping address.
  /checkout/storefront/{shop_id}/{order_id}/addresses/billing:
    post:
      operationId: setBillingAddress
      tags:
      - Checkout
      summary: Set the billing address
      description: Sets the billing address on the order.
      parameters:
      - $ref: '#/components/parameters/ShopId'
      - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Address'
      responses:
        '200':
          description: The updated order application state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutState'
  /checkout/storefront/{shop_id}/{order_id}/line_items:
    post:
      operationId: addCheckoutLineItems
      tags:
      - Checkout
      summary: Add line items to the order
      parameters:
      - $ref: '#/components/parameters/ShopId'
      - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                line_items:
                  type: array
                  items:
                    $ref: '#/components/schemas/LineItem'
      responses:
        '200':
          description: The updated order application state.
  /checkout/storefront/{shop_id}/{order_id}/discounts:
    post:
      operationId: applyCheckoutDiscount
      tags:
      - Checkout
      summary: Apply a discount code to the order
      parameters:
      - $ref: '#/components/parameters/ShopId'
      - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: string
      responses:
        '200':
          description: The updated order application state.
  /checkout/storefront/{shop_id}/{order_id}/payments:
    post:
      operationId: addCheckoutPayment
      tags:
      - Checkout
      summary: Add a payment to the order
      parameters:
      - $ref: '#/components/parameters/ShopId'
      - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                amount:
                  type: integer
      responses:
        '200':
          description: The updated order application state.
components:
  schemas:
    LineItem:
      type: object
      properties:
        product_id:
          type: string
        variant_id:
          type: string
        quantity:
          type: integer
        price:
          type: integer
    CheckoutState:
      type: object
      properties:
        application_state:
          type: object
          description: Complete order context - customer, items, totals, and more.
    Address:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        address1:
          type: string
        city:
          type: string
        province:
          type: string
        country:
          type: string
        postal_code:
          type: string
  parameters:
    OrderId:
      name: order_id
      in: path
      required: true
      description: The public order ID for the checkout session.
      schema:
        type: string
    ShopId:
      name: shop_id
      in: path
      required: true
      description: The shop identifier for the checkout order.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth 2.0 access token (public integrations) or scoped API access token (private integrations), passed as Authorization: Bearer {token}.'