curl --request GET \
--url https://api-prod.heliyos.ai/v1/platform/tasks/{id}/events \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.heliyos.ai/v1/platform/tasks/{id}/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-prod.heliyos.ai/v1/platform/tasks/{id}/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"meta": {
"message": "Task events fetched successfully",
"pagination": {
"limit": 20,
"next_cursor": "NjZmMWE4YzNlNGIwYTFiMmMzZDRlNWY2"
}
},
"data": [
{
"_id": "6728e1a0b2c3d4e5f6a7b8e2",
"timestamp": "2026-11-04T15:20:00.000Z",
"metadata": {
"eventType": "AUDIT",
"operationType": "UPDATE",
"objectType": "task",
"objectUUID": "6728c9afb2c3d4e5f6a7b8ce",
"organizationUUID": "66a0f1e2d3c4b5a697887766",
"actor": {
"type": "USER",
"uuid": "66a0f1e2d3c4b5a697881111",
"name": "Priya Patel"
}
},
"changeSummary": "Priya Patel moved Send security questionnaire to Northwind Traders from Backlog to In progress.",
"originalVersion": {
"title": "Send security questionnaire to Northwind Traders",
"status": "backlog",
"dueDate": "2026-11-08T00:00:00.000Z"
},
"updatedVersion": {
"title": "Send security questionnaire to Northwind Traders",
"status": "in_progress",
"dueDate": "2026-11-08T00:00:00.000Z"
}
},
{
"_id": "6728c9b0b2c3d4e5f6a7b8cf",
"timestamp": "2026-11-04T09:40:00.000Z",
"metadata": {
"eventType": "AUDIT",
"operationType": "CREATE",
"objectType": "task",
"objectUUID": "6728c9afb2c3d4e5f6a7b8ce",
"organizationUUID": "66a0f1e2d3c4b5a697887766",
"actor": {
"type": "AGENT",
"uuid": "3f9a1c2b7d4e4f0a9b8c7d6e5f4a3b2c",
"name": "Account researcher"
}
},
"changeSummary": "Account researcher created the task Send security questionnaire to Northwind Traders.",
"originalVersion": null,
"updatedVersion": {
"title": "Send security questionnaire to Northwind Traders",
"status": "backlog",
"dueDate": "2026-11-08T00:00:00.000Z"
}
}
]
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}List task events
Serves tasks only. The id must be a task’s; any other id answers 404. For a company, person, deal or custom object record use List record events.
Returns the change history of one task, newest first: who created or changed it, when, a one-line summary of each change, and before and after snapshots of the task.
The two lists differ in scope. List record events folds in the events of everything linked to the record (its tasks, notes, emails, meetings, comments and files). This list holds only the task’s own changes: a note or comment linked to the task does not appear here. The task’s own changes also show up in List record events of every record the task is linked to.
Changes made by people (in the app or through the API) and by workers are both recorded. An event is written just after the change it describes, so a change you have just made can take a moment to appear. A worker write that changes nothing a person would see (for example only its own run bookkeeping) is not recorded.
This list has no filters: no event type, operation, date, actor or text search. Read the pages
and filter on metadata.operationType and metadata.actor yourself.
By default the list pages with a cursor: pass limit, then send meta.pagination.next_cursor
back as cursor. Sending page switches to page-number paging, where meta.pagination holds
only page and limit (no total and no hasMore): a page shorter than limit is the last
one. See Pagination.
Task snapshots can be large. Send fields to get back only the parts of each snapshot you read.
curl --request GET \
--url https://api-prod.heliyos.ai/v1/platform/tasks/{id}/events \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.heliyos.ai/v1/platform/tasks/{id}/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-prod.heliyos.ai/v1/platform/tasks/{id}/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"meta": {
"message": "Task events fetched successfully",
"pagination": {
"limit": 20,
"next_cursor": "NjZmMWE4YzNlNGIwYTFiMmMzZDRlNWY2"
}
},
"data": [
{
"_id": "6728e1a0b2c3d4e5f6a7b8e2",
"timestamp": "2026-11-04T15:20:00.000Z",
"metadata": {
"eventType": "AUDIT",
"operationType": "UPDATE",
"objectType": "task",
"objectUUID": "6728c9afb2c3d4e5f6a7b8ce",
"organizationUUID": "66a0f1e2d3c4b5a697887766",
"actor": {
"type": "USER",
"uuid": "66a0f1e2d3c4b5a697881111",
"name": "Priya Patel"
}
},
"changeSummary": "Priya Patel moved Send security questionnaire to Northwind Traders from Backlog to In progress.",
"originalVersion": {
"title": "Send security questionnaire to Northwind Traders",
"status": "backlog",
"dueDate": "2026-11-08T00:00:00.000Z"
},
"updatedVersion": {
"title": "Send security questionnaire to Northwind Traders",
"status": "in_progress",
"dueDate": "2026-11-08T00:00:00.000Z"
}
},
{
"_id": "6728c9b0b2c3d4e5f6a7b8cf",
"timestamp": "2026-11-04T09:40:00.000Z",
"metadata": {
"eventType": "AUDIT",
"operationType": "CREATE",
"objectType": "task",
"objectUUID": "6728c9afb2c3d4e5f6a7b8ce",
"organizationUUID": "66a0f1e2d3c4b5a697887766",
"actor": {
"type": "AGENT",
"uuid": "3f9a1c2b7d4e4f0a9b8c7d6e5f4a3b2c",
"name": "Account researcher"
}
},
"changeSummary": "Account researcher created the task Send security questionnaire to Northwind Traders.",
"originalVersion": null,
"updatedVersion": {
"title": "Send security questionnaire to Northwind Traders",
"status": "backlog",
"dueDate": "2026-11-08T00:00:00.000Z"
}
}
]
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}{
"message": "<string>",
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"details": "<unknown>"
}
}heliyos_tasks_events.Authorizations
A workspace API key, sent as Authorization: Bearer heliyos_.... Create one in Heliyos under Settings → API keys. A key acts as a workspace admin in the one workspace it was created in.
Path Parameters
The task's id. Ids of companies, people, deals, custom object records, notes and interactions answer 404; for a record's history use List record events.
^[0-9a-fA-F]{24}$Query Parameters
Events per page, 1 to 100. Defaults to 20.
1 <= x <= 100The next_cursor from the previous page. When you send both cursor and page, cursor wins.
next_cursor from the previous page; only valid with the default sort.
200A page number, starting at 1, for page-number paging. Pages are limit events long.
x >= 1Only these fields of originalVersion and updatedVersion, comma-separated, for example title,status,relationships.objectId. Up to 30 field paths, each one to three dot-separated names of letters, digits and _ (starting with a letter or _, up to 64 characters each). _id, timestamp, metadata and changeSummary are always returned. Leave it out for whole snapshots.
2000Was this page helpful?

