variants

What changed on the catalogue, newest first

The change log of the catalogue: one entry per recorded change on any variant, each with id, variant_id, event_type, event_date, previous_value, new_value, a typed metadata object, and the product_name, variant_name and sku the change happened to. created_at, created_by_user_id and location_id are null where the change came from a sync rather than a person or a place.

event_type today is one of price_change, cost_change, stock_change, stockout, restock, status_change, supplier_change, lead_time_change, moq_change, velocity_shift, tag_change, managed_change, po_created, variant_created, variant_image_change, forecast_override (a planner edited this variant's demand plan) and forecast_event_declared (a sales-velocity event covering it was declared, changed or cancelled). The list is open, tolerate a type you do not know rather than failing on it, and takes a comma-separated list to narrow to several at once.

start_date and end_date are ISO dates and bound the range. end_date defaults to today; start_date unset reads from the beginning of what is kept.

Paging is offset and limit, limit at most 100 and 8 by default. total_count is the whole matching set, so page on that.

It is the poll to run on a schedule: ask for the types you care about since your last run and apply what comes back, rather than diffing the whole catalogue. For one variant's own timeline, read that variant's events.

Scope: products:read.

get/api/v1/variants/events

Request

  • Base URL: https://api.app.tightly.io
  • URL: https://api.app.tightly.io/api/v1/variants/events
  • Auth: HTTP bearer

Query parameters

event_typestring
Example:price_change,stockout

Comma-separated event types to filter by. Omit to return every type.

start_datestring date
Example:2026-08-01

Start of the range (ISO 8601 date). Unset reads from the beginning of what is kept.

end_datestring date
Example:2026-09-04

End of the range (ISO 8601 date). Defaults to today.

limitinteger
Example:50

Events in this page.

offsetinteger

Events to skip before this page.

Headers

Tightly-Versionstring
Example:2026-11

The date train to answer on. One train exists today, 2026-11, the one this reference describes and the one every key is minted on, so the call answers on it with or without this header. Send it anyway, so a client built now names its train from the start.

Response

A page of catalogue changes, with the size of the whole matching set.

messageobject

severity, service and desc.

Changes

No recorded changes to this operation across all 1 revision of this API.