๐Public APIs for Price List (PL)
Programmatically manage Price List per Customer rules โ create rules with per-product pricing for individual customers, retrieve applied prices, and manage customer/product data.
These REST APIs let you manage customer pricing rules, calculate variant prices based on rules, and fetch customers/products.
Requirements
Install the BSS B2B Solution Shopify app
Get your Access Key (see below)
๐ Get the Access Key
Get your API Key. If you donโt have one yet, please follow this document to generate it.
All endpoints on this page are v1 โ include the key either as
accessKeyin the request body, or as a header:
x-bss-b2b-api-key: <accessKey>โ ๏ธ Not the same header as v2 (
x-api-key, used only by the Volume Pricing v2 endpoint) โ check the Authentication table if you're integrating multiple API groups.
๐งฑ Rule Endpoints
๐ Rule Field Reference
priority Determines whether a rule is prioritized over another.
status
apply_to
apply_at
exc_product_type
exclude_from
discount_type
selected_products / selected_variants items
Items array applied to the rule depending on apply_at:
product_id
string
Yes
Shopify Product ID.
String format (e.g. "7208207614027") is strongly recommended to prevent 64-bit integer overflow issues in JSON parsers.
variant_id
string
Yes (if apply_at: 1)
Shopify Variant ID.
Required when applying at the variant level (apply_at: 1). Omit or leave empty when apply_at: 0.
discount_type
number
Yes
Discount calculation method.
Options 0 to 5 (see discount type list above).
discount_value
number
Yes
Value of the discount or price.
Must be $\ge 0$ for types 0, 1, 3, 4. Must be between 0 and 100 for percentage types 2, 5.
๐ค Get rules by domain
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-by-domain
Headers
Body
Response (example)
๐๏ธ Get rules by id
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-by-id
Headers
Body
Response (example)
๐ Get rules by products
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-rules-by-products
Headers
Body
You can choose to get rules by either product IDs or product tags.
Response (example)
๐คน๐ผ Get rules by customers
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-rules-by-customers
Headers
Body
You can choose to get rules by either customer IDs or customer tags.
Response (example)
๐จ Create or Update a single rule
Limit: You can create a rule of 10,000 products/variants.
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/save
Headers
Body
If there is no id in the request data, a new rule is created. Otherwise, all the data of the existing rule with id will be replaced.
Response (example)
๐ต Create or Update multiple rules
Limit: You can create a rule of 10,000 products/variants.
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/bulk-save
Headers
Body
If there is no id, a new rule is created. Otherwise, the existing rule with id will be overridden.
Response (example)
๐ Update product data to a single rule
This endpoint helps you:
Add new specific products to your existing rule (If the product/variant ID does not exist in the rule, it is treated as new)
Edit existing product data in the rule (If the product/variant ID already exists, it is treated as existing)
PUT https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/update
Headers
Body
Response
๐๏ธ Update product data to multiple rules
This endpoint helps you:
Add new specific products to your existing rules
Edit existing product data in the rules
PUT https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/update-items
Headers
Body
Response (success)
Response (mixed)
โฑ Delete rule
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/delete
Headers
Body
Response
๐ Delete multiple rules
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/bulk-delete
Headers
Body
Response
๐ Remove existing products from rules
PUT https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/delete-items
Headers
Body
Response (success)
Response (error)
๐ Get Applied Rules for Products
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-products-applied-rules
Headers
Body
If customer_id is null, the system checks Price List Rules that apply to all or not-logged-in customers.
Response (example)
โฝ Get Price List of Variants based on Applied Rules
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-variants-price-list
Headers
Body
If customer_id is null, the system checks Price List Rules that apply to all or not-logged-in customers.
"expand" must be "products" or "variants" based on the applied level in the rule.
Response (example)
๐๏ธ Product Endpoints
๐ Search products
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/search
Headers
Body
afterIndex is a cursor. If null, search starts from the beginning.
Example cursor: eyJsYXN0X2lkIjo2NjU1NDU2Mzc5MDUzLCJsYXN0X3ZhbHVlIjo2NjU1NDU2Mzc5MDUzfQ==
Response (example)
,๐ Get Product Tags
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-tags
Headers
Body
Response (example)
โข๏ธ Get Products by Tags
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-by-tags
Headers
Body
Operation
"AND"โ returned products must contain all tags."OR"โ returned products must contain any tag in the array.
Response (example)
๐ผ Get Products by IDs
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-by-ids
Headers
Body
Response (example)
๐ค Customer Endpoints
๐ Search Customers
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/search
Headers
Body
Response (example)
๐ข๏ธ Get Customer Tags
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-tags
Headers
Body
Response (example)
โน๏ธ Get Customers by IDs
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-by-ids
Headers
Body
Response (example)
๐ Get Customers by Tags
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-by-tags
Headers
Body
Operation
"AND"โ must contain all tags."OR"โ must contain any tag.
Response (example)
๐๏ธ Collection Endpoints
As provided, Get Collections uses the
/customer/searchendpoint and returns acustomersarray.
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/search
Headers
Body
Response (example)
โ๏ธ Request Handling Policy
We handle one request at a time.
After your request is completed, the next one will be processed.
In case of a server error, it may take up to 3 minutes to recover and process a new request.
Last updated
Was this helpful?