Bootic Price Lists API

Named price lists for B2B / wholesale pricing. Products can have per-variant price overrides within a price list.

Operations 9

GET /price_lists List price lists #
POST /price_lists Create a price list #
GET /price_lists/{id} Get a price list #
PUT /price_lists/{id} Update a price list #
DELETE /price_lists/{id} Delete a price list #
GET /price_lists/{id}/products List products in a price list #
GET /price_lists/{price_list_id}/items List price items #
PUT /price_lists/{price_list_id}/items/{id} Update a price item #
DELETE /price_lists/{price_list_id}/items/{id} Delete a price item #

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/bootic-price-lists-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

bootic-price-lists-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bolder API v2 Price Lists API
  version: '2.0'
  description: '## Getting Started


    The Bolder API provides programmatic access to your Bolder Shop data through a

    hypermedia-driven REST interface.'
  contact:
    name: Bolder API Support
    url: https://www.onbolder.com
servers:
- url: https://api.onbolder.com/v2
  description: Production
security:
- bearerAuth: []
tags:
- name: Price Lists
  description: 'Named price lists for B2B / wholesale pricing. Products can have per-variant price

    overrides within a price list.'
paths:
  /price_lists:
    get:
      tags:
      - Price Lists
      summary: List price lists
      description: 'Returns price lists for the authenticated account. A price list lets

        you override variant prices for specific customer groups or channels.'
      operationId: listPriceLists
      parameters:
      - name: seller_id
        in: query
        schema:
          type: integer
        description: Filter price lists by seller ID.
        example: 7
      - name: currency
        in: query
        schema:
          type: string
        description: Filter price lists by currency code (ISO 4217).
        example: EUR
      - name: page
        in: query
        schema:
          type: integer
          default: 1
          minimum: 1
        example: 1
      - name: per_page
        in: query
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 200
        example: 20
      responses:
        '200':
          description: Paginated list of price lists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceListList'
              example:
                _class:
                - results
                - price_lists
                total_items: 1
                per_page: 20
                page: 1
                _links:
                  self:
                    href: https://api.onbolder.com/v2/price_lists
                  products:create_price_list:
                    href: https://api.onbolder.com/v2/price_lists
                    method: post
                _embedded:
                  items:
                  - id: 10
                    name: Wholesale EUR
                    currency_code: EUR
                    created_on: '2024-01-15T10:00:00Z'
                    _links:
                      self:
                        href: https://api.onbolder.com/v2/price_lists/10
    post:
      tags:
      - Price Lists
      summary: Create a price list
      operationId: createPriceList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - seller_id
              properties:
                seller_id:
                  type: integer
                  description: The seller this price list belongs to.
                name:
                  type: string
                  description: Human-readable label for this price list.
                prices_include_tax:
                  type: boolean
                  description: Whether prices in this list already include tax.
                use_price_comparison_for_vol_discounts:
                  type: boolean
                  description: Use price comparison values when computing volume discounts.
                contact_group_ids:
                  type: array
                  items:
                    type: integer
                  description: 'Contact groups this price list applies to. On update, this list is additive (existing group ids are not removed).

                    '
                tax:
                  type: object
                  properties:
                    name:
                      type: string
                    rate:
                      type: number
                      description: Tax rate, between 0 and 1.
              description: 'Note: `currency_code` is not a settable field — it is always derived from the owning seller''s currency and returned read-only in responses.

                '
            example:
              seller_id: 7
              name: Wholesale EUR
              prices_include_tax: false
      responses:
        '201':
          description: Price list created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceList'
              example:
                id: 10
                name: Wholesale EUR
                currency_code: EUR
                created_on: '2024-01-15T10:00:00Z'
                _links:
                  self:
                    href: https://api.onbolder.com/v2/price_lists/10
                  products:add_price_item:
                    href: https://api.onbolder.com/v2/price_lists/10/items
                    method: post
  /price_lists/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: integer
    get:
      tags:
      - Price Lists
      summary: Get a price list
      operationId: getPriceList
      responses:
        '200':
          description: Price list entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceList'
              example:
                id: 10
                name: Wholesale EUR
                currency_code: EUR
                contact_groups_count: 3
                created_on: '2024-01-15T10:00:00Z'
                _links:
                  self:
                    href: https://api.onbolder.com/v2/price_lists/10
                  products:price_items:
                    href: https://api.onbolder.com/v2/price_lists/10/items
                  products:add_price_item:
                    href: https://api.onbolder.com/v2/price_lists/10/items
                    method: post
                  products:delete_price_list:
                    href: https://api.onbolder.com/v2/price_lists/10
                    method: delete
        '403':
          description: Access denied
    put:
      tags:
      - Price Lists
      summary: Update a price list
      operationId: updatePriceList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                prices_include_tax:
                  type: boolean
                use_price_comparison_for_vol_discounts:
                  type: boolean
                contact_group_ids:
                  type: array
                  items:
                    type: integer
                  description: Additive — existing group ids on the price list are not removed.
                tax:
                  type: object
                  properties:
                    name:
                      type: string
                    rate:
                      type: number
            example:
              name: Wholesale EUR - Revised
      responses:
        '200':
          description: Price list updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceList'
              example:
                id: 10
                name: Wholesale EUR - Revised
                currency_code: EUR
                _links:
                  self:
                    href: https://api.onbolder.com/v2/price_lists/10
    delete:
      tags:
      - Price Lists
      summary: Delete a price list
      operationId: deletePriceList
      responses:
        '204':
          description: Price list deleted
  /price_lists/{id}/products:
    get:
      tags:
      - Price Lists
      summary: List products in a price list
      description: Returns all products that have a price override within this price list.
      operationId: getPriceListProducts
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: Price list ID
        example: 10
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: Products in this price list
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          description: 'There is no `list_prices` field — price overrides are embedded as `price_items` (per variant).

                            '
                          properties:
                            id:
                              type: integer
                            product_id:
                              type: integer
                            name:
                              type: string
                            slug:
                              type: string
                            price:
                              type: integer
                            price_comparison:
                              type: integer
                            retail_price:
                              type: integer
                              description: Original (non-price-list) price, in cents
              example:
                _class:
                - results
                - priceListProducts
                total_items: 3
                _embedded:
                  items:
                  - id: 101
                    product_id: 101
                    name: Summer Dress
                    slug: summer-dress
                    price: 3999
                    retail_price: 4999
                    _embedded:
                      price_items:
                      - id: 201
                        variant_id: 201
                        price: 3999
        '404':
          description: Price list not found
  /price_lists/{price_list_id}/items:
    get:
      tags:
      - Price Lists
      summary: List price items
      description: Returns all price item overrides within the given price list.
      operationId: listPriceItems
      parameters:
      - name: price_list_id
        in: path
        required: true
        schema:
          type: integer
        example: 10
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: Price items list
          content:
            application/json:
              schema:
                type: object
                properties:
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/PriceItem'
              example:
                _class:
                - results
                - priceItems
                total_items: 2
                _embedded:
                  items:
                  - id: 201
                    variant_id: 201
                    product_id: 101
                    name: Summer Dress
                    sku: SD-001
                    price: 3999
                    retail_price: 4999
                    visible: true
  /price_lists/{price_list_id}/items/{id}:
    parameters:
    - name: price_list_id
      in: path
      required: true
      schema:
        type: integer
      example: 10
    - name: id
      in: path
      required: true
      schema:
        type: integer
      description: 'The variant ID. Passing a variant ID that has no price override in this price list returns 404.

        '
      example: 201
    put:
      tags:
      - Price Lists
      summary: Update a price item
      description: Set or update the price override for a variant in this price list.
      operationId: updatePriceItem
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                price:
                  type: integer
                  description: In cents
            example:
              price: 3499
      responses:
        '200':
          description: Price item updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceItem'
    delete:
      tags:
      - Price Lists
      summary: Delete a price item
      description: Remove the price override for this variant from the price list.
      operationId: deletePriceItem
      responses:
        '204':
          description: Price item deleted
