- [HTTP request](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#body.PATH_PARAMETERS)
- [Request body](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#body.request_body)
  - [JSON representation](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#body.response_body)
- [Authorization scopes](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#body.aspect)
- [Examples](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#examples)
- [Try it!](https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/projects.instances/startExternalSync#try-it)

Start External primary instance migration.

### HTTP request

`POST https://sqladmin.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/startExternalSync`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `project` | `string` ID of the project that contains the instance. |
| `instance` | `string` Cloud SQL instance ID. This does not include the project ID. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "syncMode": enum (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/ExternalSyncMode`), "skipVerification": boolean, "syncParallelLevel": enum (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/ExternalSyncParallelLevel`), "migrationType": enum (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/MigrationType`), // Union field `sync_config` can be only one of the following: "mysqlSyncConfig": { object (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/MySqlSyncConfig`) } // End of list of possible types for union field `sync_config`. } ``` |

| Fields ||
|---|---|
| `syncMode` | ``enum (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/ExternalSyncMode`)`` External sync mode. |
| `skipVerification` | `boolean` Whether to skip the verification step (VESS). |
| `syncParallelLevel` | ``enum (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/ExternalSyncParallelLevel`)`` Optional. Parallel level for initial data sync. Currently only applicable for MySQL. |
| `migrationType` | ``enum (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/MigrationType`)`` Optional. MigrationType configures the migration to use physical files or logical dump files. If not set, then the logical dump file configuration is used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL. |
| Union field `sync_config`. `sync_config` can be only one of the following: ||
| `mysqlSyncConfig` | ``object (`https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/MySqlSyncConfig`)`` MySQL-specific settings for start external sync. |

### Response body

If successful, the response body contains an instance of `https://docs.cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/operations#Operation`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/cloudsql`
- `
  https://www.googleapis.com/auth/cloud-platform`
- `
  https://www.googleapis.com/auth/sqlservice.admin`

For more information, see the [Authentication Overview](https://docs.cloud.google.com/docs/authentication#authorization-gcp).