Bootic Volume Discounts API
Quantity-based discount rules (tiered pricing by units purchased).
Quantity-based discount rules (tiered pricing by units purchased).
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/bootic-volume-discounts-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: 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