Read authorized agent execution metadata
const url = 'https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/runs';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/runs \ --header 'Authorization: Bearer <token>'Each run is as getRun returns it, reconciliation included. With agent_id, that agent’s runs in admission order. Without it, the environment’s runs across agents, newest first; a caller whose key or workload is limited to some agents sees only their runs.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”The agent whose runs to list. Leave it out to list the newest runs across agents.
The next_cursor of the previous page. With agent_id it is a run ID; without it, an opaque value to pass back unchanged.
Header Parameters
Section titled “Header Parameters”Optional for reads after sign-in. Use the UUID of the account that loaded the application. A different current cookie account returns account_changed before the handler runs. Session bearer and API key clients do not require this header.
Responses
Section titled “Responses”Successful request
object
object
The admitted request retains its exact project and thread selectors when supplied. These identify the canonical project binding; they grant no authority. Optional workspace selection requires the project/thread pair, live usage and an exact matching katara:locus workload grant. The server checks its currently configured immutable workspace agent/version, hosted grant, profile, preset, project and funding. Selection metadata supplies no authority.
object
object
object
The API also checks steps <= decisions, plan changes <= decisions, active and approval seconds <= elapsed seconds, and children/depth are either both zero or both positive. Structured output is a JSON envelope; larger artifacts use content references. Active time includes Activity scheduling, retries and execution. Approval waits consume the cumulative approval and elapsed limits; ordinary delays consume elapsed time only. Counters survive continuation.
object
Explicit destination for run artifacts. Store and key versions must still be active at admission and byte access. Choose retention from 60 seconds to 365 days; no silent default or destination substitution.
object
object
Explicit hosted workspace selection. The selected workload grant must have this exact grant_id and audience katara:locus. Profile and preset identify server-owned configuration; these names do not establish current authority or select a client-supplied agent version.
object
What a customer is told about a run that has started. The execution engine’s own identifier for the work is not reported: the run id every Katara API takes is the one to use, and an identifier into a system the caller cannot reach answers nothing.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Present once a person has resolved a run that ended awaiting reconciliation. The run keeps the status reconciliation_required; who resolved it, the evidence and the note are in the run’s reconciliation record.
object
Example
{ "data": [ { "admission": { "input_ref": { "media_type": "application/json" }, "usage_class": "simulation", "mode": "test", "workload_grants": [ { "audience": "katara:synapse" } ] }, "status": "queued", "reason": "completed", "observation": { "snapshot": { "key": { "mode": "test", "usage": "simulation" }, "status": "running", "reason": "completed", "wait_kind": "approval", "last": { "key": { "mode": "test", "usage": "simulation" }, "outcome": "succeeded", "output": { "media_type": "text/plain" } }, "output": { "media_type": "text/plain" }, "pending_child": { "key": { "mode": "test", "usage": "simulation" }, "action": "spawn", "request": { "input_ref": { "media_type": "application/json" } } }, "last_child": { "key": { "mode": "test", "usage": "simulation" }, "child": { "mode": "test", "usage": "simulation" }, "state": "queued", "reason": "completed", "output": { "media_type": "text/plain" } } } }, "cancellation": { "state": "pending" }, "reconciliation": { "outcome": "effect_completed" } } ]}Account_changed: reload and review with the signed-in account.
default
Section titled “default”Request error
object
object
Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.
The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.
Example
{ "error": { "action": "sign_in" }}