Skip to main content
Version: Next

ActivityResponse

countinteger

Total record count across all pages (the filtered + denormalized stream), not just the current page. When truncated is true this is a floor (the count within the fetched window), not the absolute total.

result object[]
  • Array [
  • action_kindstringnullable

    Transaction-level avenue that produced this record's batch: restore / import / clone. null for ordinary saves. All records sharing a transaction_id share the same action_kind. The schema's third *_kind column (entity_kind / kind / action_kind), at transaction scope.

    Possible values: [clone, import, restore, null]

    changed_by objectnullable

    User who produced the change, or null when the saving user no longer exists in ab_user.

    first_namestring
    idinteger
    last_namestring
    entity_deletedboolean

    True iff the source entity is hard-deleted (no live row by entity_id). False for live and soft-deleted entities.

    entity_deletion_statestringnullable

    Present when the source entity has non-null deleted_at Absent or null otherwise.

    Possible values: [soft_deleted, null]

    entity_kindstring

    User-facing kind of the source entity: one of "dashboard" / "chart" / "dataset".

    Possible values: [dashboard, chart, dataset]

    entity_namestring

    Name of the source entity at the time of the change — denormalized from the validity-strategy shadow row. Survives entity rename / delete.

    entity_uuidstringnullable

    UUID of the source entity; null only when entity_deleted: true (the entity has been hard-deleted since the change was recorded).

    first_tracked_saveboolean

    True when this record's transaction is the entity's FIRST tracked save (first UPDATE after the retroactive baseline). Such transactions can carry dozens of params-normalization records for entities that predate versioning; clients use the marker to collapse them rather than render each delta as a user edit. Matched against the LIVE row's (id, uuid), so it is always false for hard-deleted entities (no live row) and for shadow rows predating the entity's current uuid.

    from_valuenullable

    Prior value; null = didn't exist.

    impact objectnullable

    Optional dependent-count for source: "related" records — e.g., {"charts": 4} for a dataset edit that affected 4 charts on the path dashboard at the change's transaction. Absent for source: "self" records and for related records without dependents.

    chartsinteger

    Number of sibling charts on the path entity affected by the same related-record change at this transaction.

    issued_atstring<date-time>

    UTC timestamp; primary ordering key (DESC).

    kindstring

    Content category — what kind of thing changed. field is the fallback for scalar changes without a more specific category. Per-record.

    Possible values: [filter, metric, dimension, column, chart, row, tab, tabs, header, markdown, divider, time_range, color_palette, field, __meta__]

    operationstring

    Per-record verb: add / remove / move / edit. Explicit instead of inferred from from_value / to_value null-tests. move only fires for layout records.

    Possible values: [add, remove, move, edit, update, announce]

    pathstring[]nullable

    Pure navigation address — no verb or kind embedded. Examples: ['slice_name'], ['params', 'adhoc_filters', 'country'], ['CHART-x'] for a layout add/remove/move, ['HEADER-y', 'text'] for a layout edit leaf. The verb lives in operation, the element type in kind.

    sourcestring

    "self" if (entity_kind, entity_id) matches the path entity; else "related". Drives the frontend's no-group-under-save rendering rule.

    Possible values: [self, related]

    summarystring

    Synthesized headline for source: "related" records — e.g., "Dataset updated: Sales Transactions". Empty string for source: "self" records, except __meta__ self records (e.g. restore announcements), which carry their own headline.

    to_valuenullable

    New value; null = removed.

    transaction_idinteger

    Stable secondary ordering key; never reused.

    version_uuidstring

    Stable UUIDv5 identifier for the source version (derive_version_uuid(entity_uuid, transaction_id)). Identical to what /versions/<version_uuid>/ would return for the same change.

  • ]
  • truncatedboolean

    True when the request hit the per-request fetch ceiling and older records exist beyond the returned window. Narrow the time range (since/until) to see them.

    ActivityResponse
    {
    "count": 0,
    "result": [
    {
    "action_kind": "clone",
    "changed_by": {
    "first_name": "string",
    "id": 0,
    "last_name": "string"
    },
    "entity_deleted": true,
    "entity_deletion_state": "soft_deleted",
    "entity_kind": "dashboard",
    "entity_name": "string",
    "entity_uuid": "string",
    "first_tracked_save": true,
    "impact": {
    "charts": 0
    },
    "issued_at": "2024-07-29T15:51:28.071Z",
    "kind": "filter",
    "operation": "add",
    "path": [
    "string"
    ],
    "source": "self",
    "summary": "string",
    "transaction_id": 0,
    "version_uuid": "string"
    }
    ],
    "truncated": true
    }