Docs menu

Reference

REST API

Activity

The workspace's activity log of who changed customers, discounts and prices, newest first.

TradeCatalog records a plain-English line for every staff change to customers, discounts and prices. Changes made through the API are recorded under the key’s name, like API key “Sage stock sync”.

List activityLink to this section#

GET/api/v1/activity

Newest first. Pass customer for one customer’s history.

NameTypeRequiredDescription
customerstringnoCustomer id or account code.
limitintegerno1 to 100. Default 100.

This list doesn’t page: it returns the most recent limit entries.

bash
curl "https://tradecatalog.app/api/v1/activity?customer=OAK01&limit=20" \
  -H "Authorization: Bearer $TRADECATALOG_API_KEY"
js
const res = await fetch(
  'https://tradecatalog.app/api/v1/activity?customer=OAK01&limit=20',
  {
    headers: { Authorization: `Bearer ${process.env.TRADECATALOG_API_KEY}` },
  },
)
const { data: entries } = await res.json()
json
{
  "data": [
    {
      "id": "d0e1f2a3-b4c5-4d6e-8f7a-9b0c1d2e3f4a",
      "actorName": "Jo Hartley",
      "summary": "Set Northgate brand discount to 15% (was 12.5%)",
      "createdAt": "2026-09-26T14:21:03.000Z",
      "customerAccountId": "7d2e4f0a-1b3c-4d5e-8f90-a1b2c3d4e5f6",
      "customerName": "Oakfield Joinery"
    },
    {
      "id": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
      "actorName": "API key “Sage stock sync”",
      "summary": "Imported customers: 0 new, 42 updated",
      "createdAt": "2026-09-26T02:00:09.000Z",
      "customerAccountId": null,
      "customerName": null
    }
  ]
}
FieldTypeDescription
actorNamestringWho made the change. Kept even if that person later leaves.
summarystringWhat changed, in plain English. Meant for people, not for parsing.
createdAtstringWhen.
customerAccountIdstring or nullThe customer it was about, if any.
customerNamestring or nullThat customer’s current name.

Order status changes aren’t in this log; they’re in each order’s events. See Orders.