create

Create a source record in a table, linking it to an existing record or intentionally creating a new one.

Creates a source record and links it to a golden record. Specify exactly one of recordId (existing golden record) or createRecord: true (new golden record).

If the (sourceSystemName, sourceRecordId) pair already exists, the request fails with 409 ALREADY_EXISTS.

Important Notes:

  • Empty golden records are prevented. createRecord: true with disableRecordUpdate: true fails with a 400 error to prevent an empty golden record from being created.
  • Response data may differ from request data when schema mapping or standards are applied.
  • Dry run with createRecord: The recordId is empty in the response. The version and timestamp fields are empty.
Path Params
string
required
string
required
Body Params
string

Qualifies source_record_id: the source system the record comes from. Omit for records without one — ("systemA", "rec1") and (unset, "rec1") are distinct source records.

string
required

The record's id within its source system. 409 ALREADY_EXISTS if the (source_system_name, source_record_id) source record already exists in the table.

string

Link the new source record to this existing record.

boolean

Intentionally create a new record for this source 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).

data
object
required

The contents of the source record. Interpreted per data_schema: as table-schema data by default (TABLE), or as source-schema data mapped per the table's schema mapping when SOURCE.

string
enum
Defaults to DATA_SCHEMA_UNSPECIFIED

How data is interpreted relative to the table schema. Unset defaults to TABLE (data already conforms; no mapping). SOURCE maps the data per the table's schema mapping for the source system. The value on a source record's latest write governs its treatment at every future re-consolidation.

Allowed:
boolean

Do not update the linked record's data; the link and source-record data are still written. Only valid with record_id: a new record is always consolidated, so this flag with create_record is INVALID_ARGUMENT. Accepted no-op on tables without a consolidation rule.

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

boolean

Compute and return the result without persisting anything.

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