Write a user-provided value into a cell, overwriting any prior enrichment result.
rowId and columnId. The server:
column_id + row_id)status = completed, clears reasoning and errorstatus = completed and clears reasoning/error, any in-flight enrichment result for that cell gets overwritten when it lands. If you want to keep enrichment running, don’t upsert the cell manually — let the background task finish first.Value typing. The cell value column is typed unknown in the API response because columns can be text, number, boolean, URL, enum, multiselect, list, date, email, or phone. Always match the column’s schema.type (read via getList or listListColumns) — Mintlify will show the cell back verbatim, but downstream readers may reject a mistyped value.Ownership checks. Three 404s are possible, in order: list not found, row not found, column not found. The row and column must both belong to this list — cross-list references return 404 even if the caller owns the other list.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
List UUID.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Upsert a single cell. On match (same columnId + rowId), the existing cell is updated; otherwise a new cell is inserted. Status is always set to completed, clearing any prior reasoning or error.
Row UUID. Must belong to the list.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Column UUID. Must belong to the list.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$New cell value. Type should match the column's schema.type (text/number/boolean/URL/enum/multiselect/list/date/email/phone).
Cell upserted.
The upserted cell after the write.