Create Bulk Sync

Creates a new bulk sync. Bulk syncs are used for the ELT pattern (Extract, Load, and Transform), where you want to sync un-transformed data to your data warehouses, databases, or cloud storage buckets like S3. All of the functionality described in [the product documentation](https://docs.polytomic.com/docs/bulk-syncs) is configurable via the API. Sample code examples: - [Bulk sync (ELT) from Salesforce to S3](../../../guides/code-examples/bulk-sync-elt-from-salesforce-to-s-3) - [Bulk sync (ELT) from Salesforce to Snowflake](../../../guides/code-examples/bulk-sync-elt-from-salesforce-to-snowflake) - [Bulk sync (ELT) from HubSpot to PostgreSQL](../../../guides/code-examples/bulk-sync-elt-from-hub-spot-to-postgre-sql) ## Connection specific configuration The `destination_configuration` is integration-specific configuration for the selected bulk sync destination. This includes settings such as the output schema and is required when creating a new sync. The `source_configuration` is optional. It allows configuration for how Polytomic reads data from the source connection. This will not be available for integrations that do not support additional configuration. Consult the [connection configurations](../../../guides/configuring-your-connections/overview) to see configurations for particular integrations (for example, [here](../../../guides/configuring-your-connections/connections/postgre-sql#source-1) is the available source configuration for the PostgreSQL bulk sync source). ## Defaults and selection behavior If `schemas` is omitted, the sync is created with all available source schemas selected. Pass `schemas` explicitly if you want the initial sync to include only a subset of tables or objects. Schedule times are interpreted in UTC. When omitted, automatic discovery defaults are conservative: - `automatically_add_new_objects` defaults to not enabling newly discovered source objects automatically. - `automatically_add_new_fields` defaults to enabling newly discovered fields on already selected objects. - `normalize_names` defaults to enabled.

Authentication

AuthorizationBearer
Bearer user API key
OR
AuthorizationBasic

Basic organization-scoped API key

Headers

X-Polytomic-VersionstringRequired

Request

This endpoint expects an object.
default_scheduleobjectRequired
destination_configurationmap from strings to anyRequired

Destination-specific bulk sync configuration (e.g. output schema name, file format). The accepted keys depend on the destination connection type.

destination_connection_idstringRequiredformat: "uuid"
Unique identifier of the connection rows are written to.
modeenumRequired
Allowed values:
namestringRequired

Human-readable name for the bulk sync.

source_connection_idstringRequiredformat: "uuid"
Unique identifier of the connection rows are read from.
activeboolean or nullOptional
Whether the sync is active. Inactive syncs do not run on their schedule but can still be triggered manually.
additional_scheduleslist of objects or nullOptional
Additional bulk sync schedules. Schedule times are interpreted in UTC.
automatically_add_new_fieldsenumOptional
Allowed values:
automatically_add_new_objectsenumOptional
Allowed values:
concurrency_limitinteger or nullOptional
Override the default concurrency limit for this sync.
data_cutoff_timestampstring or nullOptionalformat: "date-time"
Global cutoff applied across schemas. Source records older than this timestamp are excluded from sync runs.
disable_record_timestampsboolean or nullOptionalDefaults to false
When true, Polytomic will not add its own timestamp columns to destination rows.
normalize_namesenumOptional
Allowed values:
organization_idstring or nullOptionalformat: "uuid"

Organization the sync is created in. Only used by partner callers; normal callers always create syncs in their own organization.

policieslist of strings or nullOptional
Identifiers of permissions policies applied to the bulk sync.
resync_concurrency_limitinteger or nullOptional
Override the default resync concurrency limit for this sync.
schemaslist of strings or objects or nullOptional

List of schemas to sync; if omitted, all schemas will be selected for syncing.

source_configurationmap from strings to any or nullOptional

Source-specific bulk sync configuration (e.g. replication slot name, sync lookback). The accepted keys depend on the source connection type.

Response

OK
dataobject

Errors

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