Skip to main content
Change some cells of one record, archive it or restore it. Only the fields listed change. Call get_data_table first for the ids, the type each value takes and editable (false for lookups and links, which cannot be written), and list_data_table_records for the current values. On a record synced from an integration the edit is kept as an overwrite and the synced value is preserved beside it, as in the web app. An import run with the “override” policy replaces the edit with the synced value. Statements are not recalculated by this call, just as when a record is edited in the web app. They pick the change up at the next automatic recalculation, or when someone refreshes them. Requires write permission on data tables. Not available on demonstration companies. Available only where the Qobra write tools beta is enabled. Every write is recorded in the audit trail as the Qobra MCP agent.

Parameters

Body

string
required
Id of the record to change — the id list_data_table_records returns.
object[]
The cells to change, one per field. A field left out keeps its value; value: null empties a cell. Omit to change only active.
boolean
false archives the record, true restores it. Omit to leave it as it is.
string
Why the record is changed — one of the table’s adjustment_reasons from get_data_table. Required only when that list is not null; omit it otherwise.
string
Optional note kept in the record’s history.
The call is refused, with a message naming the problem, when no record has the record_id, when neither values nor active is passed, when a field_id is unknown or listed twice, when a field is a lookup or a link to another table, when a value does not match its field’s type or picklist options, or when the table requires a reason and none from its adjustment_reasons was passed.

Example

To archive a record without changing its values, pass only active:

Response

Body

object
The table of the record, whose fields header names the record’s values in order — the same row list_data_tables returns. See list_data_tables for the full field breakdown.
object
The record as it now exists — the same row list_data_table_records returns. Its values are read in the order of data_table.fields. See list_data_table_records for the full field breakdown.
object[]
What this call changed, the record’s archived state included (as ‘Active record’). Empty when nothing changed — the call then wrote and recorded nothing.