Updates an existing bulk sync's top-level configuration.
Updating a bulk sync is a **full replacement** of the sync's top-level
configuration. Every field in the request body is written to the sync; any
field you omit is cleared or reset to its default value.
To make a partial change — for example, toggling `active` or swapping a
schedule — fetch the current sync with
[`GET /api/bulk/syncs/{id}`](../../../../api-reference/bulk-sync/get),
modify the fields you want to change, and send the complete object back in
the update request.
Updates to `active`, `schedules`, and `policies` take effect immediately.
Changes to source or destination configuration take effect on the sync's
next execution.
Because omitted fields are reset to their defaults, the discovery and
naming options behave the same as on create when left out:
- `automatically_add_new_objects` resets to not enabling newly discovered
source objects automatically.
- `automatically_add_new_fields` resets to enabling newly discovered
fields on already selected objects.
- `normalize_names` resets to enabled.
Send the existing values explicitly if you want to preserve a non-default or
non-empty setting.
> 📘 Updating schemas
>
> When `schemas` is present, it replaces the sync's schema selection: schemas
> not in the list are disabled. When `schemas` is omitted or empty, the sync's
> schemas are left unchanged. Use the
> [Update Bulk Sync Schemas](../../../../api-reference/bulk-sync/schemas/patch)
> endpoint to change a subset of schemas, or
> [Update Bulk Sync Schema](../../../../api-reference/bulk-sync/schemas/update)
> to replace a single schema's configuration.
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.
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
automatically_add_new_objectsenumOptional
concurrency_limitinteger or nullOptional
Override the default concurrency limit for this sync.
data_cutoff_timestampdatetime or nullOptional
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
organization_idstring or nullOptionalformat: "uuid"
Organization the sync belongs to. Only used by partner callers; normal callers are always scoped to 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
Schemas to sync. Schemas not in the list are disabled; if omitted or empty, the sync’s schemas are left unchanged.
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.