---
title: "Create Reverse ETL Sync"
method: POST
path: "/reverse_etl_syncs"
tags: ["Reverse ETL Syncs"]
---

# Create Reverse ETL Sync

`POST /reverse_etl_syncs`

Create a Reverse ETL Sync that reads from a source Transform and writes to a destination connection. The sync is activated immediately so it runs on its schedule (or as part of its Orchestration Workflow). The `settings` are validated against the settings schema (see the "Get Reverse ETL Settings Schema for a connection" endpoint).

## Request body

- CreateReverseEtlSyncRequestDto
  - `destination_connection_id` string, required — The ID of the (already created) destination connection the Reverse ETL Sync writes to.
  - `source_id` string, required — The ID of the source Transform the Reverse ETL Sync reads from.
  - `object_type_id` string, required — The opaque ID of the destination object type to write to (as returned by the object types endpoint).
  - `operation` ReverseEtlSyncOperationRequestDto, required
    - `mode` 'insert' | 'mirror' | 'update' | 'upsert', required — The mode of the available operation to perform (as returned by the "List available Reverse ETL operations" endpoint).
    - `mappings` ReverseEtlSyncMappingRequestDto[], required — The property mappings that define how source properties are written to the destination.
      - `source_property_id` string, required — The ID of the source property (a column of the source Transform) the mapping reads from.
      - `destination_property_id` string, required — The ID of the destination property the mapping writes to (as returned by the "Get Reverse ETL destination schema" endpoint).
      - `primary_key` boolean — Whether this mapping is used as the primary key for matching records in the destination.
  - `sync_interval` string, cron expression — The cron expression defining when the sync runs. Required unless the sync is attached to an Orchestration Workflow via `orchestration_workflow_id`.
  - `orchestration_workflow_id` string — The ID of the Orchestration Workflow to attach the sync to. When provided, the sync runs as part of the Orchestration instead of on its own `sync_interval`.
  - `settings` object — The destination settings for the sync, validated against the settings schema (see the "Get Reverse ETL Settings Schema for a connection" endpoint).

## Response `201`

- ReverseEtlSyncWithSettingsDto
  - `id` string, required — The Id of the Reverse ETL Sync.
  - `enabled` boolean, required — Whether the Reverse ETL Sync is enabled and running on its schedule.
  - `source_type` 'RawView' | 'Transform', required — The type of the source the Reverse ETL Sync reads from.
  - `source_id` string, required — The Id of the source (Transform or Raw View) the Reverse ETL Sync reads from.
  - `transform_id` string — The Id of the Transform the Reverse ETL Sync reads from, if the source is a Transform.
  - `destination_connection_id` string, required — The Id of the Destination Connection.
  - `destination_integration_id` string, required — The Id of the Destination Integration.
  - `object_type_id` string, required — The Id of the object in the destination that the Reverse ETL Sync writes to.
  - `sync_interval` string, cron expression — The cron expression when the sync should run. Provided if the sync is not attached to an Orchestration.
  - `orchestration_workflow_id` string — The Id of the Orchestration Workflow that the sync is attached to.
  - `operation` ReverseEtlSyncOperationDto
    - `mode` 'insert' | 'mirror' | 'update' | 'upsert', required — The mode of the operation, defining how records are written to the destination.
    - `mappings` ReverseEtlSyncMappingDto[], required — The property mappings that define how source properties are written to the destination.
      - `source_property_id` string, required — The ID of the source property (a column of the source Transform) the mapping reads from.
      - `destination_property_id` string, required — The ID of the destination property the mapping writes to.
      - `primary_key` boolean — Whether this mapping is used as the primary key for matching records in the destination.
  - `created_at` string, date-time, required — The datetime when the Reverse ETL Sync was created.
  - `updated_at` string, date-time, required — The datetime when the Reverse ETL Sync was last updated.
  - `settings` object, required — The settings for the Reverse ETL Sync, provided when creating/updating the sync.

## Other responses

- `400` — The request is invalid (e.g. invalid `settings`, object type, or schedule).

---

[API](https://skmtc.net/weld/apis/weld-rest-api.md) · [All operations](https://skmtc.net/weld/apis/weld-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/weld/weld-rest-api/revisions/75294f591cc2/schema)
