---
title: "Add Data Flow"
method: POST
path: "/v1/accounts/{account_id}/environments/{environment_id}/rivers"
tags: ["Data Flows", "MCP"]
---

# Add Data Flow

`POST /v1/accounts/{account_id}/environments/{environment_id}/rivers`

**Authorization scope:** `data flow:write` 
 
 **This endpoint creates a data flow.**

---

### 📖 Instructions for usage

`create_data_flow`

```
Create a new source-to-target data flow.

Parameters
----------
name : Display name for the data flow.
source_name : Connector type for the source, as shown by list_connections —
    e.g. mysql, postgresql, snowflake, salesforce, hubspot, facebook ads, tiktok.
    Not an exhaustive list: new connectors are added regularly, so pass the type
    of your connection even if it is not listed here. (blueprint / blueprint_custom
    flows are created in the console, not here.)
source_connection_id : cross_id of the source connection (from list_connections).
target_name : Connector type for the target (same convention as source_name).
target_connection_id : cross_id of the target connection.
loading_method : How data is loaded into the target. Common values:
    append, merge, replace. Defaults to "append".
target_settings : Optional dict with target-specific fields, e.g.:
    {"database_name": "MY_DB", "schema_name": "PUBLIC", "table_name": "my_table"}
    Required fields vary by target connector type.

Note: blueprint / blueprint_custom (recipe) sources are NOT supported here — create
those flows in the Boomi Data Integration console.
```

To see a real example of this object, list your data flows and GET a similar one — use its definition as a reference.

📚 Per-source request/response examples: https://bitbucket.org/boomii/data-integration-sources-examples/src/main/

## Path parameters

- `account_id` string, required
- `environment_id` string, required

## Query parameters

- `river_cross_id` string, nullable

## Request body