components:
  schemas:
    PriceList:
      type: object
      properties:
        _links:
          $ref: '#/components/schemas/HalLinks'
        id:
          type: integer
        name:
          type: string
        currency_code:
          type: string
        prices_include_tax:
          type: boolean
        use_price_comparison_for_vol_discounts:
          type: boolean
        tax:
          type: number
        contact_groups_count:
          type: integer
        created_on:
          type: string
          format: date-time
        updated_on:
          type: string
          format: date-time
    Pagination:
      type: object
      properties:
        total_items:
          type: integer
          example: 42
        per_page:
          type: integer
          example: 20
        page:
          type: integer
          example: 1
    HalLinks:
      type: object
      additionalProperties:
        oneOf:
        - $ref: '#/components/schemas/HalLink'
        - type: array
          items:
            $ref: '#/components/schemas/HalLink'
    PriceItem:
      type: object
      description: '`id` is the variant ID (`variant_id`) — there is no independent price-item ID.

        '
      properties:
        id:
          type: integer
        variant_id:
          type: integer
        product_id:
          type: integer
        name:
          type: string
        sku:
          type: string
        price:
          type: integer
          description: In cents
        price_comparison:
          type: integer
        retail_price:
          type: integer
          description: Original (non-price-list) price, in cents
        cart_quantity_multiple:
          type: integer
        visible:
          type: boolean
        created_on:
          type: string
          format: date-time
        updated_on:
          type: string
          format: date-time
    PriceListList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - type: object
        properties:
          _links:
            $ref: '#/components/schemas/HalLinks'
          _class:
            type: array
            items:
              type: string
            example:
            - results
            - priceLists
          _embedded:
            type: object
            properties:
              price_lists:
                type: array
                items:
                  $ref: '#/components/schemas/PriceList'
    HalLink:
      type: object
      required:
      - href
      properties:
        href:
          type: string
        templated:
          type: boolean
        method:
          type: string
          enum:
          - get
          - post
          - put
          - patch
          - delete
        title:
          type: string
        type:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.onbolder.com/oauth/token
          scopes:
            products.read: View products, variants and collections
            products.write: Create and update products
            orders.read: View orders
            orders.write: Create and update orders
            customers.read: View customer profiles
            customers.write: Update customer profiles
            shops.read: View shop configuration
            shops.write: Update shop configuration
            hub.read: View content (posts, pages)
            hub.write: Create and update content
            store.read: View themes and assets
            store.write: Manage themes and assets
            sellers.read: View seller information
            batches.read: View batch job status
            batches.write: Create and run batch jobs
        authorizationCode:
          authorizationUrl: https://auth.onbolder.com/oauth/authorize
          tokenUrl: https://auth.onbolder.com/oauth/token
          scopes:
            products.read: View products, variants and collections
            products.write: Create and update products
            orders.read: View orders
            orders.write: Create and update orders
            customers.read: View customer profiles
            customers.write: Update customer profiles
            shops.read: View shop configuration
            shops.write: Update shop configuration
            hub.read: View content (posts, pages)
            hub.write: Create and update content
            store.read: View themes and assets
            store.write: Manage themes and assets
            sellers.read: View seller information
            batches.read: View batch job status
            batches.write: Create and run batch jobs