Skip to content
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.
typestringnoRecord type, such as order, customer or security.
beforestringnoLast entry's ISO createdAt, to fetch older entries.
beforeIdstringnoLast entry's id, paired with before to include entries at the same timestamp.

Page back using both before and beforeId from the last returned entry. An empty page means there are no older entries matching your filters.

Only a key made by an owner or admin sees the whole log; for anyone else it lists only changes about customers they can see.

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 have a workspace activity summary and detailed history in each order’s events. See Orders.

New events may also include action, outcome and source. Older events can leave these blank. A generated export is evidence that TradeCatalog prepared the file, not that someone saved it. A checkout request is separate from a payment confirmed by the payment provider. Raw IP and browser details are excluded from this API. Staff security events require owner/admin access; customer-linked events follow customer scope.