---
title: "set input values"
method: PATCH
path: "/datasets/{id}/rows/{row_id}"
tags: ["Dataset CRUD"]
---

# set input values

`PATCH /datasets/{id}/rows/{row_id}`

## Request

- Base URL: `https://api.riveterhq.com/v1`
- URL: `https://api.riveterhq.com/v1/datasets/{id}/rows/{row_id}`
- Auth: HTTP bearer

Set a row's `input` values and / or `cells` by hand. Nothing runs. A cell set this way is `manual`: fills skip it unless `force`. `null` clears a value. `input` is refused with 409 `row_in_use` while a fill is on the row; `cells` land during a fill, and a cell set by hand while its row runs stands over the run's answer for it.

## Path parameters

- `id` string, required
- `row_id` string, required

## Request body

- object: At least one of `input` and `cells`
  - `input` object: Input column name → value, or null to clear
  - `cells` object: Output column name → value, or null to clear

## Response `200`

The row after the write

- DatasetRow
  - `id` string: row_...
  - `position` integer: Insertion order, from 1 (the row number a user sees); stable, and the paging cursor
  - `input` object: Input values by column name
  - `cells` object: Cells by output column name (every output column is present; in a run's `output.rows`, only the columns the fill covered)
  - `credits` number: Credits fills have charged for this row so far (each row run counted once)
  - `not_found_reason` string, nullable: The agent's one sentence on what it could not find on this row and why, from its last successful run; null when it found every column or has not run
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: The request is malformed or names a conflicting parameter combination
- `401`: Missing or invalid API key (`request_status` body — see the AuthError schema)
- `403`: The API key's account may not access this resource or endpoint (`forbidden`), or the account has not migrated to Datasets yet (`feature_not_enabled` — open Datasets in the app and click "Migrate to Datasets")
- `404`: No resource with that id on this account
- `409`: Duplicate run_key or a run already in progress
- `422`: The request is valid but can't be executed (e.g. insufficient_credits, credit_cap_exceeded when max_credits is set, validation failure)

## Changes

- **2026-11-13** `fac56b649559`: 2 info
  - api tag `Dataset CRUD` added
  - api tag `Datasets` removed
- **2026-10-30** `dcb4d45ade1a`: 10 info
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/typical` to the response with the `400` status
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/typical` to the response with the `403` status
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/typical` to the response with the `404` status
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/typical` to the response with the `409` status
  - …6 more
- **2026-10-19** `76aabcc5686b`: 2 info
  - api tag `Datasets` added
  - api tag `Datasets (beta)` removed
- **2026-10-13** `029668894d33`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/riveterhq/apis/riveter-api/changes/datasets/:id/rows/:row_id/patch.md)

---

[API](https://skmtc.dev/riveterhq/apis/riveter-api.md) - [All operations](https://skmtc.dev/riveterhq/apis/riveter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/riveterhq/apis/riveter-api/revisions/fac56b649559?raw)
