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

Get an asset timeline entry

Read one event or to-do from an asset’s timeline with its editable values, files, and comments.

Last updated

Request

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

Requires assets:read. For a todo entry, assets:todos is required as well. See token permissions.

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

Path parameters

record integer Required
The numeric asset ID in your token’s organization.
type string Required
asset_event for an event recorded on this asset, or todo for one of its to-dos. This matches the type in the timeline.
entry integer Required
The entry’s event_id from the timeline, or the to-do id.

Query parameters

This endpoint does not use query parameters.

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/asset_event/901" \
  --header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
  --header "Accept: application/json"

Response

200 OK. Illustrative values; IDs, fields, and timestamps will differ.

JSON
{
  "data": {
    "resource": "assets",
    "record_id": 123,
    "entry_id": 901,
    "type": "asset_event",
    "version": "9b65205d14352a77bf1dbe6844e1a01c7c5a2bd74a68d662b6d7192593d9061b",
    "timezone": "UTC",
    "can_update": true,
    "can_delete": true,
    "values": {
      "event_date": "2026-09-30T17:00:00.000000Z",
      "description": "Screen replaced."
    },
    "fields": [
      {
        "key": "event_date",
        "type": "datetime",
        "required": true
      },
      {
        "key": "description",
        "type": "editor",
        "required": false
      }
    ],
    "event": {
      "id": "asset_event:901",
      "event_id": 901,
      "type": "asset_event",
      "event_date": "2026-09-30T17:00:00.000000Z",
      "event_type": {
        "id": 9,
        "name": "Quick Note",
        "slug": "quick-note",
        "category": "system"
      },
      "description": "Screen replaced.",
      "cost": null,
      "date_due": null,
      "created_by": {
        "id": 4,
        "name": "Alex Admin"
      },
      "related": {
        "asset": {
          "resource": "assets",
          "id": 123,
          "name": "LAP-042 Lenovo ThinkPad T14"
        },
        "person": null,
        "previous_person": null,
        "location": null,
        "previous_location": null
      },
      "acquisition": null,
      "warranty": null,
      "billing": null,
      "contract": null,
      "comments": [
        {
          "id": 7,
          "body": "Covered by warranty.",
          "created_by": {
            "id": 4,
            "name": "Alex Admin"
          },
          "created_at": "2026-10-02T16:00:00.000000Z"
        }
      ],
      "attachments": [
        {
          "id": 3,
          "name": "receipt.pdf",
          "size": 48213,
          "url": "https://files.example.com/receipt.pdf?signature=example",
          "url_expires_at": "2026-10-02T16:15:00.000000Z"
        }
      ],
      "field_values": [],
      "created_at": "2026-10-02T16:00:00.000000Z",
      "updated_at": "2026-10-02T16:00:00.000000Z"
    }
  }
}

Behavior and constraints

version identifies the entry’s current state; send it back to update or delete the entry. It changes whenever the entry changes. values holds the entry’s current editable values in UTC, and fields lists each editable key with its type and whether it is required. Select fields with fixed choices include options as {"id", "name"} objects; send the id. Nested keys such as acquisition.price, warranty.end_date, billing.license_count, or field_values.104 are sent as nested objects when updating.

can_update and can_delete show whether this token may edit or delete the entry, based on assets:timeline:update and assets:timeline:delete and on whether the entry can be deleted at all. For events, event is the same entry shape as the timeline, always including comments, attachments, and field_values. For a todo entry, todo replaces event and holds the to-do with its comments and attachments. Attachment url values are temporary download links that expire at url_expires_at, 15 minutes after the request.

The responsible-person field is only offered when the token also has people:read. Drafts, entries belonging to another record, and entries in other organizations return 404. Edit an event through the record that owns it. When a timeline shows an event owned by another record, use that record’s path and type, taken from the entry’s type and related references.

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 entry is unavailable through this path. 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.