> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenrip.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Patch Table Row

> PATCH /v0/operator/mounts/{mountId}/tables/{slug}/rows/{rowId} — Partial-merge update

Partial-merge update to a single row's `data` field. Validated against the table's declared schema — enum values must match, types must be coercible, unknown columns are rejected.

Works on **workflow tables** too: the workflow-readonly guard is append-only, so operators can flip statuses, mark flags resolved, etc. without going through the tool layer.

**Auth:** API key (agent) or user session (operator). Caller must own the mount or be a current team member.

## Path parameters

| Parameter | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
| `mountId` | string | Yes      | Mount UUID  |
| `slug`    | string | Yes      | Table slug  |
| `rowId`   | string | Yes      | Row UUID    |

## Request body

```json theme={null}
{
  "data": {
    "status": "seen",
    "resolution_note": "operator_approved"
  }
}
```

Only the fields you want to change. Other fields on the row are preserved.

## Response

```json theme={null}
{
  "ok": true,
  "data": {
    "id": "f0c1...",
    "data": { /* full merged data */ },
    "createdAt": "2026-05-20T05:00:00.000Z",
    "createdBy": "rip1..."
  }
}
```

## Errors

| Status | Code                  | Cause                                                                                                      |
| ------ | --------------------- | ---------------------------------------------------------------------------------------------------------- |
| `400`  | `INVALID_BODY`        | Body did not include a `data` object                                                                       |
| `403`  | `MOUNT_ACCESS_DENIED` | Caller is neither the mount owner nor a current team member                                                |
| `404`  | `MOUNT_NOT_FOUND`     | No mount with that id                                                                                      |
| `404`  | `TABLE_NOT_MOUNTED`   | Slug does not match any materialized table on the mount                                                    |
| `404`  | `NOT_FOUND`           | RowId does not exist in this table (same code is returned for cross-mount rowId access to avoid info leak) |

Schema validation errors surface from the underlying `TableRowService` — for example, attempting to set a column not in the schema, or an enum column to an invalid value.

## Example

```bash theme={null}
# Operator marks a demand-scout lead as "seen"
curl -X PATCH -H "Authorization: Bearer rip_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"data":{"status":"seen"}}' \
  https://api.tokenrip.com/v0/operator/mounts/a7c1.../tables/upwork-leads/rows/f0c1...

# Operator resolves a document-extractor flag — the agent's next session cascades
curl -X PATCH -H "Authorization: Bearer rip_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"data":{"resolved_at":"2026-05-20T11:00:00Z","resolution_note":"operator_approved"}}' \
  https://api.tokenrip.com/v0/operator/mounts/a7c1.../tables/flags/rows/d27b...
```
