Bootic Volume Discounts API

Quantity-based discount rules (tiered pricing by units purchased).

Operations 5

GET /volume_discounts List volume discounts #
POST /volume_discounts Create a volume discount #
GET /volume_discounts/{id} Get a volume discount #
PUT /volume_discounts/{id} Update a volume discount #
DELETE /volume_discounts/{id} Delete a volume discount #

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-volume-discounts-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-volume-discounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bolder API v2 Volume Discounts 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: Volume Discounts
  description: Quantity-based discount rules (tiered pricing by units purchased).
paths:
  /volume_discounts:
    get:
      tags:
      - Volume Discounts
      summary: List volume discounts
      description: 'Returns volume discount rules. Volume discounts automatically

        apply tiered pricing when a customer orders above a quantity threshold.'
      operationId: listVolumeDiscounts
      parameters:
      - name: shop_id
        in: query
        schema:
          type: integer
        description: ID of the shop whose volume discounts to list.
        example: 1
      - 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 volume discounts list
          content:
            application/json:
              example:
                _class:
                - results
                - volume_discounts
                total_items: 1
                per_page: 20
                page: 1
                _links:
                  self:
                    href: https://api.onbolder.com/v2/volume_discounts?shop_id=1
                _embedded:
                  items:
                  - id: 30
                    name: Buy 5+ get 10% off
                    discount_type: percentage
                    tiers:
                      '5': 10
                      '10': 15
                    _links:
                      self:
                        href: https://api.onbolder.com/v2/volume_discounts/30
        '422':
          description: '`shop_id` required'
        '403':
          description: Access denied
    post:
      tags:
      - Volume Discounts
      summary: Create a volume discount
      description: 'Creates a new volume discount for a shop. Volume discounts automatically

        apply tiered pricing when a customer orders above a unit threshold.

        `shop_id` is required in the body.'
      operationId: createVolumeDiscount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeDiscountInput'
            example:
              shop_id: 1
              name: Buy 5+ get 10% off
              discount_type: percentage
              tiers:
              - from: 5
                value: 10
              - from: 10
                value: 15
              - from: 20
                value: 20
      responses:
        '201':
          description: Volume discount created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeDiscount'
              example:
                id: 30
                name: Buy 5+ get 10% off
                discount_type: percentage
                tiers:
                  '5': 10
                  '10': 15
                  '20': 20
                _links:
                  self:
                    href: https://api.onbolder.com/v2/volume_discounts/30
        '422':
          description: Validation error
  /volume_discounts/{id}:
    get:
      tags:
      - Volume Discounts
      summary: Get a volume discount
      description: Returns a single volume discount by ID.
      operationId: getVolumeDiscount
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the volume discount to retrieve.
        example: 30
      responses:
        '200':
          description: Volume discount details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeDiscount'
              example:
                id: 30
                name: Buy 5+ get 10% off
                discount_type: percentage
                tiers:
                  '5': 10
                cumulative: false
                _links:
                  self:
                    href: https://api.onbolder.com/v2/volume_discounts/30
        '404':
          description: Volume discount not found
    put:
      tags:
      - Volume Discounts
      summary: Update a volume discount
      description: Updates an existing volume discount.
      operationId: updateVolumeDiscount
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the volume discount to update.
        example: 30
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VolumeDiscountInput'
            example:
              tiers:
              - from: 5
                value: 15
      responses:
        '200':
          description: Volume discount updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeDiscount'
              example:
                id: 30
                tiers:
                  '5': 15
                _links:
                  self:
                    href: https://api.onbolder.com/v2/volume_discounts/30
        '404':
          description: Volume discount not found
    delete:
      tags:
      - Volume Discounts
      summary: Delete a volume discount
      description: Soft-deletes a volume discount.
      operationId: deleteVolumeDiscount
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
        description: ID of the volume discount to delete.
        example: 30
      responses:
        '204':
          description: Volume discount deleted
components:
  schemas:
    VolumeDiscountInput:
      type: object
      required:
      - name
      - shop_id
      - tiers
      properties:
        shop_id:
          type: integer
          description: ID of the shop to create the volume discount in
        name:
          type: string
        discount_type:
          type: string
          description: Discount type.
        cumulative_mode:
          type: string
          enum:
          - within_product
          - global
          description: Omit for non-cumulative
        apply_on_tier_start_only:
          type: boolean
        tiers:
          type: array
          items:
            type: object
            properties:
              from:
                type: integer
                description: Units in cart at which this tier starts applying
              value:
                type: integer
                description: Discount value for this tier
            example:
              from: 5
              value: 10
    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
    HalLinks:
      type: object
      additionalProperties:
        oneOf:
        - $ref: '#/components/schemas/HalLink'
        - type: array
          items:
            $ref: '#/components/schemas/HalLink'
    VolumeDiscount:
      type: object
      properties:
        _links:
          $ref: '#/components/schemas/HalLinks'
        id:
          type: integer
        name:
          type: string
        discount_type:
          type: string
        apply_mode:
          type: string
        repeating_tier:
          type: boolean
        tiers:
          type: object
          description: Keyed by tier boundary — not an array.
        cumulative:
          type: boolean
        cumulative_mode:
          type: string
        available_for:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  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