List runs — GET /v1/auto/automations/{id}/runs

Returns one automation's runs, newest first, to the person it runs as or an admin of the org.

GET /v1/auto/automations/{id}/runs

Addresshttps://api.hanzo.ai/v1/auto/automations/{id}/runs
MethodGET
Operationget_auto_automations_by_id_runs
AuthAuthorization: Bearer $HANZO_API_KEY

Returns one automation's runs, newest first, to the person it runs as or an admin of the org. Each links the Dev run it started as transcript. The optional limit bounds the page.

Request

2 fields.

FieldInTypeRequiredDescription
idpathstringyesID is the automation, from the path.
limitqueryinteger—Limit bounds the page (default 200, maximum 1000).

Response

StatusBodyMeaning
200auto.automationRunPageok
defaultproblem-detailsrefused

200 body — 12 fields.

FieldInTypeAlwaysDescription
databodyauto.AutomationRun[]—Data is the automation's runs, newest first.
data[].atbodystring—At is when it started and Finished when it ended (null while it runs), RFC 3339 UTC.
data[].draftbodystring—Draft is the post the agent wrote, for an automation that posts; empty otherwise.
data[].finishedbodystring—
data[].idbodystring—
data[].postsbodyauto.PostResult[]—Posts are where it went: one per account, its link or the platform's reason it did not go.
data[].posts[].errorbodystring—Error is the platform's reason it did not go; absent when it did.
data[].posts[].tobodystring—To is the account's platform: x, linkedin or facebook.
data[].posts[].urlbodystring—URL opens the post; absent when it did not go.
data[].statusbodystring—Status is succeeded, failed, running, queued, review for a post waiting for its person to post or discard it, skipped for a start that found the previous run still going, or refused for a run whose person is no longer a member of the org.
data[].summarybodystring—Summary is one line on how it went.
data[].transcriptbodystring—Transcript opens the run's Dev run; null when it started none.

Failure carries the platform error shape — see Errors.

Examples

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.

import { Configuration, AutoApi } from 'hanzoai';

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

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

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

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

let result = auto_api::get_auto_automations_by_id_runs(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.AutoApi;

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

var result = new AutoApi(client).getAutoAutomationsByIdRuns();
curl https://api.hanzo.ai/v1/auto/automations/<id>/runs \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches auto through the auto tool, which names its 14 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": "list_auto_flows"
         }
       }
     }'

Auto API · All Hanzo APIs · Interactive reference

Was this page useful?