Skip to main content
POST
Create a dataset from logs

Authorizations

Authorization
string
header
required

Your workspace API key, e.g. sk_sovereign_..., sent as Authorization: Bearer <key>.

Body

application/json
name
string
required
Maximum string length: 80
Example:

"support-bot-v1"

holdout_pct
integer
default:0

Also create a second, DISJOINT "{name}-eval" dataset holding this percentage of examples. No example appears in both — that's what makes it valid as an eval source.

Required range: 0 <= x <= 50
Example:

10

decontaminate
boolean
default:true

Drop rows whose prompt shares a 13-word shingle with a public benchmark's test split, so a later benchmark score measures capability rather than a memorised answer key. On by default; pass false to keep them. An unavailable contamination index is recorded in the provenance as "not checked", never as clean.

filters
object

Which logged exchanges to curate. Omit for all of them. Keys: model, tag (the task label sent as X-Errorbar-Tag; a dataset scoped to one task beats one built from mixed traffic), segment (an auto-detected traffic segment, a segment value from GET /v1/logs), finish_reason, cache_hit (boolean), start and end (unix seconds).

sources
object

Which models feed the build. The same task (tag) usually spans every model you route it to; this chooses among them.

quality
object

The quality ladder (default cleaned). In every mode, exchanges a human graded FAIL never enter a dataset.

Response

The created dataset(s) and the curation summary.

training_name
string
training_count
integer
eval_name
string

Present when holdout_pct > 0.

eval_count
integer
summary
object

Curation accounting: total, kept, dropped {unparseable, errored, truncated, empty, duplicate, human_failed}, and the multi-turn folding counts. Every drop is counted by reason, so a dataset is never silently thinner than you think.

quality
object

What the quality gate actually did: mode, criterion_id and criterion_name (judge mode), the judge's kappa at build time, human_pass_kept, ungraded_excluded (graded mode), judged / judge_passed / judge_failed / judge_unparsed and judge_spend_usd (judge mode). A dataset never claims more than what happened.