move

Re-link a source record to a different record, or detach it into a newly created one.

Re-links the source record to toRecordId, or detaches it into a newly created golden record (createRecord: true). Source data never changes.

The request fails if you are attempting to unlink the only source record from a golden record. Instead, use merge records to merge the golden record into the target golden record.

Important Notes

  • Use fromRecordId as a guard against concurrent link changes.
  • disableRecordUpdate affects both golden records. If set to false, both the original and target golden records are reconsolidated when a source record is moved. If set to true, neither the original nor the source golden record is reconsolidated.
  • Empty golden records are prevented. createRecord: true with disableRecordUpdate: true fails with a 400 error to prevent an empty golden record from being created.
  • Dry run with createRecord: The recordId is empty in the response. The version and timestamp fields are empty.
Path Params
string
required
string
required
string
required

The record's id within its source system.

Query Params
string

Qualifies source_record_id: the source system the record came from. Omit for records written without one.

Body Params
string

Re-link the source record to this existing record.

boolean

Detach the source record into a newly created record, its data consolidated from the source record. Must be true when set. Cannot be combined with disable_record_update (INVALID_ARGUMENT), and requires the table to have a consolidation rule (FAILED_PRECONDITION otherwise). Also FAILED_PRECONDITION when the source record was written as SOURCE data from a source system the table's schema mapping no longer covers: it cannot be consolidated, so the new record would have no data.

string

Optional guard: fails FAILED_PRECONDITION if the source record is not currently linked to this record. Validation only.

boolean

Do not update the data of either affected record — the one the source record moves OUT of and the one it moves INTO. Only valid with to_record_id: a record newly created by create_record is always consolidated, so this flag with create_record is INVALID_ARGUMENT.

This is also the supported way to move onto a record whose linked source set already exceeds the consolidation maximum: such a record cannot be re-consolidated, so a plain move (this flag unset) fails FAILED_PRECONDITION and writes nothing. Set this flag to re-link while leaving the (un-re-consolidatable) record data unchanged.

boolean

Compute and return the result without persisting anything. As with create's dry run, a move into a new record (create_record) reports the new record's record_id as EMPTY, on both record and source_record: no record is created, and the id the real move mints is not known until it runs. A dry run with to_record_id reports that record id as normal.

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json

© 2025, Tamr, Inc. All rights reserved.

License Agreement | Privacy Policy | Data Security Policy| AI Chatbot Disclaimer