/api/v1/locations/{record}/timeline/{type}/{entry}
Get a location timeline entry
Read one event or to-do from a location’s timeline with its editable values, files, and comments.
Last updated
Request
GET /api/v1/locations/{record}/timeline/{type}/{entry}
Requires locations:read. For a todo entry, locations:todos is required as well. See token permissions.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json.
Path parameters
-
recordinteger Required - The numeric location ID in your token’s organization.
-
typestring Required person_location_eventfor an event recorded on this location, ortodofor one of its to-dos. This matches thetypein the timeline.-
entryinteger Required - The entry’s
event_idfrom the timeline, or the to-doid.
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 --request GET "https://my.assetcenter.app/api/v1/locations/123/timeline/person_location_event/901" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json"
Response
200 OK. Illustrative values; IDs, fields, and timestamps will differ.
{
"data": {
"resource": "locations",
"record_id": 123,
"entry_id": 901,
"type": "person_location_event",
"version": "9b65205d14352a77bf1dbe6844e1a01c7c5a2bd74a68d662b6d7192593d9061b",
"timezone": "UTC",
"can_update": true,
"can_delete": true,
"values": {
"event_date": "2026-10-01T16:30:00.000000Z",
"description": "Annual inspection passed.",
"field_values": {
"104": "City fire marshal"
}
},
"fields": [
{
"key": "event_date",
"type": "datetime",
"required": true
},
{
"key": "description",
"type": "editor",
"required": false
},
{
"key": "field_values.104",
"type": "text",
"required": true
}
],
"event": {
"id": "person_location_event:901",
"event_id": 901,
"type": "person_location_event",
"event_date": "2026-10-01T16:30:00.000000Z",
"event_type": {
"id": 42,
"name": "Fire inspection",
"slug": null,
"category": "location"
},
"description": "Annual inspection passed.",
"cost": null,
"date_due": null,
"created_by": {
"id": 4,
"name": "Alex Admin"
},
"related": {
"person": null,
"location": {
"resource": "locations",
"id": 123,
"name": "Main office"
}
},
"acquisition": null,
"warranty": null,
"billing": null,
"contract": null,
"comments": [
{
"id": 7,
"body": "Follow up next week.",
"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": [
{
"field_id": 104,
"text": "City fire marshal",
"number": null,
"date": null,
"option_id": null,
"boolean": null
}
],
"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 locations:timeline:update and locations: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. A location timeline can include events owned by other records, such as an asset assignment shown on a person; 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.