The REST API gives your own systems the same data your staff see in TradeCatalog: products, customer prices, customers, orders, price changes and the activity log. It uses JSON over HTTPS and one API key per system.
Base URLLink to this section#
https://tradecatalog.app/api/v1
Every request needs an API key in the Authorization header. See Authentication.
Who can use itLink to this section#
- Owners and admins make and revoke keys. Other staff and buyers can’t.
- The workspace needs a Pro entitlement or a pilot account to make keys.
- Demo workspaces can’t use the API at all.
- When Pro ends, the workspace returns to Free: existing API keys can still read but can’t write. Catalogue edits and buyer orders in the app keep working.
A key belongs to one workspace. It acts with the permissions of the person who made it, so an owner’s or admin’s key can see every customer’s prices. If that person leaves the workspace, the key stops working.
EndpointsLink to this section#
| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | /workspace | The workspace this key belongs to | read |
| GET | /products | List or search products, optionally at a customer’s prices | read |
| GET | /products/{id} | One product with its price | read |
| PUT | /products | Create or update up to 100 products by SKU | write |
| GET | /brands | All brands | read |
| GET | /categories | All categories | read |
| GET | /prices | What a customer pays for a SKU, and why | read |
| GET | /customers | Trade customers | read |
| GET | /customers/{id} | One customer’s terms, rules, agreed prices and buyers | read |
| PUT | /customers | Create or update up to 100 customers | write |
| GET | /orders | Recent orders, newest first | read |
| GET | /orders/{id} | One order with lines and status history | read |
| PATCH | /orders/{id} | Move an order on | write |
| GET | /price-changes | Price changes, newest first | read |
| GET | /price-changes/{id} | Preview one price change | read |
| GET | /activity | Who changed what | read |
The full machine-readable description is at /api/v1/openapi.json.
Before you buildLink to this section#
- Read Conventions for money, paging, dates and how
PUTworks. - Read Errors for status codes and retries.
- Keep keys on your server. The API doesn’t allow browser (CORS) requests.
Not in the API yetLink to this section#
- Webhooks: poll
GET /orders?status=newinstead. - Publishing, scheduling or cancelling price changes: do that in the app.
- Discount rules and agreed prices: read them with
GET /customers/{id}, change them in the app. - Deleting products or customers, uploading images directly, inviting buyers, placing orders as a buyer.