- WriteRiverInput — River fields for new river creation / update an existing river.
  - `name` string, required — The name of the river.
  - `kind` 'sub_river' | 'main_river' — River kind
  - `type` 'source_to_target' | 'actions' | 'logic' | 'connector_executor', required — All of the EXTERNAL river types
  - `group_id` string, nullable — The id of the group the river belongs to.
  - `group_name` string, nullable — The name of the group the river belongs to.
  - `metadata` RiverMetadata, required — River metadata properties for the CREATE
    - `description` string, nullable — The description of the river.
    - `river_status` 'active' | 'disabled' — River status enum. Used in the is_enabled field which is part of the river properties. Disabled status for a river means the river cannot be executed while active status river can.
  - `settings` RiverSettings, required — River settings properties to return.
    - `run_timeout_seconds` integer, nullable — The timeout of the river in seconds. Null activates automatic timeout calculation mode.
    - `notification` NotificationSettings — Notification settings properties for the entire river (define what to do on warning, error, failure/timeout)
      - `warning` RiverNotificationReport — River Notification Report properties
        - `email` string, required — Email address to send the report to in case of failure.
        - `is_enabled` boolean — A flag that indicates whether the notification is enabled.
        - `execution_time_limit_seconds` integer, nullable — The execution time limit in seconds of the river before reporting, only relevant for on run_threshold.
      - `failure` RiverNotificationReport — River Notification Report properties
        - `email` string, required — Email address to send the report to in case of failure.
        - `is_enabled` boolean — A flag that indicates whether the notification is enabled.
        - `execution_time_limit_seconds` integer, nullable — The execution time limit in seconds of the river before reporting, only relevant for on run_threshold.
      - `run_threshold` RiverNotificationReport — River Notification Report properties
        - `email` string, required — Email address to send the report to in case of failure.
        - `is_enabled` boolean — A flag that indicates whether the notification is enabled.
        - `execution_time_limit_seconds` integer, nullable — The execution time limit in seconds of the river before reporting, only relevant for on run_threshold.
    - `schedule_retry_config` ScheduleRetryConfig — Scheduled-run retry configuration of a river, stored verbatim under shared_params.schedule_retry_config.
      - `enable_scheduler_retry` boolean — Whether failed scheduled runs of this river are retried automatically. Takes effect when the scheduler retry feature is released.
      - `retry_count` integer, nullable — Number of retry attempts for a failed scheduled run. Null uses the platform default.
      - `delay_between_retries` integer, nullable — Delay between retry attempts, in minutes. Null uses the platform default.
  - `properties` union, required — The properties of a river.
    - WriteSourceToTargetRiverPropertiesInput — Source to target River properties that is being used for PUT purposes
      - `properties_type` 'source_to_target'
      - `source` SourceSettings, required — Source settings properties to return.
        - `name` 'activecampaign' | 'adaptive_insights' | 'adjust' | 'adobe_ads' | 'adobe_analytics' | 'adroll' | 'airtable' | 'amplitude' | 'anaplan' | 'apple_search_ads' | 'appsflyer' | 'appstore_apps_analytics' | 'appstore_connect_sales' | 'aws_billing' | 'bigquery' | 'bing_ads' | 'blob_storage' | 'bluesnap' | 'boomi_for_sap' | 'branch_io' | 'brandwatch' | 'callrail' | 'campaign_manager_360' | 'cellexpert' | 'content_ad' | 'coupa' | 'criteo_marketing' | 'currency_service' | 'datahub' | 'datastore' | 'dear_systems' | 'delta_projects' | 'display_video_360' | 'docebo' | 'elasticsearch' | 'email' | 'facebook_ads' | 'fb_audience' | 'fb_social' | 'freshservice' | 'ftp' | 'gadwords' | 'gcs' | 'genesys' | 'gmp365' | 'google_ad_manager' | 'google_ads' | 'google_analytics' | 'google_search_console' | 'google_sheets' | 'gplay' | 'greenhouse' | 'greenhouse_legacy' | 'harvest' | 'hasoffers' | 'hibob' | 'hivestack' | 'hubspot' | 'hubspot_legacy' | 'impact_radius' | 'innovid' | 'instagram_social' | 'intercom' | 'ironsource' | 'jira' | 'jwplayer' | 'jwplayer_analytics' | 'kantata' | 'klaviyo' | 'klaviyo_legacy' | 'kochava' | 'linkedin_ads' | 'linkedin_social' | 'mariadb' | 'marketo' | 'mixpanel' | 'moat' | 'mobileaction' | 'monday' | 'mongodb' | 'mssql' | 'mysql' | 'netsuite' | 'netsuite_analytics' | 'netsuite_reporting' | 'netsuite_restlets' | 'optimove' | 'oracle' | 'outbrain' | 'pardot' | 'paypal_reports' | 'pendo' | 'pepperjam' | 'pinterest' | 'pipedrive' | 'postgresql' | 'quickbooks' | 'recharge' | 'recurly' | 'reddit_ads' | 'redshift' | 'revcontent' | 's3' | 'sage_intacct' | 'salesforce' | 'sapconcur' | 'search_ads' | 'search_ads_360_reporting' | 'sendgrid' | 'servicenow' | 'sf_marketing' | 'sftp' | 'shareasale' | 'sharepoint' | 'shiphero' | 'shopify' | 'shopify_graphql' | 'snapchat_ads' | 'snowflake' | 'social_studio' | 'stack_adapt' | 'stripe' | 'surveygizmo' | 'surveymonkey' | 'taboola' | 'the_trade_desk' | 'tiktok' | 'trendkite' | 'twitter_ads' | 'vertica' | 'yahoo_ads' | 'yandex' | 'yotpo' | 'youtube_reporting' | 'zendesk' | 'zendesk_chat' | 'zendesk_talk', required — The name of the source (correlate to source type in db). When run_type='regular' (custom reports), the source name must be one of the custom-report-supported sources: ['activecampaign', 'adaptive_insights', 'adjust', 'adobe_ads', 'adobe_analytics', 'adroll', 'airtable', 'amplitude', 'anaplan', 'apple_search_ads', 'appsflyer', 'appstore_connect_sales', 'aws_billing', 'bing_ads', 'blob_storage', 'bluesnap', 'branch_io', 'brandwatch', 'callrail', 'campaign_manager_360', 'cellexpert', 'content_ad', 'criteo_marketing', 'currency_service', 'datastore', 'dear_systems', 'delta_projects', 'display_video_360', 'docebo', 'email', 'facebook_ads', 'fb_audience', 'fb_social', 'freshservice', 'ftp', 'gadwords', 'gcs', 'genesys', 'gmp365', 'google_ad_manager', 'google_ads', 'google_analytics', 'google_search_console', 'google_sheets', 'gplay', 'greenhouse', 'greenhouse_legacy', 'harvest', 'hasoffers', 'hibob', 'hivestack', 'hubspot', 'hubspot_legacy', 'impact_radius', 'innovid', 'instagram_social', 'intercom', 'ironsource', 'jira', 'jwplayer', 'jwplayer_analytics', 'kantata', 'klaviyo', 'klaviyo_legacy', 'kochava', 'linkedin_ads', 'linkedin_social', 'marketo', 'mixpanel', 'moat', 'mobileaction', 'monday', 'netsuite', 'netsuite_reporting', 'netsuite_restlets', 'optimove', 'outbrain', 'pardot', 'paypal_reports', 'pendo', 'pepperjam', 'pinterest', 'pipedrive', 'quickbooks', 'recharge', 'recurly', 'reddit_ads', 'revcontent', 's3', 'sage_intacct', 'search_ads', 'search_ads_360_reporting', 'sendgrid', 'servicenow', 'sf_marketing', 'sftp', 'shareasale', 'sharepoint', 'shiphero', 'shopify', 'snapchat_ads', 'social_studio', 'stack_adapt', 'stripe', 'surveygizmo', 'surveymonkey', 'taboola', 'the_trade_desk', 'tiktok', 'trendkite', 'twitter_ads', 'yahoo_ads', 'yandex', 'yotpo', 'youtube_reporting', 'zendesk', 'zendesk_chat', 'zendesk_talk'].
        - `connection_id` string, nullable — The connection ID of this source.
        - `connection_name` string, nullable — The connection name of this source.
        - `run_type` union — The run type of this source.
          - 'custom' | 'custom_query' | 'multi_tables' | 'legacy' | 'predefined_report' | 'regular' — River run types
          - string
        - `cdc_settings` union — The CDC settings of this source.
          - MysqlSourceCDCSettings — Mysql Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'mysql' — The data source id of this source
          - PostgresSourceCDCSettings — Postgres Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'postgres' — The data source id of this source
            - `custom_replication_slot` string, nullable — The custom replication slot of this source
            - `custom_publication` string, nullable — The custom publication of this source
          - OracleSourceCDCSettings — Oracle Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'oracle' — The data source id of this source
          - MongoDBSourceCDCSettings — MongoDB Source CDC settings properties.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'mongodb' — The data source id of this source
          - MSSQLSourceCDCSettings — MSSQL Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'mssql' — The data source id of this source
          - BoomiForSapCDCSettings — Boomi for SAP Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'boomi_for_sap' — The data source id of this source
          - DataHubCDCSettings — DataHub Source CDC settings.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'datahub' — The data source id of this source
        - `additional_settings` object — The additional settings of this source. For blueprint sources, carries the global `interface_parameters` shared across all reports.
        - `custom_query_source_settings` CustomQuerySourceSettings — Custom query source settings for database sources. Used when run_type is 'custom_query' to define the SQL query and extraction settings. Reuses DateRange, RunningNumber, and Epoch from base_river.py for consistency.
          - `query` string, required — The custom SQL query to execute
          - `array_size` integer, nullable — Array size for batch fetching
          - `exporter_chunk_size` integer, nullable — Chunk size for data export
          - `incremental_type` 'datetime' | 'runningnumber' | 'epoch' | 'row_version' — Interval types options of the incremental field for rivers that are running incrementally
          - `incremental_field` string, nullable — Field name to use for incremental extraction
          - `date_range` DateRange — Date range when using incremental loading method.
            - `time_period` 'custom' | 'yesterday' | 'today' | 'last_7_days' | 'last_365_days' | 'week_to_date' | 'previous_week' | 'previous_week_to_date' | 'last_week' | 'month_to_date' | 'previous_month' | 'previous_month_to_date' | 'year_to_date' — River supported time periods
            - `start_date` string, date-time, nullable — The start date of the river entity.
            - `end_date` string, date-time, nullable — The end date of the river entity.
            - `days_back` union — The days back of the river entity. Fractions of a day are allowed.
              - …
            - `include_end_value` boolean — Whether to include or exclude the end_value in the date range
            - `split_time_intervals` SplitTimeIntervals — Settings for splitting to time intervals when using incremental loading method by dates.
              - …
            - `update_increment_on_failures` boolean — If to update the start date for the next extraction even if the current extraction is unsuccessful.
            - `utc_offset` integer, nullable — Whether to appy offset to the end date
            - `round_up` boolean, nullable — Whether to round up the end date to the next interval
          - `running_number` RunningNumber — Running number when using incremental on a running number and not date time.
            - `include_end_value` boolean, nullable — Whether to include or exclude the end_value in the range
            - `rows_in_chunk` integer, nullable — The rows in chunk of the river entity.
            - `start_value` union — The start value of the river entity.
              - …
            - `end_value` union — The end value of the river entity.
              - …
          - `epoch` Epoch — Epoch dates when using incremental on a epoch dates
            - `start_value` number, nullable — The start value of the river entity.
            - `end_value` number, nullable — The end value of the river entity.
            - `include_end_value` boolean — Whether to include or exclude the end_value in the epoch range
          - `row_version` RowVersion — Row version settings for incremental extraction. Only available for MSSQL and PostgreSQL sources. Has the same structure as RunningNumber but uses ROW_VERSION interval type.
            - `include_end_value` boolean, nullable — Whether to include or exclude the end_value in the range
            - `rows_in_chunk` integer, nullable — The rows in chunk of the river entity.
            - `start_value` string, nullable — The start value of the river entity.
            - `end_value` string, nullable — The end value of the river entity.
          - `extract_method` string, nullable — Extract method (incremental or full)
      - `target` union, required — The target of the river.
        - SnowflakeTargetSettings — Snowflake target settings properties to return.
          - `name` 'snowflake' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' — Enum for merge methods for Snowflake target
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `database_name` string, nullable — The database name of this target
          - `schema_name` string, nullable — The schema name of this target
        - BigQueryTargetSettings — BigQuery target settings properties to return.
          - `name` 'bigquery' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `dataset_id` string, nullable — The dataset ID of this target
          - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
          - `auto_detect_datatype_changes` boolean, nullable — If the target should auto detect datatype changes
        - RedshiftTargetSettings — Redshift target settings properties to return.
          - `name` 'redshift' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
        - S3TargetSettings — S3 target settings properties to return.
          - `name` 's3' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `path` string, required — The path of the file zone entity.
          - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
          - `fz_loading_mode` 'auto-period' | 'custom' — Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.
          - `convert_file_type` 'parquet' — Conversion service types of file conversions. The conversion service supports multiple conversion including CSV and JSON but the back only support PARQUET for now Once the back adds support for the other file types we can add them here
          - `bucket_name` string, required — The bucket name of the file zone entity.
        - EmailTargetSettings — Email target settings properties to return.
          - `name` 'target_email' — The name of the target
          - `email_list` string[], required — A list of email addresses to send the data to.
        - BlobStorageSettings — Azure Blob Storage target settings properties to return.
          - `name` 'blob_storage' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `path` string, required — The path of the file zone entity.
          - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
          - `fz_loading_mode` 'auto-period' | 'custom' — Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.
          - `container_name` string, required — The container name of the file zone entity.
          - `convert_file_type` 'parquet' — Conversion service types of file conversions. The conversion service supports multiple conversion including CSV and JSON but the back only support PARQUET for now Once the back adds support for the other file types we can add them here
        - GcsTargetSettings — GCS target settings properties to return.
          - `name` 'gcs' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `path` string, required — The path of the file zone entity.
          - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
          - `fz_loading_mode` 'auto-period' | 'custom' — Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.
          - `bucket_name` string, required — The bucket name of the file zone entity.
        - DatabricksTargetSettings — Databricks target settings properties to return.
          - `name` 'databricks' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `catalog_name` string, nullable — The catalog name of this target
          - `schema_name` string, nullable — The schema name of this target
          - `store_in_custom_location` boolean, nullable — If the target should store in a custom location
          - `custom_location_type` 'DBFS' | 'EXTERNAL' — The custom location type for databricks
          - `custom_location_path` string, nullable — The table will be stored in Databricks File System (DBFS) or in external location
        - AzureSynapseAnalyticsTargetSettings — Azure Synapse Analytics target settings properties to return.
          - `name` 'azure_synapse_analytics' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
          - `table_type` 'columnstore' | 'rowstore' — Azure Synapse table types
        - AthenaTargetSettings — Athena target settings properties to return.
          - `name` 'athena' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The path to file
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
          - `bucket_name` string, nullable — The bucket name
          - `replace_invalid_utf_characters` boolean, nullable — Replace invalid utf-8 characters with Unicode replacement character
          - `truncate_columns` boolean, nullable — Cut varchar values which are longer than the column definition
        - AzureSqlTargetSettings — Azure SQL target settings properties to return.
          - `name` 'azure_sql' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
        - PostgresTargetSettings — Postgres target settings properties to return.
          - `name` 'postgres_rds' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'delete_insert' | 'insert_on_conflict' — Enum for merge methods for Postgres target
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
          - `analyze_table` boolean — Analyze the tables after the load process
        - KnowledgeHubTargetSettings — Knowledge Hub target settings. Only needs knowledge_base_id (like Snowflake database+schema) and loading_method. Source config and schema mapping are handled by KH at activation/ingestion time.
          - `name` 'knowledge_hub' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `merge_method` string, nullable
          - `loading_method` 'append' | 'overwrite' | 'merge' — Enum for loading modes for the Knowledge Hub target Merge upserts on document id - it needs no match keys, because the matching is KH's own. Append and overwrite stay because rivers are configured with them and the values have to be representable when they are read back.
          - `table_name` string — Not used for KH.
          - `target_prefix` string — Not used for KH.
          - `is_ordered_merge_key` boolean
          - `order_expression` string, nullable
          - `additional_settings` object
          - `repository_id` string, nullable — The Knowledge Hub repository ID.
          - `knowledge_base_id` string, nullable — The Knowledge Hub knowledge base ID to load data into.
          - `kh_table_mappings` union — Per-table KH source/mapping IDs (set during activation). List of {table_key, source_id, schema_mapping_id} entries; the legacy dict form (keyed by table_key) is also accepted.
            - object[]
              - …
            - object
        - OneLakeTargetSettings — OneLake (Microsoft Fabric) target settings properties to return.
          - `name` 'onelake' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' — Enum for merge methods for Snowflake target
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `workspace_name` string, nullable — The Fabric workspace this target writes to
          - `lakehouse_name` string, nullable — The Fabric lakehouse this target writes to
          - `schema_name` string, nullable — The schema name of this target
      - `schemas` WriteSchemaInput[] — The schemas of the river entity
        - `name` string, required — The name of the schema
        - `tables` union[]
          - union — The tables of the schema entity
            - WriteDatabaseTableInput — Table properties which define the db table data This schema is being used for Create or Update purposes
              - …
            - BasePredefinedReportTableInput — A base predefined-report table (READ) — discriminated union member.
              - …
    - ActionProperties — Action properties which define the action river properties
      - `properties_type` 'actions'
    - LogicProperties — The logic river properties
      - `logic_steps` union[], required
        - union
          - RunOnceContainer — Run Once Container Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the container is enabled or not
            - `container_id` string — The container id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'run_once', required
            - `is_parallel` boolean — A flag that indicates whether the container is parallel or not
            - `steps` union[], required
              - …
          - LoopContainer — Loop Container Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the container is enabled or not
            - `container_id` string — The container id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'loop', required
            - `steps` union[], required
              - …
            - `loop_over_value` string, required — The loop over value
            - `loop_over_variable_name` string[], required — The loop over variable name
          - ConditionContainer — Condition Container Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the container is enabled or not
            - `container_id` string — The container id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'condition', required
            - `steps` ConditionInnerContainer[], required
              - …
          - RunRiverStep — Run river step schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'river', required
            - `river_id` string, required
            - `input_variables` object
          - ActionStep — Action step schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'action', required
            - `action_id` string, required
            - `input_variables` object
            - `output_variables` object
            - `interval_variables` object
            - `connection_id` string, nullable — The action connection id
          - LogicodeStep — logicode step schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'logicode', required
            - `code_type` 'python'
            - `file_id` string, required
            - `logicode_size` 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL', required — Enum for logic code size
            - `additional_packages` string[] — Additional packages to install
          - AthenaSqlScriptStep — Athena SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'athena_sql_script', required
          - AthenaSqlQueryStep — Athena SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'athena_sql_query', required
            - `target_settings` union, required
              - …
          - AzureSynapseSqlScriptStep — Azure Synapse SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_synapse_sql_script', required
          - AzureSynapseSqlQueryStep — Azure Synapse SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_synapse_sql_query', required
            - `target_settings` union, required
              - …
          - AzureSQLSqlScriptStep — Azure SQL SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_sql_script', required
          - AzureSQLSqlQueryStep — Azure SQL SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_sql_query', required
            - `target_settings` union, required
              - …
          - PostgresSqlScriptStep — Postgres SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'postgres_sql_script', required
          - PostgresSqlQueryStep — Postgres SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'postgres_sql_query', required
            - `target_settings` union, required
              - …
          - SnowflakeDataframeStep — Dataframe Snowflake Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'snowflake_dataframe', required
            - `dataframe_name` string, required
            - `target_properties` SnowflakeTargetTableWithoutMappingProperties, required — Snowflake Target Table Without Mapping Properties Schema
              - …
          - SnowflakeSqlQueryStep — Snowflake SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'snowflake_sql_query', required
            - `sql_query` string, required
            - `target_settings` union, required
              - …
          - SnowflakeSqlScriptStep — Snowflake SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'snowflake_sql_script', required
            - `sql_query` string, required
            - `auto_commit` boolean — A flag that indicates whether to auto commit or not
          - BigQuerySqlScriptStep — BigQuery SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `use_standard_sql` boolean — A flag that indicates whether to use standard SQL or not
            - `query_priority` 'interactive' | 'batch' — Enum for BigQuery query priority
            - `maximum_billing_tier` integer, nullable — The maximum billing tier
            - `flatten_results` boolean — A flag that indicates whether to flatten results or not
            - `type` 'bigquery_sql_script', required
          - BigQuerySqlQueryStep — BigQuery SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `use_standard_sql` boolean — A flag that indicates whether to use standard SQL or not
            - `query_priority` 'interactive' | 'batch' — Enum for BigQuery query priority
            - `maximum_billing_tier` integer, nullable — The maximum billing tier
            - `flatten_results` boolean — A flag that indicates whether to flatten results or not
            - `type` 'bigquery_sql_query', required
            - `target_settings` union, required
              - …
          - DatabricksSqlScriptStep — Databricks SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'databricks_sql_script', required
            - `sql_query` string, required
          - DatabricksSqlQueryStep — Databricks SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'databricks_sql_query', required
            - `sql_query` string, required
            - `target_settings` union, required
              - …
          - RedshiftDataframeStep — Dataframe Redshift Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'redshift_dataframe', required
            - `dataframe_name` string, required
            - `target_properties` RedshiftTargetTableWithoutMappingProperties, required — Redshift Target Table Properties Schema
              - …
          - RedshiftSqlScriptStep — Redshift SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'redshift_sql_script', required
            - `sql_query` string, required
            - `keep_schema_binding_view` boolean
          - RedshiftSqlQueryStep — SQL Query Redshift Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'redshift_sql_query', required
            - `sql_query` string, required
            - `keep_schema_binding_view` boolean
            - `target_settings` union, required
              - …
      - `properties_type` 'logic'
  - `schedulers` RiverSchedule[] — An object containing the schedule settings. Currently support only one scheduler
    - `cron_expression` string, nullable — The cron expression of the river entity.
    - `is_enabled` boolean — The is enabled of the river.
  - `cross_id` string, nullable — The cross_id of the river to be deployed.
  - `deployment_definition` object, nullable — The deployment definition of the river to be deployed.
  - `account_id` string, nullable — The account id.
  - `environment_id` string, nullable — The environment id.
  - `environment_name` string, nullable — The name of the environment.

