Create Sync

Creates a new model sync. Create a new sync from one or more models to a destination. All of the functionality described in [the product documentation](https://docs.polytomic.com/docs/sync-destinations) is configurable via the API. Guides: - [Model sync (Reverse ETL) from Snowflake query to Salesforce](https://apidocs.polytomic.com/2024-02-08/guides/code-examples/model-sync-reverse-etl-from-snowflake-query-to-salesforce) - [Joined model sync from Postgres, Airtable, and Stripe to Hubspot](https://apidocs.polytomic.com/2024-02-08/guides/code-examples/joined-model-sync-from-postgres-airtable-and-stripe-to-hubspot) ## Targets (Destinations) Polytomic refers to a model sync's destination as the "target object", or target. Target objects are identified by a connection ID and an object ID. You can retrieve a list of all target objects for a connection using the [Get Target Objects](./targets/list) endpoint. The `target` object in the request specifies information about the sync destination. ```json "target": { "connection_id": "248df4b7-aa70-47b8-a036-33ac447e668d", "object": "Users", }, ``` Some connections support additional configuration for targets. For example, [Salesforce connections](https://apidocs.polytomic.com/2024-02-08/guides/configuring-your-connections/connections/salesforce#target) support optionally specifying the ingestion API to use. The target specific options are passed as `configuration`; consult the [integration guides](https://apidocs.polytomic.com/2024-02-08/guides/configuring-your-connections/overview) for details about specific connection configurations. ### Creating a new target Some integrations support creating a new target when creating a model sync. For example, an ad audience or database table. When creating a new target, `object` is omitted and `create` is specified instead. The `create` property is an object containing integration specific configuration for the new target. ```json "target": { "connection_id": "248df4b7-aa70-47b8-a036-33ac447e668d", "create": { "name": "New audience", "type": "user_audience" } }, ``` The [Get Target List](./targets/list) endpoint returns information about whether a connection supports target creation.

Authentication

AuthorizationBasic

This is the Polytomic deployment key (on-premises only)

OR
AuthorizationBearer
This is the Polytomic API key

Headers

X-Polytomic-VersionstringRequired

Request

This endpoint expects an object.
fieldslist of objectsRequired
Fields to sync from source to destination.
modeenumRequired
namestringRequired
scheduleobjectRequired
targetobjectRequired
activebooleanOptional
Whether the sync is enabled and scheduled.
encryption_passphrasestringOptional
Passphrase for encrypting the sync data.
filter_logicstringOptional
Logical expression to combine filters.
filterslist of objects or nullOptional
Filters to apply to the source data.
identityobjectOptional
only_enrich_updatesbooleanOptional
Whether to use enrichment models as a source of possible changes to sync. If true, only changes to the base models will cause a record to sync.
organization_idstring or nullOptionalformat: "uuid"

Organization ID for the sync; read-only with a partner key.

override_fieldslist of objects or nullOptional
Values to set in the target unconditionally.
overrideslist of objects or nullOptional
Conditional value replacement for fields.
policieslist of strings or nullOptional
skip_initial_backfillbooleanOptional

Whether to skip the initial backfill of records; if true only records seen after the sync is enabled will be synced.

sync_all_recordsbooleanOptional
Whether to sync all records from the source, regardless of whether they've changed since the previous execution.

Response

OK
dataobject

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
422
Unprocessable Entity Error
500
Internal Server Error