Move a Connection Beta
Moves a connection from its current destination group to a different destination group. The connection must be paused before calling this endpoint. Use sync_behavior to control how data syncs after the move: CONTINUE preserves the existing sync cursor so the connection resumes incremental sync from where it left off; BACKFILL resets the cursor and triggers a historical sync; CONTINUE_WITH_DATA preserves the cursor and additionally migrates existing data to the new destination by starting an asynchronous job. Use the job_id returned in the response to monitor progress via the move-connection-job-status endpoint. CONTINUE_WITH_DATA is supported only when moving a connection from Snowflake Native tables to a MDLS-linked Snowflake Lakehouse destination.
Request schema
Path parameters
The unique identifier of the connection. Retrieve it from the id field in the List All Connections response, or from the id field returned when you Create a Connection.
Header parameters
HTTP: basicAuth
HTTP AuthorizationScheme: basic
Request
The unique identifier of the destination group to move the connection to. Retrieve group IDs from the List All Groups endpoint.
Controls how data syncs after the move. Use CONTINUE to preserve the existing sync cursor so the connection resumes incremental sync from where it left off. Use BACKFILL to reset the cursor and trigger a historical sync. Use CONTINUE_WITH_DATA to preserve the cursor and additionally migrate existing data to the new destination by starting an asynchronous job—use the job_id returned in the response to monitor progress. CONTINUE_WITH_DATA is supported only when moving a connection from Snowflake Native tables to a MDLS-linked Snowflake Lakehouse destination.
Set to true to acknowledge move warnings and confirm that you want to proceed. Required if the connector's credentials depend on the current source group, or if the connection and its current destination support unstructured file replication but the target destination doesn't. If you don't provide the confirmation, the API returns an error describing the required action and the functionality you'd lose. Default: false
POST /v1/connections/4107c213907114059a5544ad8fa66c52/move HTTP/1.1 Accept: application/json;version=2 Authorization: BasicContent-Type: application/json Host: api.fivetran.com Content-Length: 105 { "destination_group_id": "destination_group_id", "sync_behavior": "CONTINUE", "force_move": true }
Responses
200
Response status code
Response status text
The unique identifier of the connection that was moved.
The unique identifier of the destination group the connection was moved from.
The unique identifier of the destination group to move the connection to. Retrieve group IDs from the List All Groups endpoint.
Controls how data syncs after the move. Use CONTINUE to preserve the existing sync cursor so the connection resumes incremental sync from where it left off. Use BACKFILL to reset the cursor and trigger a historical sync. Use CONTINUE_WITH_DATA to preserve the cursor and additionally migrate existing data to the new destination by starting an asynchronous job—use the job_id returned in the response to monitor progress. CONTINUE_WITH_DATA is supported only when moving a connection from Snowflake Native tables to a MDLS-linked Snowflake Lakehouse destination.
The timestamp of when the connection was moved. Null when sync_behavior is CONTINUE_WITH_DATA (since the move runs asynchronously).
The unique identifier of the move job. Use this value to check the status of the move operation.
{ "code": "Success", "message": "Connection moved successfully", "data": { "connection_id": "connection_id", "source_group_id": "source_group_id", "destination_group_id": "destination_group_id", "sync_behavior": "CONTINUE", "moved_at": "2024-01-01T00:00:00Z", "job_id": "01234567-89ab-cdef-0123-456789abcdef" } }
Limitations
General requirements
The following conditions must be met before you can move a connection:
- The connection must be paused.
- The connection must not have transformations.
- The connection must not use a hybrid deployment destination.
- The connection's schema name must not already exist in the target destination group.
Database connector requirements
For database connectors, you can only use BACKFILL when moving a connection across regions or cloud providers. CONTINUE and CONTINUE_WITH_DATA require the source and destination groups to be in the same region and cloud provider.
CONTINUE_WITH_DATA requirements
When you use the CONTINUE_WITH_DATA sync behavior, the following additional requirements apply:
- You can use
CONTINUE_WITH_DATAonly to move a connection from a Snowflake destination that uses Native tables to a Snowflake destination that uses Lakehouse tables. - The source and target Snowflake destinations must use the same Host and database.
- The connection must not have any transformations for dbt Core. However,
CONTINUE_WITH_DATAsupports Quickstart transformations. As part of the move, Fivetran re-points the Quickstart transformations to the target destination's group. Each Quickstart project must reference only the connection you are moving. - The connection must not have any incomplete schema migrations.
- The connection must not use the Source naming convention.
- You can move only one connection at a time.
- The connection's tables in the source destination must not have Snowflake masking policies that apply to the Fivetran role. If a masking policy applies to the Fivetran role, we copy the masked values to the target destination instead of the original values.
- While the migration job has a
PENDINGorIN_PROGRESSstatus, you cannot unpause, sync, or re-sync the connection. Wait until the job reachesSUCCESSorFAILEDbefore continuing.
We cannot reliably detect masking policies, so the Move a Connection endpoint does not fail when a table has one. Snowflake shows us only the policies that the Fivetran role has been granted access to. We may not detect policies that another role, such as ACCOUNTADMIN, created and didn't grant to the Fivetran role, or policies that are applied through tags. Before you move the connection, check your tables for masking policies and exclude the Fivetran role from them.
Lakehouse tables don't support partitioning or Snowflake Time Travel. After you move a connection with CONTINUE_WITH_DATA, you can't use these features on the connection's tables in the target destination.
For more information, see our How to Migrate a Connection from Snowflake Native Tables to Lakehouse Tables Using Fivetran REST API tutorial.
Connectors with credential dependencies
Some connectors have credentials that depend on the current destination group — for example, connectors that use an AWS IAM trust policy or a GCP service account tied to the group. If you attempt to move such a connection, the API returns a 400 error with a message describing the required action. After you complete the required action, retry the request with "force_move": true.
Connectors that support unstructured file replication
The API returns a 400 error if all of the following conditions apply, whether or not you've enabled unstructured file replication for the connection:
- The connector supports unstructured file replication.
- The connection's current destination supports unstructured file replication.
- The target destination doesn't support unstructured file replication.
If the connection replicates unstructured files, Fivetran doesn't migrate them, and unstructured file replication is unavailable for the connection after the move. To proceed, retry the request with "force_move": true.
If the connection also requires force_move because of credential dependencies, the error message describes both, and a single retry with "force_move": true acknowledges both.