Bulk Sync

Update Bulk Sync Schema

Changed on

Replaces the configuration of a single schema on a bulk sync.

This is a full replacement: every field in the request body is written to the schema, and any field you omit is cleared or reset to its default. Fetch the current configuration with GET /api/bulk/syncs/{id}/schemas/{schema_id} first if you want to preserve existing settings while changing only a subset.

Omitting fields enables all available fields on the schema. To control which fields are enabled, include the fields array with explicit enabled values. Primary-key fields stay enabled while the schema is enabled, even when the request sets enabled: false for them.

📘 To update multiple schemas in a single request without affecting others, use the partial-update endpoint PATCH /api/bulk/syncs/{id}/schemas instead.

put/api/bulk/syncs/{id}/schemas/{schema_id}

Request

  • Base URL
    https://app.polytomic.com
  • Auth
    • HTTP bearer
    • or HTTP basic

Path parameters

idstring uuid required

Unique identifier of the bulk sync

Example:248df4b7-aa70-47b8-a036-33ac447e668d
schema_idstring required

Source-side schema identifier

Example:contact

Headers

X-Polytomic-Versionstring

Request body

data_cutoff_timestampstring date-time nullable

Per-schema cutoff. Records older than this timestamp are excluded from sync runs.

disable_data_cutoffboolean

When true, the sync ignores any configured data_cutoff_timestamp for this schema.

enabledboolean

Whether this schema is included in sync runs

history_enabledboolean nullable

Whether a companion history table is maintained beside this schema's output. Requires a replicate-mode sync to a destination reporting supports_history_mode. Omit to keep the current value.

partition_keystring

Source field used to partition rows when writing to the destination

tracking_fieldstring

Source field used to detect changes between incremental sync runs

user_output_namestring

User-specified override for the destination object name

Example request

{
  "data_cutoff_timestamp": "2023-04-25T12:00:00Z",
  "enabled": true,
  "fields": [
    {
      "enabled": true,
      "id": "email",
      "user_output_name": "my_email"
    }
  ],
  "filters": [
    {
      "field_id": "field1",
      "value": "value"
    }
  ],
  "partition_key": "email",
  "tracking_field": "updated_at",
  "user_output_name": "my_contact"
}

Response

OK

Example response

{
  "data": {
    "data_cutoff_timestamp": "2023-04-25T12:00:00Z",
    "destination_history_output_name": "contact__history",
    "enabled": true,
    "fields": [
      {
        "enabled": true,
        "id": "email",
        "output_name": "email",
        "user_output_name": "my_email"
      }
    ],
    "filters": [
      {
        "field_id": "field1",
        "value": "value"
      }
    ],
    "id": "Contact",
    "output_name": "contact",
    "partition_key": "email",
    "tracking_field": "updated_at",
    "user_output_name": "my_contact"
  }
}

Changes

    • info

      the response optional property // became read-only for the status

    • info

      the response optional property //// became read-only for the status

    • info

      the response optional property // became read-only for the status

    • breaking

      added to the // request property allOf list

    • breaking

      removed the enum value ArrayContains of the request property //

    • breaking

      removed the enum value ArrayDoesNotContain of the request property //

    • breaking

      removed the enum value Between of the request property //

    • breaking

      removed the enum value Equality of the request property //

    • breaking

      removed the enum value False of the request property //

    • breaking

      removed the enum value GreaterThan of the request property //

    • breaking

      removed the enum value GreaterThanEqual of the request property //

    • breaking

      removed the enum value InTheLast of the request property //

    • breaking

      removed the enum value Inequality of the request property //

    • breaking

      removed the enum value IsNotNull of the request property //

    • breaking

      removed the enum value IsNull of the request property //

    • breaking

      removed the enum value LessThan of the request property //

    • breaking

      removed the enum value LessThanEqual of the request property //

    • breaking

      removed the enum value OnOrAfter of the request property //

    • breaking

      removed the enum value OnOrBefore of the request property //

    • breaking

      removed the enum value RelativeOnOrAfter of the request property //

    • breaking

      removed the enum value RelativeOnOrBefore of the request property //

    • breaking

      removed the enum value StringContains of the request property //

    • breaking

      removed the enum value StringDoesNotContain of the request property //

    • breaking

      removed the enum value StringDoesNotEndWith of the request property //

    • breaking

      removed the enum value StringDoesNotStartWith of the request property //

    • breaking

      removed the enum value StringEndsWith of the request property //

    • breaking

      removed the enum value StringLike of the request property //

    • breaking

      removed the enum value StringMatchesTrimmed of the request property //

    • breaking

      removed the enum value StringNotLike of the request property //

    • breaking

      removed the enum value StringNotOneOf of the request property //

    • breaking

      removed the enum value StringOneOf of the request property //

    • breaking

      removed the enum value StringStartsWith of the request property //

    • breaking

      removed the enum value True of the request property //

    • breaking

      the // request property type changed from string to no type

    • breaking

      the response's property type changed from object to no type for status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • info

      added to the response property allOf list for the response status