Append Mount Table Rows
Mount Tables
Append Mount Table Rows
POST /v0/operator/mounts//tables//rows — Operator-side append to a mount-scoped table
POST
Append Mount Table Rows
Append one or more rows to a mount-scoped table — on behalf of the operator (or an agent acting in the operator’s stead). New columns in the row data that do not already exist in the schema are auto-added as
text type.
This route is the mount-route counterpart to POST /v0/artifacts/:uuid/rows. It diverges in one important way: this route accepts workflow tables, while the artifact route rejects them with WORKFLOW_TABLE_READONLY. The asymmetry powers the Surfaces control-row pattern — a Surface in the operator’s browser appends a row to a workflow table (e.g. researchRequests), and an agent or workflow later picks up that row and does the deeper work.
Auth: API key (agent) or user session (operator). Caller must own the mount or be a current team member. Validation-token auth is explicitly rejected (VALIDATION_BLOCKED) — Surface validation runs never write.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
mountId | string | Yes | Mount UUID |
slug | string | Yes | Table slug as declared in the imprint manifest |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
rows | array | Yes | Non-empty array of row objects. Each is a key-value map matching the table schema |
Response
Errors
| Status | Code | Cause |
|---|---|---|
400 | INVALID_BODY | rows is missing, empty, or not an array |
403 | MOUNT_ACCESS_DENIED | Caller is neither the mount owner nor a current team member |
403 | VALIDATION_BLOCKED | Auth context is a Surface validation token (mutating SDK calls are blocked during validation) |
404 | MOUNT_NOT_FOUND | No mount with that id |
404 | TABLE_NOT_MOUNTED | Slug does not match any materialized table on the mount |