Skip to main content
Add one column to a data table, and return the table as get_data_table serves it, the new column also as field. The column joins the table’s views, the scopes reading it and the plans’ simulation pipelines, so compensations and reports can use it at once. Load its values by Excel import from the Qobra web app, or through Qobra’s public API. The column is created empty on every existing record. Given a default, a background job backfills every existing record with it, not only rows added afterward, so the values may lag behind this call. Weigh that side effect on a table that already carries data. The table comes back exactly as get_data_table returns it, so adding several columns in a row needs no read between them. An object column links each record to a record of another data table. It starts empty: set each record’s link with create_record or update_record, by the id of the record it points to. Columns an integration syncs are set up in the Qobra web app, not here. Every write is recorded in the audit trail as the Qobra MCP agent.

Parameters

Body

string
required
Id of the table (from list_data_tables or create_data_table), never its name.
string
required
Display name of the column (‘Amount’, ‘Closing date’, ‘Owner’).
string
required
What the column holds. ‘amount’ is monetary, ‘percentage’ a ratio (0.15 is 15%), ‘float’ a plain number (a count). ‘user’ is a Qobra user, matched on email in imports. ‘picklist’ and ‘multipicklist’ need options. ‘object’ links each record to a record of another table and needs linked_data_table_id. One of: float, amount, percentage, string, picklist, multipicklist, bool, date, user, object.
string
The column’s key in the public API and Excel imports. Lowercase letters, digits and _ only, stored as sent, unique within the table. Omit to derive it from the name (‘Closing date’ gives ‘closing_date’).
string[]
The labels to choose from: required for a picklist or multipicklist, refused on any other type. Imported values are matched on these exact labels.
string
Amount only (refused on any other type): the key of the column each row’s currency code is read from, not a currency code. Omit it to use the company currency on every row.
string | number | boolean | string[]
The value every existing and future row starts with, typed like the column: text, a number for float / amount / percentage, true/false, an ISO date (‘2026-03-14’), one label from options for a picklist, a list of labels for a multipicklist. Refused for user and object. Omit for none: an unset cell reads as empty, not as zero.
string
Free-text note on what the column holds.
string
‘object’ only (refused on any other type): the id of the table its records link to, from list_data_tables. Another table than data_table_id.

Response

Body

object
The table as get_data_table returns it, the new column included.
object
The column just created, as its entry of data_table.fields.