Export
Pull a dataset's rows as JSONL, with their output, expected, evaluations and label, for fine-tuning or offline evals: from the dashboard, a script with an export token, the SDKs, or a one-shot link from MCP.
An export is a dataset's rows as JSONL, one row per line, in the shape a fine-tune or an offline eval wants. Every pull is recorded in the export audit.
The row
{
"id": "4f1c…",
"dataset_id": "9a02…",
"dataset_version": 3,
"unit_kind": "span",
"input": { "messages": [{ "role": "user", "content": "Where is my refund?" }] },
"output": "Refunds take 5 to 7 days.",
"expected": "Refunds take 5 to 7 business days after we receive the item.",
"evaluations": [{
"name": "Refund answers", "version": 2, "passed": false, "reason_code": "MISSING_CONDITION",
"path": ["Judge"], "judge_reasoning": "…",
"feedback": { "thumbs": "down", "corrected_passed": false, "reason": "Missed the condition" },
"node_labels": []
}],
"label_source": "explicit",
"label_status": "confirmed",
"label_weight": 1.0,
"source": { "span_id": "…", "run_id": "…" },
"tags": ["refunds"],
"metadata": {}
}label_weight is how much to trust expected: 1.0 when a person wrote it, 0.6 for a confirmed proposal, 0.4 for an unconfirmed one, 0.2 for an accepted passing output. See Labels. A proposed row also carries its draft under proposal.
Which rows
| Option | Values |
|---|---|
labels | all (default) · confirmed · explicit · derived · implicit · proposed · unlabelled · failed_only · passed_only |
include_unlabelled | With a label filter, also return the unlabelled rows. |
version | A saved snapshot's number. Omit for the live rows. |
since | Only rows created, edited or labelled since this ISO time. |
ids | A comma-separated list of row ids. |
For a fine-tune, labels=confirmed is the usual choice. Pin a version when the result has to be reproducible.
From the dashboard
Open a dataset and click Export. Pick the rows and the version, and download the JSONL. The dialog also shows the equivalent command for a script.
From a script: export tokens
A script reads exports with an export token, never with your site id. Create one in Settings → Datasets: leave the dataset list empty for every dataset, or pick some to pin the token to them. The token (trodo_dx_…) is shown once. Only owners, admins and developers can create or revoke tokens.
curl -H "Authorization: Bearer $TRODO_EXPORT_TOKEN" \
"https://sdkapi.trodo.ai/api/sdk/datasets/support-failures/export?labels=confirmed" \
-o support-failures.jsonlThe dataset can be named by id or by name. Export audit in the same settings page lists recent pulls: which dataset, which token or person, which rows, and how many.
From the SDKs
const { rows } = await trodo.datasets.export('support-failures', {
token: process.env.TRODO_EXPORT_TOKEN,
labels: 'confirmed',
});out = trodo.export_dataset("support-failures", token=os.environ["TRODO_EXPORT_TOKEN"], labels="confirmed")
for row in out["rows"]:
...From MCP
manage_dataset with action: "export" returns a one-shot link, never the rows: an agent hands you a URL instead of pasting your labelled data into a chat. The link works once, for 15 minutes, and the pull is audited as coming from MCP. It takes the same options as above.
What it costs
Exports are free.
Next
- Labels: what
label_sourceandlabel_weightmean - Curate from production: fill the dataset first
- MCP: the datasets tools
Labels
How a row's Expected becomes ground truth: typed by a person, accepted from a passing output, or proposed by your own model and confirmed. Every label records where it came from and how much to trust it.
Experiments
Run a task across every row of a dataset, score each result, and store a reproducible, comparable record. Test a prompt version, compare models, attach your production evaluators, or ingest outputs your own agent produced.