curl --request GET \
--url https://api-prod.heliyos.ai/v1/platform/tasks \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.heliyos.ai/v1/platform/tasks', 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"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"meta": {
"message": "Tasks fetched successfully.",
"pagination": {
"limit": 20,
"next_cursor": "NjZmMWE4YzNlNGIwYTFiMmMzZDRlNWY2"
}
},
"data": [
{
"_id": "6728c9afb2c3d4e5f6a7b8ce",
"organizationId": "66a0f1e2d3c4b5a697887766",
"title": "Send security questionnaire to Northwind Traders",
"description": "Fill in the questionnaire Ana sent and return it by Friday.",
"status": "in_progress",
"priority": "high",
"isFinished": false,
"dueDate": "2026-11-07T17:00:00.000Z",
"assignedUser": [
{
"id": "66a0f1e2d3c4b5a697881111",
"name": "Priya Patel",
"profilePicture": null
}
],
"assignedAgents": [
{
"agentId": "66a0f1e2d3c4b5a697882222",
"name": "Account Researcher",
"role": "executor"
}
],
"relationships": [
{
"objectId": "66f1a8c3e4b0a1b2c3d4e5f6",
"schemaId": "66a0f1e2d3c4b5a697880001",
"objectType": "company",
"data": {
"company_name": "Northwind Traders",
"domain": "northwind.example.com"
},
"schema": {
"_id": "66a0f1e2d3c4b5a697880001",
"name": "Companies",
"objectType": "company"
}
}
],
"currentRunId": "3f9a1c2b7d4e4f0a9b8c7d6e5f4a3b2c",
"currentRun": {
"status": "awaiting_approval",
"planSteps": 3,
"completedSteps": 2,
"artifactsCount": 1,
"lastRunAt": "2026-11-04T10:20:00.000Z"
},
"artifactsCount": 1,
"agentPaused": false,
"metadata": {
"created": {
"at": "2026-11-04T09:40:00.000Z",
"by": "66a0f1e2d3c4b5a697881111"
},
"updated": {
"at": "2026-11-04T10:20:00.000Z",
"by": "66a0f1e2d3c4b5a697881111"
}
}
}
]
}{
"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 tasks
Returns the workspace’s tasks, newest first. Each task includes its linked records (with their field values) and the state of the workers’ current run.
By default the list pages with a cursor: pass limit, then send meta.pagination.next_cursor
back as cursor for the next page. A sort, groupBy, or page (as a parameter or inside
filters) switches to page-number paging, where meta.pagination holds page, limit,
totalPages, count and hasMore. See Pagination and
Filtering and sorting.
To list only the tasks linked to one record, send {"relatedObjectId": "<record id>"} in filters.
To list one stage, send {"filters": [{"field": "status", "operator": "equals", "value": "in_progress"}]}.
curl --request GET \
--url https://api-prod.heliyos.ai/v1/platform/tasks \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.heliyos.ai/v1/platform/tasks', 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"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"meta": {
"message": "Tasks fetched successfully.",
"pagination": {
"limit": 20,
"next_cursor": "NjZmMWE4YzNlNGIwYTFiMmMzZDRlNWY2"
}
},
"data": [
{
"_id": "6728c9afb2c3d4e5f6a7b8ce",
"organizationId": "66a0f1e2d3c4b5a697887766",
"title": "Send security questionnaire to Northwind Traders",
"description": "Fill in the questionnaire Ana sent and return it by Friday.",
"status": "in_progress",
"priority": "high",
"isFinished": false,
"dueDate": "2026-11-07T17:00:00.000Z",
"assignedUser": [
{
"id": "66a0f1e2d3c4b5a697881111",
"name": "Priya Patel",
"profilePicture": null
}
],
"assignedAgents": [
{
"agentId": "66a0f1e2d3c4b5a697882222",
"name": "Account Researcher",
"role": "executor"
}
],
"relationships": [
{
"objectId": "66f1a8c3e4b0a1b2c3d4e5f6",
"schemaId": "66a0f1e2d3c4b5a697880001",
"objectType": "company",
"data": {
"company_name": "Northwind Traders",
"domain": "northwind.example.com"
},
"schema": {
"_id": "66a0f1e2d3c4b5a697880001",
"name": "Companies",
"objectType": "company"
}
}
],
"currentRunId": "3f9a1c2b7d4e4f0a9b8c7d6e5f4a3b2c",
"currentRun": {
"status": "awaiting_approval",
"planSteps": 3,
"completedSteps": 2,
"artifactsCount": 1,
"lastRunAt": "2026-11-04T10:20:00.000Z"
},
"artifactsCount": 1,
"agentPaused": false,
"metadata": {
"created": {
"at": "2026-11-04T09:40:00.000Z",
"by": "66a0f1e2d3c4b5a697881111"
},
"updated": {
"at": "2026-11-04T10:20:00.000Z",
"by": "66a0f1e2d3c4b5a697881111"
}
}
}
]
}{
"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_list.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.
Query Parameters
Tasks per page, 1 to 100. Defaults to 20.
1 <= x <= 100The next_cursor from the previous page. Only valid with the default order (no sort, no groupBy); a 400 otherwise. 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 tasks long.
x >= 1A JSON object, URL-encoded. Keys:
search(string): matches text in the title or description, case-insensitive.relatedObjectId(id): only tasks linked to this record.filters(array): conditions{ "field", "operator", "value", "conjunction" }. Conditions are combined with AND; a condition with"conjunction": "or"joins an OR group instead. Operators:equals,not_equals,contains,in(value is a list),gtorafter,gte,ltorbefore,lte,empty,not_empty. Fields includestatus,priority,title,description,dueDate,isFinished(value"true"or"false"as a string),assignedUser(matches the assignee's name, case-insensitive),metadata.created.by(a user id),metadata.created.atandmetadata.updated.at(equalsmatches the whole day, plusafter,before).sort(array):{ "field", "direction" }with directionascordesc, for example[{"field": "dueDate", "direction": "asc"}]. Text sorts ignore case.groupBy(string): one ofstatus,priority,assignedUser,dueDate,createdAt,isFinished,title. Each item indatais then a group{ groupValue, count, tasks }instead of a task. Grouping bystatusorpriorityreturns one group per value, each with its totalcountand its firstpageSizetasks. Other groupings return at most 1000 tasks in all.pageandpageSize: page-number paging.pageSizeis capped at 200. JSON-encoded filter object (search, filters, sort, page, pageSize). Optional. pageSize above 200 is clamped to 200.
20000Was this page helpful?

