Skip to content

Tasks

Tasks, comments and review evidence.

A task is one checklist item within a cycle. A build agent delivers the cycle’s tasks together on its branch. These operations create and read tasks, comments and recorded review evidence. Watch live task status through @hlix/sdk (hlix.live.task).

See the OpenAPI document for schemas and operation IDs.

  • Protected operations require an API key in x-api-key or a browser session cookie; some actions require a verified user session
  • Tenant-scoped operations use X-Organization-Id; browser sessions can use their active workspace. Discovery and personal-workspace bootstrap do not require an active workspace
  • The base URL for your deployment, https://server.hlix.ai by default
Method Path Operation
GET /v1/api/tasks List tasks in the workspace
POST /v1/api/tasks Create a task; taskConfig delegates it through a one-task cycle
GET /v1/api/tasks/{id} Get one task
PATCH /v1/api/tasks/{id} Update a task’s title, description or status
GET /v1/api/tasks/{id}/comments List the comments on a task
POST /v1/api/tasks/{id}/comments Comment on a task

GET /v1/api/tasks · operation ID listTasks

Parameters

Name In Required Type Description
projectId query no string Only tasks in this project.
status query no string Only tasks in this status.
X-Organization-Id header no string The workspace (organization) to act in. Omitted, the session’s active organization is used.

Responses

Status Body Description
200 Task[] The matching tasks.
400 ApiError The request named no active organization.
401 ApiError No valid session or API key.
403 ApiError Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
404 ApiError The resource does not exist, or the caller is a task-scoped credential and this endpoint is outside its allowlist.

Create a task; taskConfig delegates it through a one-task cycle

Section titled “Create a task; taskConfig delegates it through a one-task cycle”

POST /v1/api/tasks · operation ID createTask

Parameters

Name In Required Type Description
X-Organization-Id header no string The workspace (organization) to act in. Omitted, the session’s active organization is used.

Request body — application/json, CreateTask (required)

Property Type Required Notes
description string yes min length 1, max length 5000
doneWhen string no min length 1, max length 1000
projectId string (uuid) yes
taskConfig object no
title string no min length 1, max length 200

Responses

Status Body Description
201 Task The created task.
400 ValidationError | ApiError The JSON body failed schema validation (ValidationError), or the request named no active organization (ApiError).
401 ApiError No valid session or API key.
403 ApiError Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
404 ApiError No such project in this workspace — or a client collaborator it was never shared with (existence is deliberately not revealed).
409 ApiError The project is archived and does not accept new tasks.
500 ApiError The task could not be created.

GET /v1/api/tasks/{id} · operation ID getTask

Parameters

Name In Required Type Description
id path yes string
X-Organization-Id header no string The workspace (organization) to act in. Omitted, the session’s active organization is used.
X-Client-Portal header no string The agency Workspace ID for a signed-in client’s portal requests. A verified user session and portal membership are required; API keys cannot authenticate portal access. This header does not grant agency administration access.

Responses

Status Body Description
200 Task The task.
400 ApiError The request named no active organization.
401 ApiError No valid session or API key.
403 ApiError Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
404 ApiError No such task in this workspace.

Update a task’s title, description or status

Section titled “Update a task’s title, description or status”

PATCH /v1/api/tasks/{id} · operation ID updateTask

Parameters

Name In Required Type Description
id path yes string
X-Organization-Id header no string The workspace (organization) to act in. Omitted, the session’s active organization is used.

Request body — application/json, UpdateTask (required)

Property Type Required Notes
description string no min length 1, max length 5000
doneWhen string | null no
status queued | blocked | building | testing | reviewing | approved | merging | merged | pr_created | ci_passing | done | failed no
title string no min length 1, max length 200

Responses

Status Body Description
200 Task The updated task.
400 ValidationError | ApiError The JSON body failed schema validation (ValidationError), or the request named no active organization (ApiError).
401 ApiError No valid session or API key.
403 ApiError Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
404 ApiError No such task in this workspace.

GET /v1/api/tasks/{id}/comments · operation ID listTaskComments

Parameters

Name In Required Type Description
id path yes string
X-Organization-Id header no string The workspace (organization) to act in. Omitted, the session’s active organization is used.
X-Client-Portal header no string The agency Workspace ID for a signed-in client’s portal requests. A verified user session and portal membership are required; API keys cannot authenticate portal access. This header does not grant agency administration access.

Responses

Status Body Description
200 TaskComment[] The task’s comment thread, oldest first.
400 ApiError The request named no active organization.
401 ApiError No valid session or API key.
403 ApiError Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
404 ApiError No such task in this workspace.

POST /v1/api/tasks/{id}/comments · operation ID addTaskComment

Parameters

Name In Required Type Description
id path yes string
X-Organization-Id header no string The workspace (organization) to act in. Omitted, the session’s active organization is used.
X-Client-Portal header no string The agency Workspace ID for a signed-in client’s portal requests. A verified user session and portal membership are required; API keys cannot authenticate portal access. This header does not grant agency administration access.

Request body — application/json, AddTaskComment (required)

Property Type Required Notes
body string yes min length 1, max length 10000
messageId string (uuid) no

Responses

Status Body Description
201 TaskComment The stored comment.
400 ValidationError | ApiError The JSON body failed schema validation (ValidationError), or the request named no active organization (ApiError).
401 ApiError No valid session or API key.
403 ApiError Authenticated, but not a member of the named organization — or a client collaborator without the required access on this project.
404 ApiError No such task in this workspace.
409 ApiError The supplied messageId is already in use — either on another conversation, or on this one with different content.

The response table for each operation lists its documented errors. Common status codes include:

  • 400 — the body failed schema validation, or the request named no active organization. A ValidationError body carries the failing fields; an ApiError body carries only error.
  • 401 — no valid session or API key.
  • 403 — authenticated, but not a member of the named organization, or a client collaborator without the required access.
  • 404 — check the resource ID and your access to the selected Workspace.
  • 409 — the expected revision or state is stale, or another operation currently owns the transition.
  • 500 — the operation failed server-side. Retry only where an idempotency key makes that safe.