🔗Public APIs for Price List (PL)
These REST APIs let you manage customer pricing rules, calculate variant prices based on rules, and fetch customers/products.
Requirements
Install the B2B/Wholesale Solution Shopify app
Get your Access Key (see below)
🔑 Get the Access Key
Open the B2B/Wholesale Solution app.
Go to Public API.
Click Copy to copy your accessKey.
Include it in the request body for every call.
🧱 Rule Endpoints
Rule Field Reference
priority Determines whether a rule is prioritized over another.
status
0: inactive
1: activeapply_to
apply_at
exc_product_type
exclude_from
discount_type
</details>
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)
POST 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?