Card history

A snapshot of an earlier state of a card: the card as it was before its next change. Use it with timeline_mode explicit. A card changes once for every group of its card_add, card_move, card_leave_board and card_join_board steps in activities that share a created_at; steps about people do not change the card. Write one snapshot for every change except the last, with no gaps and no repeats. A snapshot keeps the title, description, board, column, lane, type, owner, ASAP flag, due date, size, estimate, and planned dates; custom property values are not kept, and an earlier state is never archived. Who made a change is the author_ref of its steps in activities. Nothing is guessed or filled in: a history that contradicts the card or the activities is rejected.
A record of this entity needs records of other entities in the package: Cards.
Files in the package
List every file of this entity in resource_files of the manifest, with "resource": "card_history". An entity can have any number of files. See Bundle format.
[
  {
    "resource": "card_history",
    "path": "resources/card_history.json"
  }
]
Fields
FieldTypeRequiredDescription
external_idstring (ExternalId)YesYour own identifier of the record, for example k-mrr, unique within the resource across all of its files and case sensitive. Other records refer to this one by it.

Constraints: 1–512 characters.

card_refRef<cards>

refers to Cards

YesThe card this snapshot belongs to. Give the external_id of a cards record.
changed_atTimestampYesTime of the change that produced this state; it equals the created_at of the card actions of that change. A card has at most one snapshot for a changed_at.

Constraints: RFC 3339 with a time zone.

snapshotobject

refers to Boards or Card types or Columns or Lanes or Users

YesThe fields of the card in that state: title, board_ref, column_ref and type_ref are required; description, lane_ref, owner_ref, asap, due_date, size, estimate_workload, planned_start and planned_end are optional.
snapshot.board_refRef<boards>

refers to Boards

YesBoard of the card.

Constraints: 1–512 characters.

snapshot.column_refRef<columns>

refers to Columns

YesColumn of the card.

Constraints: 1–512 characters.

snapshot.titlestringYesCard title.

Constraints: 1–1024 characters.

snapshot.type_refRef<card_types>

refers to Card types

YesType of the card.

Constraints: 1–512 characters.

snapshot.asapbooleanNoWhether the card is marked as urgent.
snapshot.descriptionRichText?NoCard description.
snapshot.due_dateDateValue?NoDue date.
snapshot.estimate_workloadnumber?NoEstimated workload in hours, up to two decimal places.

Constraints: minimum 0; maximum 99999.99.

snapshot.lane_refRef<lanes>?

refers to Lanes

NoLane the card was in at that state, a lane of board_ref. Absent or null means the first lane of that board, that is the first lanes record of the board.

Constraints: 1–512 characters.

snapshot.owner_refRef<users>?

refers to Users

NoOwner of the card.

Constraints: 1–512 characters.

snapshot.planned_endDateValue?NoPlanned end.
snapshot.planned_startDateValue?NoPlanned start.
snapshot.sizeobject?NoCard size.
snapshot.size.displaystringDepends on the variantThe size as the card shows it, for example 3 SP, or XL for a T-shirt size. Give value, display or both: without display the card shows value and unit together; a size that is not a number, such as XL, needs only display. Charts count only value.

Constraints: at most 267 characters.

snapshot.size.valuenumberDepends on the variantNumeric size.
snapshot.size.unitstringNoUnit of value, for example SP for story points or h for hours. Without display the card shows the value and the unit together, for example 3 SP.

Constraints: at most 256 characters.

References

Refers to

Show on the entity map
Example
A record of this entity:
{
  "external_id": "ch-k-mrr-1",
  "card_ref": "k-mrr",
  "changed_at": "2026-01-12T09:30:00Z",
  "snapshot": {
    "title": "Monthly recurring revenue",
    "board_ref": "b-kpi",
    "column_ref": "c-backlog",
    "lane_ref": "l-core",
    "type_ref": "ct-metric",
    "owner_ref": "u-ava",
    "asap": false
  }
}
Rules
  • The combination of card_ref, changed_at must be unique.
Related entities
Activities, Cards
JSON Schema
card_history.json
logo
Kaiten
If you have any questions or need help with integration feel free to write us at support@kaiten.ru