Skip to content

Tasks

Tasks let you create follow-up reminders and action items linked to contacts.


List Contact Tasks

GET /contacts/{contact_id}/tasks

Returns tasks linked to a specific contact.

Query Parameters

ParameterTypeDefaultDescription
statusstringFilter by status: open or completed

Example

Terminal window
curl "https://be.graph8.com/api/v1/contacts/12345/tasks?status=open" \
-H "Authorization: Bearer $API_KEY"

Response

{
"data": [
{
"id": "task_uuid",
"entity_type": "contact",
"entity_id": "101",
"title": "Follow up",
"description": "...",
"due_date": "2026-06-01T17:00:00Z",
"assignee_id": "user_x",
"assignee_name": "John",
"status": "open",
"priority": 2,
"task_type": "...",
"created_by": "user_y",
"created_at": "...",
"updated_at": "...",
"parent_task_id": null,
"subtask_sort_order": 0,
"subtask_count": 0,
"completed_subtask_count": 0
}
]
}

List All Tasks

GET /tasks

Returns all tasks across the organization, with optional filters.

Query Parameters

ParameterTypeDefaultDescription
statusstringFilter by status
priorityintegerFilter by priority (0=none, 1=urgent, 2=high, 3=normal, 4=low)
assignee_idstringFilter by assignee
searchstringPartial match on task title

Example

Terminal window
curl "https://be.graph8.com/api/v1/tasks?status=open&priority=2&assignee_id=user_x" \
-H "Authorization: Bearer $API_KEY"

Create Task

POST /contacts/{contact_id}/tasks

Request Body

FieldTypeRequiredDescription
titlestringYesTask title
descriptionstringNoTask details
due_datestringNoISO 8601 due date
assignee_idstringNoUser ID to assign
priorityintegerNo0=none, 1=urgent, 2=high, 3=normal, 4=low
parent_task_idstringNoID of parent task — makes this a subtask (one level deep)
subtask_sort_orderintegerNoSort order among sibling subtasks

Example

Terminal window
curl -X POST "https://be.graph8.com/api/v1/contacts/12345/tasks" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Send proposal", "due_date": "2026-03-05", "priority": 2}'

Response 201 Created

Returns the full task object — same shape as the items in GET /contacts/{contact_id}/tasks.


Update Task

PATCH /tasks/{task_id}

Supports partial updates. Send only the fields you want to change.

Request Body

All fields are optional.

FieldTypeDescription
titlestringTask title
descriptionstringTask details
due_datestringISO 8601 due date
assignee_idstringUser ID to assign
statusstringTask status (open or completed)
priorityinteger0=none, 1=urgent, 2=high, 3=normal, 4=low
parent_task_idstringID of parent task (or null to remove subtask relationship)
subtask_sort_orderintegerSort order among sibling subtasks

Example

Terminal window
curl -X PATCH "https://be.graph8.com/api/v1/tasks/task_uuid" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "completed", "priority": 1}'