changes made.
Only the fields listed change. Get the ids, the type each value takes and
editable from get_data_table, the current values from list_data_table_records.
Pass at least one of values or archived.
On a record synced from an integration, the edit is kept as an overwrite with
the synced value kept beside it, as in the web app, and a later sync keeps your
edit.
Statements are not recalculated by this call, just as when a record is edited in
the web app. To refresh them, call
recalculate_statements on
the users and the period the record counts for.
Without full write access to data tables, write through a view of the table
shared with you with edit rights, passed as view_id: only a record the view’s
filter holds can be changed.
Requires write permission on data tables, or a view shared with edit rights.
Every write is recorded in the audit trail as the Qobra MCP agent.
Parameters
Body
Body
string
required
Id of the data table holding the record, from list_data_tables.
string
required
Id of the record, from list_data_table_records.
object[]
The cells to change, one per field; a field left out keeps its value. Omit
to change only
archived.boolean
true archives the record, false restores it. Omit to leave it as it is.
string
One of the table’s
adjustment_reasons (get_data_table): required when that
list is not null, refused when it is null (use comment for a free-text
note).string
Free-text note kept in the record’s history.
string
Id of one of the table’s
views, to write through. Required when your write
access comes from shared views (only records its filter holds can be
written); omit it with full write access.data_table_id, when no record of that table has the record_id (or none
the view_id’s filter holds), when neither values nor archived is passed,
when a field_id is unknown or listed twice, when a field is a lookup, when a
value does not match its field’s type or picklist options — or, for a link, is
not the id of a record of the linked table — when the name field is set to an
empty or null value, when an amount’s currency is neither the company
currency nor one list_exchange_rates lists, when the table requires a reason
and none from its adjustment_reasons was passed, or when a reason is passed
but the table takes none.
A cell sent without a currency is never refused for its currency. To write
an amount in a new currency, give that currency an exchange rate with
update_exchange_rates
first.
Example
archived: