Product activity log via the External API

The Luminous External V1 activity-log endpoint now supports product as a subject type, giving you a paginated, time-ordered log of every create, update, and delete event for any SKU.

Endpoint

GET /external/api/v1/activity-logs

Authentication: External API key — Authorization: Bearer <token>

Required parameters

ParameterTypeDescription
subjectTypestringMust be product
subjectIdintegerThe Luminous product ID

Optional parameters

ParameterDescription
userTypeuser (human actions only) or system (automated only). Omit for both.
dateSortasc or desc — sort direction on created_at.
limitPagination (default to 25 ,max 100).

Example request

GET /external/api/v1/activity-logs?subjectType=product&subjectId=4201&dateSort=desc&limit=25

Understanding the response

Each entry in data represents one discrete change:

{
  "data": [
    {
      "id": 9910,
      "description": "created",
      "createdAt": "2026-01-15T09:30:00.000000Z",
      "properties": {
        "via": "import",
        "attributes": { "name": "Blue Widget", "sku": "WIDGET-BLU" }
      },
      "causer": null
    },
    {
      "id": 10452,
      "description": "updated",
      "createdAt": "2026-09-28T14:02:00.000000Z",
      "properties": {
        "via": "user",
        "attributes": { "retail_price": 29.99 },
        "old": { "retail_price": 24.99 }
      },
      "causer": { "id": 7, "name": "Jane Smith", "email": "jane@example.com" }
    }
  ]
}

Key fields:

  • description — created, updated, or deleted.
  • properties.via — the source channel for this event (user, api, import, auto_create_sku, job, system).
  • properties.attributes — field values after the change.
  • properties.old — field values before the change (present on updated events).
  • causer — the user who made the change; null for automated/system events.

Ask an AI question about a product's history

For a plain-language summary of what happened to a product, use the AI endpoint:

POST /external/api/v1/activity-logs/ask-ai
{
  "subjectType": "product",
  "subjectId": 4201,
  "question": "Who changed the retail price, and when?"
}

The AI reviews up to the 100 most recent activity entries for the product and returns a plain-text answer. Questions can be up to 1,000 characters.

Tips

  • Use dateSort=asc to read the history in chronological order from creation.
  • Use userType=system to isolate automated changes (imports, jobs, API writes).
  • Paginate with links.next for SKUs with long histories — the max page size is 100 entries.
  • A deleted event logs a soft-delete (the product was discontinued or removed), not a hard database delete.