↑ ↓ to navigate · ↵ to open See all results
GET /api/v1/assets/{record}/timeline

Assets timeline

Read the finalized history and notes associated with an asset.

Last updated

Request

GET /api/v1/assets/{record}/timeline

Requires assets:read. See token permissions. Every listed permission is required for this endpoint.

Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.

record is the numeric asset ID in your token’s organization.

Query parameters

page integer Optional
The page of results to return. Starts at 1; defaults to 1.
per_page integer Optional
The maximum number of results per page. Accepts 1–100; defaults to 25.
from string Optional
Return events on or after this UTC date, in YYYY-MM-DD format. Includes the entire day. Omit for no start date limit.
to string Optional
Return events on or before this UTC date, in YYYY-MM-DD format. Includes the entire day and cannot precede from. Omit for no end date limit.
include[] string array Optional
Extra details to add to each entry: comments, attachments, and fields (custom field values). Repeat the parameter for several, such as include[]=comments&include[]=attachments.

Example

Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization.

cURL / Bash
curl --request GET "https://my.assetcenter.app/api/v1/assets/123/timeline?from=2026-09-01&to=2026-09-07&per_page=25" \
  --header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
  --header "Accept: application/json"

Response

200 OK. Example of an empty timeline page showing common pagination fields. The API includes additional pagination links and metadata.

JSON
{
  "data": [],
  "links": {
    "next": null,
    "prev": null
  },
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 25,
    "total": 0
  }
}

Behavior and constraints

The example shows a date range with no matching events. Nonempty data entries contain id (type:event_id), event_id, type (asset_event, subscription_event, or person_location_event), event_date, event_type (id, name, slug, category, or null), description, cost (decimal string or null), date_due, created_by, related, acquisition, warranty, billing, contract, created_at, and updated_at.

acquisition, warranty, billing and contract hold the details recorded with that kind of event, as they were when the event was recorded, and are null on every other entry. They are always present, so check for null rather than for the key.

  • acquisition (asset events): how_acquired, acquired_from, price, salvage_value, finance_amount and payment (decimal strings or null), billing_frequency, number_of_payments, start_date and end_date (YYYY-MM-DD or null), and auto_renew (boolean).
  • warranty (asset events): name, end_date (YYYY-MM-DD or null) and billing_frequency.
  • billing (subscription events): license_count, billing_frequency and price_model. The entry’s cost is the cost recorded with that billing change.
  • contract (subscription events): term, end_date (YYYY-MM-DD or null) and auto_renew (boolean).

Events sort by event date descending, event ID descending, and type ascending. Undated events sort last and are excluded by a date filter. tenant_id and account_id are prohibited.

Related asset events require assets:read, and related subscription events require subscriptions:read. Related references contain resource, id, and name only for resources the token can read. Deleted records may retain a historical name with a null ID. Descriptions may contain HTML; sanitize them before rendering as HTML.

With include[]=comments, each entry gets comments, a list of id, parent_id, body, created_by, created_at, and updated_at. Each top-level comment is followed by its replies. parent_id is null for a top-level comment and the parent comment ID for a reply; created_by is null if the author is no longer a member of your organization. With include[]=attachments, each entry gets attachments, a list of id, name, size in bytes, and a temporary download url that expires at url_expires_at, 15 minutes after the request. With include[]=fields, asset, person, and location events get field_values, a list of field_id with the value in text, number, date, option_id, or boolean. Only comments and files from your organization are returned. Pagination links keep your include values.

To read, edit, or delete one entry, including to-dos, use get a timeline entry, update a timeline entry, and delete a timeline entry.

To create, edit, reply to, or delete one comment, use manage timeline comments. Get the entry first for the current versions needed to submit the action.

Errors

401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 404 means the record or child record is unavailable in this organization. 422 identifies invalid or unsupported input; inspect the errors object when present. 429 means a rate limit was reached. See error handling and rate limits.