Read durable workflow measurements and child group status

GET/v1/metronomes/{metronomeId}/runs/{runId}/measurements

Returns per-node attempt, usage and failure aggregates plus a keyset-paged attempt journal. With groupId, measures that parent's child runs instead of the parent. Stage durations overlap; do not sum them as wall time. Null costs/tokens and unfinished attempts are unknown, not zero. Infrastructure costs and gold accuracy require separate measurements.

How to call this endpoint

Every ACP API request uses bearer authentication. The examples here show the actual request path, auth header, and body shape that the platform expects.

Path, query, and header parameters

These parameters control which ACP object the endpoint acts on and how the request is processed.

Path parameters
NameLocationTypeRequiredDescription
metronomeIdpathstringYesMetronome workflow ID
runIdpathstringYes—
Query parameters
NameLocationTypeRequiredDescription
groupIdquerystringNo—
cursorquerystringNo—
limitqueryintegerNo—

Body schema

This endpoint does not require a request body.

None.

What the API returns

Each response code below includes the documented payload shape for the ACP API.

200Durable measurements and paged attemptsapplication/json
FieldTypeRequiredDescription
dataobjectYes—
data.schemaVersioncomputer_agents_workflow_measurements_v1Yes—
data.runIdstringYes—
data.groupIdstringYes—
data.nextCursorstringYes—
data.groupsTruncatedbooleanYes—
data.groupsobject[]Yes—
data.groups[].idstringYesUnique identifier.
data.groups[].statusrunning | cancelling | cancelled | completed | partial | failedYesCurrent lifecycle status.
data.groups[].rowCountintegerYes—
data.groups[].admittedCountintegerYes—
data.groups[].metronomeIdstringYes—
data.groups[].versionIdstringYes—
data.groups[].resultManifestobjectYes—
data.groups[].resultManifest.schemaVersioncomputer_agents_workflow_dataset_v1Yes—
data.groups[].resultManifest.manifestobjectYes—
data.groups[].resultManifest.manifest.schemaVersioncomputer_agents_workflow_artifact_v1Yes—
data.groups[].resultManifest.manifest.digeststringYes—
data.groups[].resultManifest.manifest.byteLengthintegerYes—
data.groups[].resultManifest.manifest.mediaTypestringYes—
data.groups[].resultManifest.rowCountintegerYes—
data.groups[].resultManifest.pageCountintegerYes—
data.groups[].errorCodestringYes—
data.groups[].countsobjectYes—
data.attemptsobject[]Yes—
data.attempts[].idstringYesUnique identifier.
data.attempts[].runIdstringYes—
data.attempts[].nodeIdstringYes—
data.attempts[].stepIdstringYesStep ID.
data.attempts[].operationstringYes—
data.attempts[].startedAtstringYesISO 8601 timestamp.
data.attempts[].completedAtstringYesISO 8601 timestamp.
data.attempts[].receiptobjectYesDurable status, durationMs, queueMs, errorCode, inputUnits, outputUnits, provider usage and artifact reference; null means unfinished.
data.summaryobject[]Yes—
data.qualityobject[]Yes—
data.quality[].nodeIdstringYes—
data.quality[].operationstringYes—
data.quality[].dispositionstringYes—
data.quality[].confidenceBinunmeasured | [0,0.5) | [0.5,0.8) | [0.8,0.95) | [0.95,1]Yes—
data.quality[].countintegerYes—
data.failuresobject[]Yes—
data.failures[].nodeIdstringYes—
data.failures[].operationstringYes—
data.failures[].codestringYes—
data.failures[].countintegerYes—
data.accountingobjectYes—
data.accounting.stageDurationsOverlaptrueNo—
data.accounting.localInfrastructureCostUsdnumberNo—
data.accounting.unfinishedUsageunknownNo—
data.accounting.accuracyrequires_gold_evaluationNo—
400Invalid query or cursor
None.
401Authentication required
None.
403Permission denied
None.
404Workflow
None.
503Durable measurement store unavailable
None.
Read durable workflow measurements and child group status
Loading...
Response 200
Loading...
See the ACP quickstart and SDK flow