Skip to main content
The Products API lets you manage your B2B product catalog — create products, update pricing tiers, activate or deactivate items, and search across your catalog. All endpoints require a valid Bearer token. The OrganizationId is read automatically from your JWT claims.

List products

Retrieve a paginated list of products in your catalog. Prices are resolved against the PriceTier, CurrencyCode, and CustomerNumber encoded in your token.

Query parameters

integer
default:"1"
The page of results to return.
integer
default:"25"
Number of products per page.
string
default:"Sku"
Field to sort on. Common values: Sku, Name, Price.
string
default:"asc"
Sort direction. Accepts asc or desc.
array
Optional array of filter objects. Each filter specifies a field, operator, and value. Supported operators: startswith, contains, notcontains, endswith, equals, notequals.

Response

Returns a paginated result containing an array of product objects.

Example


Search products

Search your catalog by keyword. Nymble Commerce matches on SKU, name, description, and UPC. Results are paginated and respect the same price-tier resolution as the list endpoint.

Query parameters

string
required
The keyword or phrase to search for.
integer
default:"1"
The page of results to return.
integer
default:"50"
Number of products per page.

Response

Returns a paginated result containing an array of product objects that match the search term.

Example


Get a product

Retrieve a single product by its SKU.

Path parameters

string
required
The product’s stock-keeping unit (SKU).

Response

Returns a single product object.

Example


Create a product

Create a new product in your catalog. Use PUT /api/products to upsert by SKU — if a product with the given SKU already exists, this call updates it.

Body parameters

string
required
The product’s unique stock-keeping unit. Used as the primary identifier for upsert operations.
string
Display name for the product.
string
Full product description.
string
Category name to assign this product to.
number
Default base price for this product.
array
Array of price-tier entries. Each entry sets a price for a given tier and optional quantity break.
integer
Current inventory quantity.
integer
Minimum number of units a customer must order.
integer
Units must be ordered in multiples of this value.
number
Product weight.
string
Unit for weight, e.g. lb or kg.
string
Product dimensions as a string, e.g. "10x8x4".
string
Unit for dimensions, e.g. in or cm.
string
Universal Product Code.
boolean
default:"true"
Whether the product is active and visible in the catalog.
array
Array of image name strings to associate with this product. Image names must match images already uploaded via the Images API.
string
Your system’s identifier for this product. Used for idempotent imports — re-submitting a product with the same externalId updates the existing record rather than creating a duplicate.
object
A free-form dictionary of custom key-value attributes for this product, e.g. { "color": "blue", "material": "steel" }.

Response

Returns the created or updated product object.

Example


Update product prices

Replace all price-tier entries for one or more products in a single call. This endpoint is designed for bulk price updates — for example, syncing a new price list from your ERP.

Body parameters

array
required
Array of product price update objects. Each entry is matched by sku and its prices are fully replaced.
Each object contains:

Example

Pass multiple objects in productUpdates to update prices for many products in one request. Each entry is matched by sku and its prices are fully replaced.

The product object

string
Nymble Commerce’s internal unique identifier for the product.
string
The organization this product belongs to.
string
The product’s stock-keeping unit.
string
Display name.
string
Full product description.
string
The category name assigned to this product.
number
The resolved base price for the requesting token’s price tier and currency.
string
Human-readable formatted price, e.g. "$24.99".
string
ISO 4217 currency code, e.g. USD.
array
All price-tier entries for this product.
integer
Current inventory quantity.
integer
Minimum units per order.
integer
Order quantity step size.
number
Product weight.
string
Unit for weight, e.g. lb.
string
Dimensions string, e.g. "10x8x4".
string
Unit for dimensions, e.g. in.
string
Universal Product Code.
boolean
Whether the product is active in the catalog.
array
Array of image objects associated with this product.
object
Custom key-value attribute dictionary.
string
Your system’s identifier for this product.
string
ISO 8601 timestamp of when the product was created.
string
ISO 8601 timestamp of the most recent update.