Get channels

Summarises one channel's work.

GET /v1/task/channels/{channel}

Addresshttps://api.hanzo.ai/v1/task/channels/{channel}
MethodGET
Operationget_task_channels_by_channel
AuthAuthorization: Bearer $HANZO_API_KEY

Summarises one channel's work.

The channel is opaque here and is deliberately not resolved: this package cannot say whether a channel exists — apps/team owns that document — so an unknown channel answers an EMPTY board rather than a 404. That is the honest answer and the useful one: a channel that has never had an item filed in it and a channel id that was mistyped both have no work, and inventing a distinction would require this surface to hold a second copy of the channel list (HIP-0523 §2 forbids it, and it would drift the first time a channel was renamed).

Tenancy is the validated principal's org and nothing else, so a caller cannot read another tenant's channel by naming its channel.

Request

1 field.

FieldInTypeRequiredDescription
channelpathstringyesChannel is the channel, spelled "<space>_<channel>" — the same value GET /v1/meet/call answers with, so a channel's call and its work name the channel identically.

Response

StatusBodyMeaning
200task.channelWorkok
defaultproblem-detailsrefused

200 body — 6 fields.

FieldInTypeAlwaysDescription
channelbodystring—Channel is the channel these counts are for, echoed back as it was resolved.
openbodyinteger (int64)—Open is how many items are still work: everything whose status does not end it.
statusbodyobject—Status is the count per board column, carrying EVERY column this surface knows — an empty column reads 0 rather than being absent, so a caller can render the board without inventing the vocabulary.
status.*bodyinteger (int64)—
totalbodyinteger (int64)—Total is every item bound to this channel, settled ones included, so Total minus Open is what the channel has finished.
updatedbodyinteger (int64)—Updated is when anything in this channel's work last moved, in unix seconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo task channels get <channel>
import { Configuration, TaskApi } from 'hanzoai';

const api = new TaskApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getTaskChannelsByChannel({ channel: 'channel' });
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_channels_by_channel(channel='channel')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.TaskAPI.GetTaskChannelsByChannel(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_channels_by_channel(&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).getTaskChannelsByChannel();

The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →

curl https://api.hanzo.ai/v1/task/channels/<channel> \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches task through the task tool, which names its 11 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

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

Task API · All Hanzo APIs · Interactive reference

Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.