Skip to main content
Documentation
GET /api/v1/tasks

List Tasks

List tasks with filtering, search, sorting, and pagination.

Request

curl "https://your-instance/api/v1/tasks?status=pending&search=deploy&sort=newest&limit=10" \
  -H "Authorization: Bearer htk_..."

Query Parameters

ParameterTypeDefaultDescription
statusstringFilter by status: pending, completed, cancelled, failed
searchstringSearch tasks by title (substring match)
sortstringnewestSort order by creation date: newest or oldest
assigneestringFilter by assignee ID (member or external assignee)
unassignedstringSet to "true" to return only unassigned tasks
process_idstringFilter by process ID
limitnumber50Page size (1-200)
offsetnumber0Pagination offset

All filter parameters can be combined in a single request.

Response

{
	"tasks": [
		{
			"task_id": "a1b2c3d4-...",
			"title": "Approve deployment",
			"status": "pending",
			"created_at": "2026-02-24T12:00:00Z",
			"completed_at": null,
			"org_id": "org_abc",
			"corr_id": "deploy-42",
			"assignee_id": "user_xyz",
			"process_id": null
		}
	],
	"total": 42,
	"limit": 10,
	"offset": 0
}

Examples

# Search for tasks with "deploy" in the title
curl ".../api/v1/tasks?search=deploy"

# Oldest first
curl ".../api/v1/tasks?sort=oldest"

# Only unassigned pending tasks
curl ".../api/v1/tasks?status=pending&unassigned=true"

# Tasks for a specific assignee
curl ".../api/v1/tasks?assignee=user_abc123"

# Tasks linked to a process
curl ".../api/v1/tasks?process_id=proc_xyz"

Pagination

Use offset and limit to paginate through results:

# Page 1
curl ".../api/v1/tasks?limit=10&offset=0"

# Page 2
curl ".../api/v1/tasks?limit=10&offset=10"

The total field tells you the total number of matching tasks across all pages.