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

  1. Sign in to the customer portal.
  2. Go to Account → API tokens and create a token.
  3. 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

  1. Create an API token in the portal.
  2. Nightly job: GET /api/v1/products?updated_since=2026-05-28T00:00:00Z
  3. Between polls, handle product.published webhooks for same-day changes.
  4. Store SKU, effective price, stock, attributes, and image URLs in your system.