---
title: "Add source streams to ELT sync"
method: POST
path: "/elt_syncs/{id}/source_streams"
tags: ["ELT Syncs"]
---

# Add source streams to ELT sync

`POST /elt_syncs/{id}/source_streams`

Add source streams to the given ELT sync and return the newly created streams. This method will only add new streams and update existing streams

## Path parameters

- `id` string, required

## Request body

- EltSyncAddSourceStreamsRequestDto
  - `source_streams` SourceStreamDto[] — The source streams for the elt sync.
    - `name` string, required — The name of the source stream.
    - `incremental_pointer_id` string — Incremental pointer ID for the source stream.
    - `excluded_columns` string[] — Columns to exclude from the sync.
    - `hashed_columns` string[] — Columns to hash during the sync.
    - `full_sync_always` boolean — Whether to always perform a full sync.
    - `full_sync_at_midnight` boolean — Whether to perform a full sync at midnight.
    - `protected_from_full_sync` boolean — Whether the stream is protected from full sync.
    - `excluded_substreams` string[] — Excluded substreams from syncing.
    - `enabled_history_table` boolean — Whether history table(s) are enabled for this stream

## Response `201`

The source streams have been successfully added.

- EltSyncAddSourceStreamsResponseDto
  - `source_streams` EltStreamDto[], required — The updated list of source streams for the ELT sync.
    - `id` string, required — The Id of the ELT Stream.
    - `elt_sync_id` string, required — The Id of the ELT Sync that the ELT Stream belongs to.
    - `name` string, required — The name of the ELT Stream
    - `incremental_primary_key_name` string[] — The name of the primary key field used for incremental sync. Most commonly used for database incremental syncs.
    - `incremental_pointer_id` string — The name of the field used for incremental sync cursor.
    - `full_sync_at_midnight` boolean, required — Indicates whether the full sync should be performed at midnight.
    - `full_sync_always` boolean, required — Indicates whether the full sync should always be performed.
    - `protected_from_full_sync` boolean, required — Indicates whether the stream is protected from full sync.
    - `created_at` string, date-time, required — The datetime when the ELT Stream was created.
    - `updated_at` string, date-time, required — The datetime when the ELT Stream was last updated.
    - `excluded_substreams` string[], required — Excluded substreams from syncing.
    - `enabled_history_table` boolean, required — Whether history table(s) are enabled for this stream
    - `sync_interval` string, nullable — Custom cron schedule for this stream. When set, the stream is pulled out of its ELT Sync (orchestration or schedule) and runs on its own schedule. Null means it follows the parent ELT Sync.

## Other responses

- `400`

---

[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)
