Skip to content
Platform docsPlatform docsPlatform docs

Export format

The export file in full — the JSON array a run's export produces, the fields on each item entry, the six status values, and the per-node metrics block.

A run’s export is a JSON array with one entry per item in the run. Each entry records how one item was labeled. Its shape depends on how far the item got when you started the export. To produce and download the file, see Export your labeled results.

A completed item carries its inputs and outputs, plus per-node metrics. Here is one from a support-ticket run:

{
"index": 4,
"status": "completed",
"input": { "ticket_text": "My invoice is double the usual amount this month." },
"output": { "intent": "billing" },
"metrics": [
{
"nodeName": "classify_intent",
"nodeType": "generation_sft",
"ahtMs": 42318,
"avgLlmQaMs": 8125,
"attempts": 1,
"annotatorId": "a3f9c1e08b"
}
]
}

An item that had not started when you exported carries only its index and status:

{
"index": 12,
"status": "idle"
}

Every entry is a JSON object. index and status are always present. The rest appear as the item makes progress.

FieldTypePresent when
indexnumberAlways
statusstringAlways
inputobjectThe item has started
outputobjectThe item has completed
metricsarrayA Generation or Quorum node has finished

index is the item’s index in the source dataset (counting from 1). A run that launches a filtered subset carries just those items’ indexes, so the numbers can be sparse. status is one of the status values below.

input holds the item’s input fields. output holds the fields the End node returns. See Fields and data for what these fields hold and how a Quorum node’s output comes back as a per-expert list. metrics carries per-node timing and labeling details. See The metrics array. Each of these is omitted until the item reaches the state in the table.

ValueMeaning
completedThe item ran through the pipeline and produced its output.
failedThe item stopped at a node it could not complete, or on entry when a required input was missing.
cancelledThe run was canceled while the item was still unfinished.
pausedThe run was paused while the item was still unfinished.
in_progressThe item is still being labeled.
idleThe item had not started when you exported.

The metrics array has one entry for each Generation or Quorum node the item ran. Each entry records how that node handled the item. Code and Match nodes never produce an entry. Each entry names the node (nodeName, the node’s name as shown in the pipeline graph) and its kind (nodeType). A Generation entry describes single-expert labeling. A Quorum entry describes several experts, so it drops attempts and annotatorId and carries annotatorIds instead:

{
"nodeName": "rate_helpfulness",
"nodeType": "quorum_sft",
"ahtMs": 51044,
"avgLlmQaMs": 10233,
"annotatorIds": ["a3f9c1e08b", "b7e2d4f19c", "c1a8f3e05d"]
}
FieldTypeAppears on
nodeNamestring — the node’s name in the pipeline graphEvery entry
nodeType"generation_sft" or "quorum_sft"Every entry
ahtMsnumberEvery entry
avgLlmQaMsnumber or nullEvery entry
attemptsnumberGeneration entries
annotatorIdstring or nullGeneration entries
annotatorIdsarray of stringsQuorum entries
  • ahtMs — milliseconds from the item’s first task starting to the node first finishing.
  • avgLlmQaMs — the rounded mean of the node’s review durations, in milliseconds; null when review never ran.
  • attempts — how many times the task was submitted or expired (Generation entries; under synthetic labeling the submissions are the model’s).
  • annotatorId — the expert behind the last submission or expiry; null when the node labeled synthetically (Generation entries).
  • annotatorIds — the experts who labeled the item on this node (Quorum entries). The list can be longer than the node’s configured overlap when review rejections bring in extra experts.
  • A node appears only once a task on it started and the node then finished for the item — a node that failed before any task began is left out. A node the item never reached, one still running when you exported, or one that was canceled is left out.
  • Code and Match nodes never appear, even when the item ran them. Only Generation and Quorum nodes produce metrics.
  • Every entry reflects the item’s state at the moment you started the export, like the rest of the file (see Export your labeled results).