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

OptionValues
labelsall (default) · confirmed · explicit · derived · implicit · proposed · unlabelled · failed_only · passed_only
include_unlabelledWith a label filter, also return the unlabelled rows.
versionA saved snapshot's number. Omit for the live rows.
sinceOnly rows created, edited or labelled since this ISO time.
idsA 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.jsonl

The 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

On this page