Exporting results
Nothing about your results is locked in. Every run is owned
(data rights), and you can always see and export
your own results: every report, every run in your history. This page covers
the two export doors, the per-report download and the dataset export, and
what each one contains.
Downloading a report#
Every completed evaluation produces a report with a stable report_id. The
export endpoint returns it as a downloadable JSON attachment:
$ curl https://app.ironhideai.com/reports/rpt_abc123/export \
-H "Authorization: Bearer $IRONHIDE_API_KEY" \
-o ironhide-report-rpt_abc123.jsonFrom the CLI, the same download is one flag:
# Save your latest report as JSON
$ ironhide report --download .
# Save a specific report from your history
$ ironhide reports
$ ironhide report rpt_abc123 --download ./reports/If the path you pass is a directory, the file is written inside it as
ironhide-report-<id>.json. This is the same artifact the report screen's
download button pulls.
Two properties of the downloaded report to know about:
- It is the masked, customer-facing report. An episode's answer key — its exact setup and per-episode grading — never appears in a download, exactly as it never appears on screen. For alias-only episodes those internals reach you only as aggregate feedback.
- Trial gating applies. If the report was produced on a free run, the download is the same verdict-only report the screen shows — the headline verdict without the detailed breakdown, gated until a plan is chosen. See plans and pricing.
For raw JSON in the terminal instead of a file, ironhide report --json
prints the full report, and ironhide reports --json prints your history
rows.
Listing what you can export#
Your full report history is at GET /reports:
$ curl "https://app.ironhideai.com/reports?agent_id=agt_yourid&limit=20" \
-H "Authorization: Bearer $IRONHIDE_API_KEY"Each row carries the report_id, its verdict, and a timestamp — everything
you need to pull any past report through the export endpoint above. Every
run appears in your own history and is yours to see and export in full.
The dataset export#
The other export door is the labeled dataset itself:
GET /dataset/export returns every reusable trajectory as JSONL, one
labeled example per line, with the filename
ironhide-trajectories.jsonl:
$ curl https://app.ironhideai.com/dataset/export \
-H "Authorization: Bearer $IRONHIDE_OPERATOR_TOKEN" \
-o ironhide-trajectories.jsonlThree guarantees hold for every export this endpoint produces:
- Only sellable rows. Preview and seeded / scaffold rows are excluded row
by row by the
is_sellablerail, and held-out episode internals are redacted — the exclusion happens at the line level, not the file level. See data rights for the rails that gate this. - Pseudonymous. Every
agent_idis replaced with a random-salted, per-export pseudonym (for exampleanon_ab12cd34ef56). The salt is generated per export and never persisted, so an export cannot be joined back to any registration, and two exports cannot be joined to each other. - No registry data, ever. Names, contact emails, agent identifiers, and API keys live in a separate store that is never exported.
Deleting your registration#
DELETE /agents/{id} revokes the registration itself and deletes all stored
secrets. What Ironhide keeps and reuses is the scrubbed environment your
agent ran against, not your trajectory, and those shared-library environments
were built from the run when it was recorded; the details are on the
data rights page.
IRONHIDE