This page documents the canonical HTTP contract. Switch to the CLI example when you want the operator workflow.
This catalog contains existing scalar fields and their exact column_id, path, and source_revision. Choose a supported value from options; preserve person groups and collection paths when interpreting nested data. Saving a correction changes field meaning metadata and setup suggestions; it does not run enrichment or write CRM records.
Only editable existing scalar fields may be remapped. Producer-managed fields and controlled table setups are protected. A 409 requires reloading the catalog and reconciling the correction. Omitted fields retain their current meanings.
Path parameters
table_idrequiredstring
Accessible Research Table ID.
| Name | Type | Description |
|---|---|---|
| table_idrequired | string | Accessible Research Table ID. |
Body parameters
table_idrequiredstring
Must exactly match the table_id in the URL.
expected_mapping_versionrequiredinteger
Current mapping_version from GET; at least 0.
changesrequiredarray<object>
1–256 unique source fields, each with column_id, path, source_revision, and semantic_type.
changes[].column_idrequiredstring
Stable source column ID from GET.
changes[].path· optionalstring
Exact catalog field path; empty string for a scalar column. Maximum 500 characters.
changes[].source_revisionrequiredstring
Exact revision from GET. Stale source revisions return 409.
changes[].semantic_typerequiredstring | null
Supported value from options. ignored means Don’t map; null resets the explicit override to automatic.
| Name | Type | Description |
|---|---|---|
| table_idrequired | string | Must exactly match the table_id in the URL. |
| expected_mapping_versionrequired | integer | Current mapping_version from GET; at least 0. |
| changesrequired | array<object> | 1–256 unique source fields, each with column_id, path, source_revision, and semantic_type. |
| changes[].column_idrequired | string | Stable source column ID from GET. |
| changes[].path | string | Exact catalog field path; empty string for a scalar column. Maximum 500 characters. |
| changes[].source_revisionrequired | string | Exact revision from GET. Stale source revisions return 409. |
| changes[].semantic_typerequired | string | null | Supported value from options. ignored means Don’t map; null resets the explicit override to automatic. |
Errors
| Status | Meaning |
|---|---|
| 401 | Authentication required. |
| 403 | tables:read and columns:write, or table access, is missing. |
| 404 | Table not found. |
| 409 | Mapping version or source revision changed, a column disappeared, or the table setup is controlled. |
| 422 | Body table mismatch, unsupported meaning, non-scalar or managed field, or invalid changes. |
