telemetry/v1
The A2A extension that carries a finished task's totals, cost, and trace id.
URI: https://docs.nylorun.com/a2a/telemetry/v1
{
"statusUpdate": {
"taskId": "t1.…",
"contextId": "ticket-4821",
"status": { "state": "TASK_STATE_COMPLETED", "timestamp": "2026-11-02T10:03:51.870Z" },
"metadata": {
"https://docs.nylorun.com/a2a/telemetry/v1": {
"totals": { "steps": 114, "tokens": 2412833, "costUsd": 18.42 },
"traceId": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}
}
}The terminal status update of a task (COMPLETED, FAILED, or CANCELED)
carries this extension, from the turn's end facts and its
trace. Once the task has ended, GetTask and ListTasks
carry it in the task's metadata too.
| Field | Type | Meaning |
|---|---|---|
totals.steps | number | The turn's steps. |
totals.tokens | number | Tokens the turn's model calls used. |
totals.costUsd | number | The turn's cost in US dollars, as the Runtime's Model Gate priced it. |
traceId | string, 32 hex characters | The turn's trace id. |
totals is left out when the turn recorded none.
The trace id is the caller's: send a W3C traceparent with the message and
the turn joins that trace, so traceId is your trace id. Without one, it is
the Runtime's own. See Trace context.