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

Required. The project the table belongs to.

string
required

Required. The table to create the source record in.

Body Params
string

The source system the record came from. Omit for records written without one. Together with source_record_id it identifies the source record.

string
required

Required. The record's id within its source system. Returns 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

Required. The source record's contents, interpreted according to data_schema.

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. Applies to this source record until a later write changes it.

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. Without it, a write that would update a record over the consolidation maximum fails with FAILED_PRECONDITION and writes nothing.

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