Returns the readable build of one product: the agent session that produced it,…
Returns the readable build of one product: the agent session that produced it, turn by turn — the prompts, the reasoning, the commits each turn produced —…
GET /v1/agents/builds/{org}/{project}
| Address | https://api.hanzo.ai/v1/agents/builds/{org}/{project} |
| Method | GET |
| Operation | get_agents_builds_by_org_by_project |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Returns the readable build of one product: the agent session that
produced it, turn by turn — the prompts, the reasoning, the commits each turn
produced — plus the exact git log that re-derives every commit binding from
git itself, so nothing here has to be taken on trust.
PUBLIC, no tenancy: it answers only for a session its author explicitly published, which is what makes it safe to be anonymous. An unpublished session is invisible here no matter who asks; its owner reads it through the org-scoped /v1/agents/sessions routes, which need a validated principal.
Request
2 fields.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
org | path | string | yes | Org is the org that published the build, from the path. |
project | path | string | yes | Project is the product's slug, from the path. |
Response
| Status | Body | Meaning |
|---|---|---|
200 | buildView | ok |
200 body — 19 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
agent | body | string | — | Agent is the label the surface that did the work calls itself by. |
endedAt | body | string | — | EndedAt is when it finished, same format. |
model | body | string | — | Model is the model that did the work, taken from the FIRST turn whose body names one — a transcript states it, this route does not resolve it. |
org | body | string | — | Org is the org that published this build, echoed from the URL. |
project | body | string | — | Project is the product's slug, the other half of that address. |
repo | body | string | — | Repo is the repository the work was done in, as the session reported it. |
session | body | string | — | Session is the id of the agent session this story IS — the same value a produced commit carries in its Hanzo-Session: trailer, which is what ties the… |
startedAt | body | string | — | StartedAt is when the session opened, RFC 3339 in UTC. |
status | body | string | — | Status is the session's own: running, paused, done or error. |
title | body | string | — | Title is the human line the session was opened or renamed with. |
turns | body | buildTurn[] | — | Turns is the whole transcript, oldest first, capped at 1000: a published build is a story to read down, not an archive to page. |
turns[].actor | body | string | — | Actor is who took the turn. |
turns[].at | body | string | — | At is when the turn was recorded, RFC 3339 in UTC to the second. |
turns[].body | body | string | — | Body is the readable text of the turn, taken from the stored event's text. |
turns[].commit | body | string | — | Commit is the full sha this turn produced, empty when the turn changed nothing. |
turns[].kind | body | string | — | Kind is what the turn was, from the log's closed six: message, tool-call, spawn, log, status, control. |
turns[].subject | body | string | — | Subject is that commit's subject line, from the same transcript, so a reader sees what the commit says without fetching the repository. |
turns[].turn | body | integer | — | Seq is this turn's POSITION in the session's log — monotonic from 1, per session — and it is what a commit's Hanzo-Turn: trailer names. |
verify | body | string | — | Verify is the exact command that re-derives every commit binding below straight from git, so nothing here has to be taken on trust. |
Failure carries the platform error shape — see Errors.
Examples
hanzo agents builds org get <org> <project>import { Configuration, AgentsApi } from 'hanzoai';
const api = new AgentsApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getAgentsBuildsByOrgByProject({ org: 'org', project: 'project' });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import AgentsApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = AgentsApi(client).get_agents_builds_by_org_by_project(org='org', project='project')cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.AgentsAPI.GetAgentsBuildsByOrgByProject(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, agents_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = agents_api::get_agents_builds_by_org_by_project(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.AgentsApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new AgentsApi(client).getAgentsBuildsByOrgByProject();curl https://api.hanzo.ai/v1/agents/builds/<org>/<project> \
-H "Authorization: Bearer $HANZO_API_KEY"The door reaches agents through the agents tool, which names its 36 operations with its own verbs — this one among them, under a name only the door 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": "list_agent_conversations"
}
}
}'How is this guide?