---
title: "POST /v1/{+name}:verify"
method: POST
path: "/v1/{+name}:verify"
tags: ["projects"]
---

# POST /v1/{+name}:verify

`POST /v1/{+name}:verify`

Verify a migration job, making sure the destination can reach the source and that all configuration and prerequisites are met.

## Path parameters

- `name` string, required

## Request body

- VerifyMigrationJobRequest — Request message for 'VerifyMigrationJob' request.
  - `updateMask` string, google-fieldmask — Optional. Field mask is used to specify the changed fields to be verified. It will not update the migration job.
  - `migrationJob` MigrationJob — Represents a Database Migration Service migration job object.
    - `displayName` string — The migration job display name.
    - `mysqlHomogeneousConfig` MySqlHomogeneousConfig — Configuration for MySQL to MySQL migrations.
      - `isPrimaryDestination` boolean — Optional. Whether the destination for the migration job is a primary instance.
    - `satisfiesPzi` boolean — Output only. Reserved for future use.
    - `objectsConfig` MigrationJobObjectsConfig — Configuration for the objects to be migrated.
      - `sourceObjectsConfig` SourceObjectsConfig — List of configurations for the source objects to be migrated.
        - `objectsSelectionType` 'OBJECTS_SELECTION_TYPE_UNSPECIFIED' | 'ALL_OBJECTS' | 'SPECIFIED_OBJECTS' — Optional. The objects selection type of the migration job.
        - `objectConfigs` SourceObjectConfig[] — Optional. The list of the objects to be migrated.
          - `objectIdentifier` SourceObjectIdentifier — An identifier for the Migration Job Object.
            - `database` string — Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier.
            - `table` string — Optional. The table name. This will be required only if the object is a level below database or schema.
            - `type` 'MIGRATION_JOB_OBJECT_TYPE_UNSPECIFIED' | 'DATABASE' | 'SCHEMA' | 'TABLE' — Required. The type of the migration job object.
            - `schema` string — Optional. The schema name. This will be required only if the object uses a schema name as part of its unique identifier.
    - `type` 'TYPE_UNSPECIFIED' | 'ONE_TIME' | 'CONTINUOUS' — Required. The migration job type.
    - `sqlserverToPostgresConfig` SqlServerToPostgresConfig — Configuration for heterogeneous **SQL Server to Cloud SQL for PostgreSQL** migrations.
      - `sqlserverSourceConfig` SqlServerSourceConfig — Configuration for SQL Server as a source in a migration.
        - `maxConcurrentCdcConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the source for CDC phase.
        - `maxConcurrentFullDumpConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the source for full dump phase.
        - `cdcStartPosition` string — Optional. The log sequence number (LSN) to start CDC data migration from.
        - `skipFullDump` boolean — Optional. Whether to skip full dump or not.
      - `postgresDestinationConfig` PostgresDestinationConfig — Configuration for Postgres as a destination in a migration.
        - `maxConcurrentConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the destination for data migration.
        - `transactionTimeout` string, google-duration — Optional. Timeout for data migration transactions.
    - `conversionWorkspace` ConversionWorkspaceInfo — A conversion workspace's version.
      - `name` string — The resource name (URI) of the conversion workspace.
      - `commitId` string — The commit ID of the conversion workspace.
    - `labels` object — The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of "key": "value" pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
    - `phase` 'PHASE_UNSPECIFIED' | 'FULL_DUMP' | 'CDC' | 'PROMOTE_IN_PROGRESS' | 'WAITING_FOR_SOURCE_WRITES_TO_STOP' | 'PREPARING_THE_DUMP' | 'READY_FOR_PROMOTE' — Output only. The current migration job phase.
    - `oracleToPostgresConfig` OracleToPostgresConfig — Configuration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** and **Oracle to AlloyDB for PostgreSQL** migrations.
      - `postgresDestinationConfig` PostgresDestinationConfig — Configuration for Postgres as a destination in a migration.
        - `maxConcurrentConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the destination for data migration.
        - `transactionTimeout` string, google-duration — Optional. Timeout for data migration transactions.
      - `oracleSourceConfig` OracleSourceConfig — Configuration for Oracle as a source in a migration.
        - `binaryLogParser` BinaryLogParser — Configuration to use Binary Log Parser CDC technique.
          - `logFileDirectories` LogFileDirectories — Configuration to specify the Oracle directories to access the log files.
            - `onlineLogDirectory` string — Required. Oracle directory for online logs.
            - `archivedLogDirectory` string — Required. Oracle directory for archived logs.
          - `oracleAsmLogFileAccess` OracleAsmLogFileAccess — Configuration to use Oracle ASM to access the log files.
        - `cdcStartPosition` string, int64 — Optional. The schema change number (SCN) to start CDC data migration from.
        - `skipFullDump` boolean — Optional. Whether to skip full dump or not.
        - `logMiner` LogMiner — Configuration to use LogMiner CDC method.
        - `maxConcurrentCdcConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the source for CDC phase.
        - `maxConcurrentFullDumpConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the source for full dump phase.
    - `duration` string, google-duration — Output only. The duration of the migration job (in seconds). A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
    - `error` Status — The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
      - `code` integer — The status code, which should be an enum value of google.rpc.Code.
      - `message` string — A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      - `details` object[] — A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `name` string — The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
    - `dumpFlags` DumpFlags — Dump flags definition.
      - `dumpFlags` DumpFlag[] — The flags for the initial dump.
        - `name` string — The name of the flag
        - `value` string — The value of the flag.
    - `endTime` string, google-datetime — Output only. If the migration job is completed, the time when it was completed.
    - `destinationDatabase` DatabaseType — A message defining the database engine and provider.
      - `provider` 'DATABASE_PROVIDER_UNSPECIFIED' | 'CLOUDSQL' | 'RDS' | 'AURORA' | 'ALLOYDB' | 'AZURE_DATABASE' — The database provider.
      - `engine` 'DATABASE_ENGINE_UNSPECIFIED' | 'MYSQL' | 'POSTGRESQL' | 'SQLSERVER' | 'ORACLE' — The database engine.
    - `postgresHomogeneousConfig` PostgresHomogeneousConfig — Configuration for PostgreSQL to PostgreSQL migrations.
      - `isNativeLogical` boolean — Required. Whether the migration is native logical.
      - `maxAdditionalSubscriptions` integer — Optional. Maximum number of additional subscriptions to use for the migration job.
    - `dumpPath` string — The path to the dump file in Google Cloud Storage, in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]). This field and the "dump_flags" field are mutually exclusive.
    - `sourceDatabase` DatabaseType — A message defining the database engine and provider.
      - `provider` 'DATABASE_PROVIDER_UNSPECIFIED' | 'CLOUDSQL' | 'RDS' | 'AURORA' | 'ALLOYDB' | 'AZURE_DATABASE' — The database provider.
      - `engine` 'DATABASE_ENGINE_UNSPECIFIED' | 'MYSQL' | 'POSTGRESQL' | 'SQLSERVER' | 'ORACLE' — The database engine.
    - `vpcPeeringConnectivity` VpcPeeringConnectivity — The details of the VPC where the source database is located in Google Cloud. We will use this information to set up the VPC peering connection between Cloud SQL and this VPC.
      - `vpc` string — The name of the VPC network to peer with the Cloud SQL private network.
    - `postgresToSqlserverConfig` PostgresToSqlServerConfig — Configuration for heterogeneous failback migrations from **PostgreSQL to SQL Server**.
      - `postgresSourceConfig` PostgresSourceConfig — Configuration for Postgres as a source in a migration.
        - `skipFullDump` boolean — Optional. Whether to skip full dump or not.
      - `sqlserverDestinationConfig` SqlServerDestinationConfig — Configuration for SQL Server as a destination in a migration.
        - `maxConcurrentConnections` integer — Optional. Maximum number of connections Database Migration Service will open to the destination for data migration.
        - `transactionTimeout` string, google-duration — Optional. Timeout for data migration transactions.
    - `createTime` string, google-datetime — Output only. The timestamp when the migration job resource was created. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    - `dumpType` 'DUMP_TYPE_UNSPECIFIED' | 'LOGICAL' | 'PHYSICAL' — Optional. The type of the data dump. Supported for MySQL to CloudSQL for MySQL migrations only.
    - `satisfiesPzs` boolean — Output only. Reserved for future use.
    - `staticIpConnectivity` StaticIpConnectivity — The source database will allow incoming connections from the public IP of the destination database. You can retrieve the public IP of the Cloud SQL instance from the Cloud SQL console or using Cloud SQL APIs. No additional configuration is required.
    - `source` string — Required. The resource name (URI) of the source connection profile.
    - `destination` string — Required. The resource name (URI) of the destination connection profile.
    - `state` 'STATE_UNSPECIFIED' | 'MAINTENANCE' | 'DRAFT' | 'CREATING' | 'NOT_STARTED' | 'RUNNING' | 'FAILED' | 'COMPLETED' | 'DELETING' | 'STOPPING' | 'STOPPED' | 'DELETED' | 'UPDATING' | 'STARTING' | 'RESTARTING' | 'RESUMING' — The current migration job state.
    - `filter` string — This field can be used to select the entities to migrate as part of the migration job. It uses AIP-160 notation to select a subset of the entities configured on the associated conversion-workspace. This field should not be set on migration-jobs that are not associated with a conversion workspace.
    - `originalMigrationName` string — Optional. A failback replication pointer to the resource name (URI) of the original migration job.
    - `sqlserverHomogeneousMigrationJobConfig` SqlServerHomogeneousMigrationJobConfig — Configuration for homogeneous migration to Cloud SQL for SQL Server.
      - `useDiffBackup` boolean — Optional. Enable differential backups.
      - `databaseBackups` SqlServerDatabaseBackup[] — Required. Backup details per database in Cloud Storage.
        - `database` string — Required. Name of a SQL Server database for which to define backup configuration.
        - `encryptionOptions` SqlServerEncryptionOptions — Encryption settings for the SQL Server database.
          - `pvkPath` string — Required. Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
          - `certPath` string — Required. Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.
          - `pvkPassword` string — Required. Input only. Password that encrypts the private key.
      - `promoteWhenReady` boolean — Optional. Promote databases when ready.
      - `backupFilePattern` string — Required. Pattern that describes the default backup naming strategy. The specified pattern should ensure lexicographical order of backups. The pattern must define one of the following capture group sets: Capture group set #1 yy/yyyy - year, 2 or 4 digits mm - month number, 1-12 dd - day of month, 1-31 hh - hour of day, 00-23 mi - minutes, 00-59 ss - seconds, 00-59 Example: For backup file TestDB_20230802_155400.trn, use pattern: (?.*)_backup_(?\d{4})(?\d{2})(?\d{2})_(?\d{2})(?\d{2})(?\d{2}).trn Capture group set #2 timestamp - unix timestamp Example: For backup file TestDB.1691448254.trn, use pattern: (?.*)\.(?\d*).trn or (?.*)\.(?\d*).trn
      - `dagConfig` SqlServerDagConfig — Configuration for distributed availability group (DAG) for the SQL Server homogeneous migration.
        - `linkedServer` string — Required. The name of the linked server that points to the source SQL Server instance. Only used by DAG migrations.
        - `sourceAg` string — Required. The name of the source availability group. Only used by DAG migrations.
    - `performanceConfig` PerformanceConfig — Performance configuration definition.
      - `dumpParallelLevel` 'DUMP_PARALLEL_LEVEL_UNSPECIFIED' | 'MIN' | 'OPTIMAL' | 'MAX' — Initial dump parallelism level.
    - `purpose` 'PURPOSE_UNSPECIFIED' | 'MIGRATE' | 'FAILBACK' — Output only. Migration job mode. Migration jobs can be standard forward jobs or failback migration jobs.
    - `updateTime` string, google-datetime — Output only. The timestamp when the migration job resource was last updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
    - `reverseSshConnectivity` ReverseSshConnectivity — The details needed to configure a reverse SSH tunnel between the source and destination databases. These details will be used when calling the generateSshScript method (see https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript) to produce the script that will help set up the reverse SSH tunnel, and to set up the VPC peering between the Cloud SQL private network and the VPC.
      - `vmPort` integer — Required. The forwarding port of the virtual machine (Compute Engine) used as the bastion server for the SSH tunnel.
      - `vpc` string — The name of the VPC to peer with the Cloud SQL private network.
      - `vmIp` string — Required. The IP of the virtual machine (Compute Engine) used as the bastion server for the SSH tunnel.
      - `vm` string — The name of the virtual machine (Compute Engine) used as the bastion server for the SSH tunnel.
    - `cmekKeyName` string — The CMEK (customer-managed encryption key) fully qualified key name used for the migration job. This field supports all migration jobs types except for: * Mysql to Mysql (use the cmek field in the cloudsql connection profile instead). * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection profile instead). * PostgreSQL to AlloyDB (use the kms_key_name field in the alloydb connection profile instead). Each Cloud CMEK key has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/datamigration.md) · [All operations](https://skmtc.dev/google/apis/datamigration/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/datamigration/revisions/d77bd66e25e6/schema)