## Response `201`

Successful Response

- RiverModel — River properties to return
  - `cross_id` string, required — The river cross id.
  - `account_id` string, required — The account id.
  - `kind` 'sub_river' | 'main_river' — River kind
  - `type` 'source_to_target' | 'actions' | 'logic' | 'connector_executor', required — All of the EXTERNAL river types
  - `name` string, required — The name of the river.
  - `environment_id` string, required — The environment cross id.
  - `environment_name` string, required — The environment name.
  - `group_id` string, required — The group id.
  - `group_name` string, required — The group name.
  - `metadata` RiverMetadataExtended, required — Extended RiverMetadata to be returned with the GET
    - `description` string, nullable — The description of the river.
    - `river_status` 'active' | 'disabled' — River status enum. Used in the is_enabled field which is part of the river properties. Disabled status for a river means the river cannot be executed while active status river can.
    - `current_version_id` string, nullable — The current version ID of the river.
    - `created_by` string, nullable — The User that created the river.
    - `last_updated_by` string, required — The User that last updated the river.
    - `created_at` string, date-time, required — The date the river was created.
    - `last_updated_at` string, date-time, required — The date the river was last updated.
    - `is_deleted` boolean — Indication if the river was deleted
  - `properties` union, required — The river properties, will change according to the river type.
    - SourceToTargetRiverProperties — Source to target River properties that is being used for GET purposes
      - `properties_type` 'source_to_target'
      - `source` SourceSettings, required — Source settings properties to return.
        - `name` 'activecampaign' | 'adaptive_insights' | 'adjust' | 'adobe_ads' | 'adobe_analytics' | 'adroll' | 'airtable' | 'amplitude' | 'anaplan' | 'apple_search_ads' | 'appsflyer' | 'appstore_apps_analytics' | 'appstore_connect_sales' | 'aws_billing' | 'bigquery' | 'bing_ads' | 'blob_storage' | 'bluesnap' | 'boomi_for_sap' | 'branch_io' | 'brandwatch' | 'callrail' | 'campaign_manager_360' | 'cellexpert' | 'content_ad' | 'coupa' | 'criteo_marketing' | 'currency_service' | 'datahub' | 'datastore' | 'dear_systems' | 'delta_projects' | 'display_video_360' | 'docebo' | 'elasticsearch' | 'email' | 'facebook_ads' | 'fb_audience' | 'fb_social' | 'freshservice' | 'ftp' | 'gadwords' | 'gcs' | 'genesys' | 'gmp365' | 'google_ad_manager' | 'google_ads' | 'google_analytics' | 'google_search_console' | 'google_sheets' | 'gplay' | 'greenhouse' | 'greenhouse_legacy' | 'harvest' | 'hasoffers' | 'hibob' | 'hivestack' | 'hubspot' | 'hubspot_legacy' | 'impact_radius' | 'innovid' | 'instagram_social' | 'intercom' | 'ironsource' | 'jira' | 'jwplayer' | 'jwplayer_analytics' | 'kantata' | 'klaviyo' | 'klaviyo_legacy' | 'kochava' | 'linkedin_ads' | 'linkedin_social' | 'mariadb' | 'marketo' | 'mixpanel' | 'moat' | 'mobileaction' | 'monday' | 'mongodb' | 'mssql' | 'mysql' | 'netsuite' | 'netsuite_analytics' | 'netsuite_reporting' | 'netsuite_restlets' | 'optimove' | 'oracle' | 'outbrain' | 'pardot' | 'paypal_reports' | 'pendo' | 'pepperjam' | 'pinterest' | 'pipedrive' | 'postgresql' | 'quickbooks' | 'recharge' | 'recurly' | 'reddit_ads' | 'redshift' | 'revcontent' | 's3' | 'sage_intacct' | 'salesforce' | 'sapconcur' | 'search_ads' | 'search_ads_360_reporting' | 'sendgrid' | 'servicenow' | 'sf_marketing' | 'sftp' | 'shareasale' | 'sharepoint' | 'shiphero' | 'shopify' | 'shopify_graphql' | 'snapchat_ads' | 'snowflake' | 'social_studio' | 'stack_adapt' | 'stripe' | 'surveygizmo' | 'surveymonkey' | 'taboola' | 'the_trade_desk' | 'tiktok' | 'trendkite' | 'twitter_ads' | 'vertica' | 'yahoo_ads' | 'yandex' | 'yotpo' | 'youtube_reporting' | 'zendesk' | 'zendesk_chat' | 'zendesk_talk', required — The name of the source (correlate to source type in db). When run_type='regular' (custom reports), the source name must be one of the custom-report-supported sources: ['activecampaign', 'adaptive_insights', 'adjust', 'adobe_ads', 'adobe_analytics', 'adroll', 'airtable', 'amplitude', 'anaplan', 'apple_search_ads', 'appsflyer', 'appstore_connect_sales', 'aws_billing', 'bing_ads', 'blob_storage', 'bluesnap', 'branch_io', 'brandwatch', 'callrail', 'campaign_manager_360', 'cellexpert', 'content_ad', 'criteo_marketing', 'currency_service', 'datastore', 'dear_systems', 'delta_projects', 'display_video_360', 'docebo', 'email', 'facebook_ads', 'fb_audience', 'fb_social', 'freshservice', 'ftp', 'gadwords', 'gcs', 'genesys', 'gmp365', 'google_ad_manager', 'google_ads', 'google_analytics', 'google_search_console', 'google_sheets', 'gplay', 'greenhouse', 'greenhouse_legacy', 'harvest', 'hasoffers', 'hibob', 'hivestack', 'hubspot', 'hubspot_legacy', 'impact_radius', 'innovid', 'instagram_social', 'intercom', 'ironsource', 'jira', 'jwplayer', 'jwplayer_analytics', 'kantata', 'klaviyo', 'klaviyo_legacy', 'kochava', 'linkedin_ads', 'linkedin_social', 'marketo', 'mixpanel', 'moat', 'mobileaction', 'monday', 'netsuite', 'netsuite_reporting', 'netsuite_restlets', 'optimove', 'outbrain', 'pardot', 'paypal_reports', 'pendo', 'pepperjam', 'pinterest', 'pipedrive', 'quickbooks', 'recharge', 'recurly', 'reddit_ads', 'revcontent', 's3', 'sage_intacct', 'search_ads', 'search_ads_360_reporting', 'sendgrid', 'servicenow', 'sf_marketing', 'sftp', 'shareasale', 'sharepoint', 'shiphero', 'shopify', 'snapchat_ads', 'social_studio', 'stack_adapt', 'stripe', 'surveygizmo', 'surveymonkey', 'taboola', 'the_trade_desk', 'tiktok', 'trendkite', 'twitter_ads', 'yahoo_ads', 'yandex', 'yotpo', 'youtube_reporting', 'zendesk', 'zendesk_chat', 'zendesk_talk'].
        - `connection_id` string, nullable — The connection ID of this source.
        - `connection_name` string, nullable — The connection name of this source.
        - `run_type` union — The run type of this source.
          - 'custom' | 'custom_query' | 'multi_tables' | 'legacy' | 'predefined_report' | 'regular' — River run types
          - string
        - `cdc_settings` union — The CDC settings of this source.
          - MysqlSourceCDCSettings — Mysql Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'mysql' — The data source id of this source
          - PostgresSourceCDCSettings — Postgres Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'postgres' — The data source id of this source
            - `custom_replication_slot` string, nullable — The custom replication slot of this source
            - `custom_publication` string, nullable — The custom publication of this source
          - OracleSourceCDCSettings — Oracle Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'oracle' — The data source id of this source
          - MongoDBSourceCDCSettings — MongoDB Source CDC settings properties.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'mongodb' — The data source id of this source
          - MSSQLSourceCDCSettings — MSSQL Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'mssql' — The data source id of this source
          - BoomiForSapCDCSettings — Boomi for SAP Source CDC settings properties to return.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'boomi_for_sap' — The data source id of this source
          - DataHubCDCSettings — DataHub Source CDC settings.
            - `default_tables_migration_option` 'SKIP_INITIAL_MIGRATION' | 'RUN_INITIAL_MIGRATION' — Each river can have a few options when it comes to migration of tables 1. skip_initial_migration: will mean that the tables will inherit the status from the river and skip the migration 2. run_initial_migration: (default for most cases) will mean that tables will fully migrate in the first run
            - `include_snapshot_tables` boolean — Indicates whether to take a snapshot of the source table before starting CDC.
            - `datasource_id` 'datahub' — The data source id of this source
        - `additional_settings` object — The additional settings of this source. For blueprint sources, carries the global `interface_parameters` shared across all reports.
        - `custom_query_source_settings` CustomQuerySourceSettings — Custom query source settings for database sources. Used when run_type is 'custom_query' to define the SQL query and extraction settings. Reuses DateRange, RunningNumber, and Epoch from base_river.py for consistency.
          - `query` string, required — The custom SQL query to execute
          - `array_size` integer, nullable — Array size for batch fetching
          - `exporter_chunk_size` integer, nullable — Chunk size for data export
          - `incremental_type` 'datetime' | 'runningnumber' | 'epoch' | 'row_version' — Interval types options of the incremental field for rivers that are running incrementally
          - `incremental_field` string, nullable — Field name to use for incremental extraction
          - `date_range` DateRange — Date range when using incremental loading method.
            - `time_period` 'custom' | 'yesterday' | 'today' | 'last_7_days' | 'last_365_days' | 'week_to_date' | 'previous_week' | 'previous_week_to_date' | 'last_week' | 'month_to_date' | 'previous_month' | 'previous_month_to_date' | 'year_to_date' — River supported time periods
            - `start_date` string, date-time, nullable — The start date of the river entity.
            - `end_date` string, date-time, nullable — The end date of the river entity.
            - `days_back` union — The days back of the river entity. Fractions of a day are allowed.
              - …
            - `include_end_value` boolean — Whether to include or exclude the end_value in the date range
            - `split_time_intervals` SplitTimeIntervals — Settings for splitting to time intervals when using incremental loading method by dates.
              - …
            - `update_increment_on_failures` boolean — If to update the start date for the next extraction even if the current extraction is unsuccessful.
            - `utc_offset` integer, nullable — Whether to appy offset to the end date
            - `round_up` boolean, nullable — Whether to round up the end date to the next interval
          - `running_number` RunningNumber — Running number when using incremental on a running number and not date time.
            - `include_end_value` boolean, nullable — Whether to include or exclude the end_value in the range
            - `rows_in_chunk` integer, nullable — The rows in chunk of the river entity.
            - `start_value` union — The start value of the river entity.
              - …
            - `end_value` union — The end value of the river entity.
              - …
          - `epoch` Epoch — Epoch dates when using incremental on a epoch dates
            - `start_value` number, nullable — The start value of the river entity.
            - `end_value` number, nullable — The end value of the river entity.
            - `include_end_value` boolean — Whether to include or exclude the end_value in the epoch range
          - `row_version` RowVersion — Row version settings for incremental extraction. Only available for MSSQL and PostgreSQL sources. Has the same structure as RunningNumber but uses ROW_VERSION interval type.
            - `include_end_value` boolean, nullable — Whether to include or exclude the end_value in the range
            - `rows_in_chunk` integer, nullable — The rows in chunk of the river entity.
            - `start_value` string, nullable — The start value of the river entity.
            - `end_value` string, nullable — The end value of the river entity.
          - `extract_method` string, nullable — Extract method (incremental or full)
      - `target` union, required — The target of the river.
        - SnowflakeTargetSettings — Snowflake target settings properties to return.
          - `name` 'snowflake' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' — Enum for merge methods for Snowflake target
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `database_name` string, nullable — The database name of this target
          - `schema_name` string, nullable — The schema name of this target
        - BigQueryTargetSettings — BigQuery target settings properties to return.
          - `name` 'bigquery' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `dataset_id` string, nullable — The dataset ID of this target
          - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
          - `auto_detect_datatype_changes` boolean, nullable — If the target should auto detect datatype changes
        - RedshiftTargetSettings — Redshift target settings properties to return.
          - `name` 'redshift' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
        - S3TargetSettings — S3 target settings properties to return.
          - `name` 's3' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `path` string, required — The path of the file zone entity.
          - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
          - `fz_loading_mode` 'auto-period' | 'custom' — Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.
          - `convert_file_type` 'parquet' — Conversion service types of file conversions. The conversion service supports multiple conversion including CSV and JSON but the back only support PARQUET for now Once the back adds support for the other file types we can add them here
          - `bucket_name` string, required — The bucket name of the file zone entity.
        - EmailTargetSettings — Email target settings properties to return.
          - `name` 'target_email' — The name of the target
          - `email_list` string[], required — A list of email addresses to send the data to.
        - BlobStorageSettings — Azure Blob Storage target settings properties to return.
          - `name` 'blob_storage' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `path` string, required — The path of the file zone entity.
          - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
          - `fz_loading_mode` 'auto-period' | 'custom' — Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.
          - `container_name` string, required — The container name of the file zone entity.
          - `convert_file_type` 'parquet' — Conversion service types of file conversions. The conversion service supports multiple conversion including CSV and JSON but the back only support PARQUET for now Once the back adds support for the other file types we can add them here
        - GcsTargetSettings — GCS target settings properties to return.
          - `name` 'gcs' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `path` string, required — The path of the file zone entity.
          - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
          - `fz_loading_mode` 'auto-period' | 'custom' — Controls how the storage path is configured. 'auto-period' uses automatic period-based paths, 'custom' allows user-defined paths.
          - `bucket_name` string, required — The bucket name of the file zone entity.
        - DatabricksTargetSettings — Databricks target settings properties to return.
          - `name` 'databricks' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `catalog_name` string, nullable — The catalog name of this target
          - `schema_name` string, nullable — The schema name of this target
          - `store_in_custom_location` boolean, nullable — If the target should store in a custom location
          - `custom_location_type` 'DBFS' | 'EXTERNAL' — The custom location type for databricks
          - `custom_location_path` string, nullable — The table will be stored in Databricks File System (DBFS) or in external location
        - AzureSynapseAnalyticsTargetSettings — Azure Synapse Analytics target settings properties to return.
          - `name` 'azure_synapse_analytics' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
          - `table_type` 'columnstore' | 'rowstore' — Azure Synapse table types
        - AthenaTargetSettings — Athena target settings properties to return.
          - `name` 'athena' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The path to file
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
          - `bucket_name` string, nullable — The bucket name
          - `replace_invalid_utf_characters` boolean, nullable — Replace invalid utf-8 characters with Unicode replacement character
          - `truncate_columns` boolean, nullable — Cut varchar values which are longer than the column definition
        - AzureSqlTargetSettings — Azure SQL target settings properties to return.
          - `name` 'azure_sql' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' | 'insert_on_conflict' — Enum for merge methods
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
        - PostgresTargetSettings — Postgres target settings properties to return.
          - `name` 'postgres_rds' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'delete_insert' | 'insert_on_conflict' — Enum for merge methods for Postgres target
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `schema_name` string, nullable — The schema name of this target
          - `analyze_table` boolean — Analyze the tables after the load process
        - KnowledgeHubTargetSettings — Knowledge Hub target settings. Only needs knowledge_base_id (like Snowflake database+schema) and loading_method. Source config and schema mapping are handled by KH at activation/ingestion time.
          - `name` 'knowledge_hub' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `merge_method` string, nullable
          - `loading_method` 'append' | 'overwrite' | 'merge' — Enum for loading modes for the Knowledge Hub target Merge upserts on document id - it needs no match keys, because the matching is KH's own. Append and overwrite stay because rivers are configured with them and the values have to be representable when they are read back.
          - `table_name` string — Not used for KH.
          - `target_prefix` string — Not used for KH.
          - `is_ordered_merge_key` boolean
          - `order_expression` string, nullable
          - `additional_settings` object
          - `repository_id` string, nullable — The Knowledge Hub repository ID.
          - `knowledge_base_id` string, nullable — The Knowledge Hub knowledge base ID to load data into.
          - `kh_table_mappings` union — Per-table KH source/mapping IDs (set during activation). List of {table_key, source_id, schema_mapping_id} entries; the legacy dict form (keyed by table_key) is also accepted.
            - object[]
              - …
            - object
        - OneLakeTargetSettings — OneLake (Microsoft Fabric) target settings properties to return.
          - `name` 'onelake' — The name of the target
          - `connection_id` string, nullable — The connection ID of this target
          - `connection_name` string, nullable — The connection name of this target
          - `single_table_settings` SingleTableSettings — Single table settings for database targets. Used to define table-level configuration including column mappings, match keys, and target-specific settings. All fields are optional to support different target types.
            - `escape_character` string, nullable — Escape characters allow special characters in strings to be interpreted as literal characters
            - `match_keys` string[], nullable — Key columns for merge operations
            - `mapping` object[], nullable — Column definitions for the table
              - …
            - `sql_dialect` 'standard' | 'legacy' — BQ SQL dialects in table level
            - `split_tables` string, nullable — Split tables configuration
            - `split_data` string, nullable — The expression by which to split the tables if split tables by expression is chosen
            - `split_interval` 'hourly' | 'daily' | 'monthly' | 'yearly' — Split BQ tables interval options for example, split by days
            - `partition_type` 'TIMESTAMP' | 'DATE' — BQ partition types, these are the builtin BQ partitions
            - `partition_granularity` 'HOUR' | 'DAY' | 'MONTH' | 'YEAR' — BQ partition by timestamp granularity options, for example a daily partition
            - `distribution_method` union — The distribution method for the table
              - …
          - `table_name` string, nullable — The table name of this target (only relevant for non multi table source to target rivers)
          - `target_prefix` string, nullable — The table prefix of this target (only relevant for multi table source to target rivers)
          - `is_ordered_merge_key` boolean, nullable — If the table got any and should consider filter out duplicates data between source filemerge process(by order).
          - `order_expression` string, nullable — The order expression of the river entity.
          - `loading_method` 'overwrite' | 'append' | 'merge', required — Enum for loading modes
          - `merge_method` 'switch_tables' | 'delete_insert' | 'merge' — Enum for merge methods for Snowflake target
          - `file_zone_settings` RiverFileZoneSettings — River File zone settings properties to return.
            - `path` string, required — The path of the file zone entity.
            - `bucket_name` string, nullable — The bucket name of the file zone entity.
            - `partitioned_kind` 'by_day' | 'by_hour' | 'by_minute', required — Partitioned kind for storages
            - `fz_loading_mode` string — File zone loading mode
          - `file_path_destination` string, nullable — The file name and path
          - `additional_settings` object — The additional settings of this target
          - `workspace_name` string, nullable — The Fabric workspace this target writes to
          - `lakehouse_name` string, nullable — The Fabric lakehouse this target writes to
          - `schema_name` string, nullable — The schema name of this target
      - `schemas` Schema[] — The schemas of the river entity
        - `name` string, required — The name of the schema
        - `tables` union[]
          - union — The tables of the schema entity
            - DatabaseTableInput — Table properties which define the db table data This schema is being used for read
              - …
            - BasePredefinedReportTableInput — A base predefined-report table (READ) — discriminated union member.
              - …
    - ActionProperties — Action properties which define the action river properties
      - `properties_type` 'actions'
    - LogicProperties — The logic river properties
      - `logic_steps` union[], required
        - union
          - RunOnceContainer — Run Once Container Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the container is enabled or not
            - `container_id` string — The container id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'run_once', required
            - `is_parallel` boolean — A flag that indicates whether the container is parallel or not
            - `steps` union[], required
              - …
          - LoopContainer — Loop Container Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the container is enabled or not
            - `container_id` string — The container id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'loop', required
            - `steps` union[], required
              - …
            - `loop_over_value` string, required — The loop over value
            - `loop_over_variable_name` string[], required — The loop over variable name
          - ConditionContainer — Condition Container Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the container is enabled or not
            - `container_id` string — The container id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'condition', required
            - `steps` ConditionInnerContainer[], required
              - …
          - RunRiverStep — Run river step schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'river', required
            - `river_id` string, required
            - `input_variables` object
          - ActionStep — Action step schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'action', required
            - `action_id` string, required
            - `input_variables` object
            - `output_variables` object
            - `interval_variables` object
            - `connection_id` string, nullable — The action connection id
          - LogicodeStep — logicode step schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `type` 'logicode', required
            - `code_type` 'python'
            - `file_id` string, required
            - `logicode_size` 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL', required — Enum for logic code size
            - `additional_packages` string[] — Additional packages to install
          - AthenaSqlScriptStep — Athena SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'athena_sql_script', required
          - AthenaSqlQueryStep — Athena SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'athena_sql_query', required
            - `target_settings` union, required
              - …
          - AzureSynapseSqlScriptStep — Azure Synapse SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_synapse_sql_script', required
          - AzureSynapseSqlQueryStep — Azure Synapse SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_synapse_sql_query', required
            - `target_settings` union, required
              - …
          - AzureSQLSqlScriptStep — Azure SQL SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_sql_script', required
          - AzureSQLSqlQueryStep — Azure SQL SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'azure_sql_query', required
            - `target_settings` union, required
              - …
          - PostgresSqlScriptStep — Postgres SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'postgres_sql_script', required
          - PostgresSqlQueryStep — Postgres SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `type` 'postgres_sql_query', required
            - `target_settings` union, required
              - …
          - SnowflakeDataframeStep — Dataframe Snowflake Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'snowflake_dataframe', required
            - `dataframe_name` string, required
            - `target_properties` SnowflakeTargetTableWithoutMappingProperties, required — Snowflake Target Table Without Mapping Properties Schema
              - …
          - SnowflakeSqlQueryStep — Snowflake SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'snowflake_sql_query', required
            - `sql_query` string, required
            - `target_settings` union, required
              - …
          - SnowflakeSqlScriptStep — Snowflake SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'snowflake_sql_script', required
            - `sql_query` string, required
            - `auto_commit` boolean — A flag that indicates whether to auto commit or not
          - BigQuerySqlScriptStep — BigQuery SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `use_standard_sql` boolean — A flag that indicates whether to use standard SQL or not
            - `query_priority` 'interactive' | 'batch' — Enum for BigQuery query priority
            - `maximum_billing_tier` integer, nullable — The maximum billing tier
            - `flatten_results` boolean — A flag that indicates whether to flatten results or not
            - `type` 'bigquery_sql_script', required
          - BigQuerySqlQueryStep — BigQuery SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `sql_query` string, required
            - `use_standard_sql` boolean — A flag that indicates whether to use standard SQL or not
            - `query_priority` 'interactive' | 'batch' — Enum for BigQuery query priority
            - `maximum_billing_tier` integer, nullable — The maximum billing tier
            - `flatten_results` boolean — A flag that indicates whether to flatten results or not
            - `type` 'bigquery_sql_query', required
            - `target_settings` union, required
              - …
          - DatabricksSqlScriptStep — Databricks SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'databricks_sql_script', required
            - `sql_query` string, required
          - DatabricksSqlQueryStep — Databricks SQL Query Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'databricks_sql_query', required
            - `sql_query` string, required
            - `target_settings` union, required
              - …
          - RedshiftDataframeStep — Dataframe Redshift Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'redshift_dataframe', required
            - `dataframe_name` string, required
            - `target_properties` RedshiftTargetTableWithoutMappingProperties, required — Redshift Target Table Properties Schema
              - …
          - RedshiftSqlScriptStep — Redshift SQL Script Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'redshift_sql_script', required
            - `sql_query` string, required
            - `keep_schema_binding_view` boolean
          - RedshiftSqlQueryStep — SQL Query Redshift Step Schema
            - `name` string, required
            - `is_enabled` boolean — A flag that indicates whether the step is enabled or not
            - `step_id` string — The step id
            - `disable_errors` boolean — A flag that indicates whether to disable errors or not
            - `connection_id` string, required
            - `type` 'redshift_sql_query', required
            - `sql_query` string, required
            - `keep_schema_binding_view` boolean
            - `target_settings` union, required
              - …
      - `properties_type` 'logic'
  - `settings` RiverSettings — River settings properties to return.
    - `run_timeout_seconds` integer, nullable — The timeout of the river in seconds. Null activates automatic timeout calculation mode.
    - `notification` NotificationSettings — Notification settings properties for the entire river (define what to do on warning, error, failure/timeout)
      - `warning` RiverNotificationReport — River Notification Report properties
        - `email` string, required — Email address to send the report to in case of failure.
        - `is_enabled` boolean — A flag that indicates whether the notification is enabled.
        - `execution_time_limit_seconds` integer, nullable — The execution time limit in seconds of the river before reporting, only relevant for on run_threshold.
      - `failure` RiverNotificationReport — River Notification Report properties
        - `email` string, required — Email address to send the report to in case of failure.
        - `is_enabled` boolean — A flag that indicates whether the notification is enabled.
        - `execution_time_limit_seconds` integer, nullable — The execution time limit in seconds of the river before reporting, only relevant for on run_threshold.
      - `run_threshold` RiverNotificationReport — River Notification Report properties
        - `email` string, required — Email address to send the report to in case of failure.
        - `is_enabled` boolean — A flag that indicates whether the notification is enabled.
        - `execution_time_limit_seconds` integer, nullable — The execution time limit in seconds of the river before reporting, only relevant for on run_threshold.
    - `schedule_retry_config` ScheduleRetryConfig — Scheduled-run retry configuration of a river, stored verbatim under shared_params.schedule_retry_config.
      - `enable_scheduler_retry` boolean — Whether failed scheduled runs of this river are retried automatically. Takes effect when the scheduler retry feature is released.
      - `retry_count` integer, nullable — Number of retry attempts for a failed scheduled run. Null uses the platform default.
      - `delay_between_retries` integer, nullable — Delay between retry attempts, in minutes. Null uses the platform default.
  - `schedulers` RiverSchedule[], nullable — River schedulers.
    - `cron_expression` string, nullable — The cron expression of the river entity.
    - `is_enabled` boolean — The is enabled of the river.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/rivery/apis/boomi-data-integration-api.md) · [All operations](https://skmtc.net/rivery/apis/boomi-data-integration-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rivery/boomi-data-integration-api/revisions/cd4c91e0e6c2/schema)
