Task

Hanzo Task: boards, the work items on them, and the filters that make a board.

Also for this capability: API · CLI · MCP · SDKs

Hanzo Task: boards, the work items on them, and the filters that make a board.

Base URLhttps://api.hanzo.ai
Operations14
AuthAuthorization: Bearer $HANZO_API_KEY

Specification

Specification pending — no HIP in hanzoai/hips declares capability: task yet. What this capability serves is below, from the API document; what it is — the store it owns, how it meters, what it publishes — is written as a HIP under HIP-0139.

Four surfaces

SurfaceReaches this capability asCoverage
RESTtask at its own prefix14 operations
CLIhanzo task …13 of 14 — the CLI pins the document on its own clock
SDKTaskApi in every published client14 methods
MCPtool task on https://api.hanzo.ai/v1/mcp10 operations, 1 under the document's own id — ask describe for the rest

Quickstart

export HANZO_API_KEY=sk-...   # console.hanzo.ai → API keys

Then the first call — a read that needs nothing but the key. GET /v1/task/board, operation get_task_board:

hanzo task board
import { Configuration, TaskApi } from 'hanzoai';

const api = new TaskApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getTaskBoard();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import TaskApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = TaskApi(client).get_task_board()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.TaskAPI.GetTaskBoard(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, task_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = task_api::get_task_board(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.TaskApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new TaskApi(client).getTaskBoard();
curl https://api.hanzo.ai/v1/task/board \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool task, op get_task_board — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "task",
         "arguments": {
           "op": "get_task_board",
           "input": {}
         }
       }
     }'

Answers 200 with task.issueView[] — ok.

Endpoints

EndpointWhat it does
GET /v1/task/boardReturns a board's issues — work items with their column, priority, assignee, labels and schedule.
GET /v1/task/issuesAnswers across every project in the org.
POST /v1/task/projects/{key}/issues/{num}/claimTakes an issue: it becomes yours and it moves to in_progress.
GET /v1/task/projects/{key}/issues/{num}/commentsOne issue's conversation, oldest first, read as the caller.
GET /v1/task/projects/{key}/issues/{num}Returns ONE work item in full — its description included.
PATCH /v1/task/projects/{key}/issues/{num}Edits a work item — rename it, rewrite it, move it to another column, re-prioritise it, hand it to somebody, or comment on it.
GET /v1/task/projects/{key}/issuesReturns a board's issues — work items with their column, priority, assignee, labels and schedule.
POST /v1/task/projects/{key}/issuesOpens a work item on the board, filed as YOU, where the repository lives: an issue on the deployment's forge, or on GitHub for a repository the forge mirrors from there or does not hold at all.
GET /v1/task/projects/{key}Returns one board of your org by its key — the repository name.
PATCH /v1/task/projects/{key}Refused — a board is a repository on the forge
DELETE /v1/task/projects/{key}Refused — a board is a repository on the forge
GET /v1/task/projectsReturns the boards of your org — the places your work actually is.
POST /v1/task/projectsRefused — a board is a repository on the forge
GET /v1/task/rooms/{room}Summarises one room's work.

All Hanzo APIs · Interactive reference

Was this page useful?