Where this fits: Part of Refine. Editing rows lets you curate a dataset after it is built — most commonly to add expected output to rows imported from traces.
Edit a row in the UI
Open a dataset and open any row to edit its cells inline. Built-in fields and active custom columns each show their own editable field; the values you enter are saved with the row. See Add expected output for the most common case.Edit a row programmatically
Updates are partial: you send only the cells you want to change, and every cell you omit keeps its current value. This makes it safe to, for example, setexpectedOutput on a row without resending its input or output.
How cells are addressed:
- Built-in cells use their field name:
input,output,expectedOutput,metadata. - Custom columns are set through a
custommap keyed by the column’s stable identifier (not its display name). Custom values are merged onto the row’s existing ones, so columns you omit are left untouched. Unknown or removed columns are rejected.
You need the row’s id and, for custom columns, the column identifiers. List rows to get their ids, and list the dataset’s columns to get identifiers — both built-in (
input, output, …) and custom. These are available in the API, every SDK, and over MCP.HTTP API
| Field | Type | Required | Description |
|---|---|---|---|
input | any JSON | No | New input cell. Omit to leave unchanged. |
output | any JSON | No | New output cell. Omit to leave unchanged. |
expectedOutput | any JSON | No | New correct answer for the row. Omit to leave unchanged. |
metadata | any JSON | No | New metadata cell. Omit to leave unchanged. |
custom | object | No | Custom column values keyed by column identifier. Merged onto existing values. |
SDKs
- TypeScript
- Python
From your coding agent (MCP)
Through the MCP server, an agent like Claude or Cursor can edit a row for you — for example, “in my dataset From Traces Drawer, set the expected output of the failing row to …”. The agent lists the dataset’s rows and columns to resolve the ids, then applies the same partial update described above. For the live tool list and full schemas, see the API reference.Next step
- Add expected output: the most common reason to edit a row.
- Custom columns: add, rename, reorder, and remove the columns a row can hold.
- Regression testing: replay the curated dataset against your agent.