Dataset CRUD

Edit a dataset's structure: name, index_column, input_columns (add, rename, delete), output columns (add, change the prompt or schema, pin or unpin a tool, rename, delete), and the per-row budget / budget_locked of its enrichment. Nothing runs; fill with POST /enrich. Changing a column's prompt, schema, or pinned tool marks its filled cells stale. A saved or shared enrichment is copied before the edit, so enrichment_id may change. Refused with 409 dataset_in_use while a run is on the dataset.

The budget follows the columns as on PATCH /enrichments/{id}: adding an output column raises budget_credits_per_row by 1.5, removing one lowers it by 1.5, until budget_locked is true. budget_locked: true or budget sent in the same request as column changes wins over that adjustment, so one call can lock the budget and add columns. Both need an output column to land on: on a dataset without one, send them with the first output add.

patch/datasets/{id}

Request

  • Base URL
    https://api.riveterhq.com/v1
  • Auth
    HTTP bearer

Path parameters

idstring required

The dataset id (ds_...)

Request body

namestring
index_columnstring

The input column rows are unique on (by name). Every row is re-keyed.

input_columnsInputColumnOperations

Input column edits keyed by column name. {} adds the column; rename renames it; delete: true removes it (not the index column). Rows are untouched: an added column reads empty, a removed column's values are dropped from reads.

outputOutputColumnOperations

Output column edits keyed by column name. A name not on the enrichment adds a column; prompt / output_schema / tool change one (its filled cells read stale); rename renames it (cells kept); delete: true removes it.

budgetnumber

Credits the row agent may spend per row, on the dataset's enrichment. Sent with column changes, it wins over the per-column adjustment.

budget_lockedboolean

true keeps the budget as set when output columns are added or removed; false lets it move by 1.5 per column again.

Response

The dataset after the edit

idstring

ds_...

namestring nullable
input_columnsstring[]

Input column names, in order (row identity)

index_columnstring nullable

The input column rows are unique on

enrichment_idstring nullable

The bound enrichment (its output columns are the dataset's)

output_columnsstring[]

Output column names, in order (from the bound enrichment; [] without one). Prompts and schemas are on GET /enrichments/{enrichment_id}

row_countinteger
rows_expiredboolean

True once the rows were removed by retention; the structure stays

import_in_progressboolean

A CSV import accepted with 202 has not landed yet

created_atstring date-time
updated_atstring date-time

Example response

{
  "id": "ds_018f6a70-1234-7abc-89ab-0123456789ab",
  "name": "Targets",
  "input_columns": [
    "Company",
    "Website"
  ],
  "index_column": "Company",
  "enrichment_id": "enr_018f5b60-1234-7abc-89ab-0123456789ab",
  "output_columns": [
    "CEO",
    "HQ city"
  ],
  "row_count": 2,
  "rows_expired": false,
  "import_in_progress": false,
  "runs": [
    {
      "id": "run_018f6a70-cccc-7abc-89ab-0123456789ab",
      "type": "enrichment",
      "status": "success",
      "created_at": "2026-10-01T12:05:00Z",
      "finished_at": "2026-10-01T12:07:00Z"
    }
  ],
  "created_at": "2026-10-01T12:00:00Z",
  "updated_at": "2026-10-01T12:07:00Z"
}

Changes

    • info

      api tag Dataset CRUD added

    • info

      api tag Datasets removed

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status