Customer API
Read-only catalog API for B2B customers, plus webhook subscription management. Use it to sync products into ERP, e-commerce, or custom applications.
Base URL: /api/v1
OpenAPI spec: /api/openapi.yaml
Interactive API reference
Browse the full endpoint reference (parameters, schemas, and response examples) in the interactive API reference.
Authentication
- Sign in to the customer portal.
- Go to Account → API tokens and create a token.
- Send the token on every request:
Authorization: Bearer {your-token}
Tokens are tied to your customer account. You must have accepted your portal invitation (accepted_at set) or API requests return 401 Unauthorized.
Only published products for your supplier are returned, with your price list applied.
Products
| Endpoint | Description |
|---|---|
GET /api/v1/products |
Paginated list with optional search, category_id, updated_since |
GET /api/v1/products/{id} |
Product by ID |
GET /api/v1/products/sku/{sku} |
Product by SKU |
Incremental sync: pass updated_since as an ISO 8601 timestamp to fetch only products changed on or after that time. Combine with webhooks for near-real-time updates.
Pagination: use page and per_page (max 100) query parameters.
Categories
GET /api/v1/categories returns the category tree with full path labels.
Webhooks
Subscribe to events when products are published or updated:
| Endpoint | Description |
|---|---|
GET /api/v1/webhooks |
List subscriptions |
POST /api/v1/webhooks |
Create subscription |
PUT /api/v1/webhooks/{id} |
Update subscription |
DELETE /api/v1/webhooks/{id} |
Remove subscription |
Events: product.published, product.updated
Verification: payloads are signed with HMAC-SHA256. Verify the X-Webhook-Signature header against the raw JSON body using your subscription secret.
Example workflow
- Create an API token in the portal.
- Nightly job:
GET /api/v1/products?updated_since=2026-05-28T00:00:00Z - Between polls, handle
product.publishedwebhooks for same-day changes. - Store SKU, effective price, stock, attributes, and image URLs in your system.