# Alibaba Cloud Server Migration Center API

> Alibaba Cloud Server Migration Center API on Apizie: 25 endpoints (To migrate servers as a group, you must first associate the migration sources with that group, Creates an activation code, Server Migration Center (SMC) lets you migrate an Alibaba Cloud Elastic Compute Service (ECS) instance to a…, Creates a migration task for a migration source by calling CreateReplicationJob, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/cloud:aliyun-smc/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:aliyun-smc`
- Category: Cloud
- Status: byok
- Source: https://api.alibabacloud.com/product/smc
- Page: https://apizie.tech/api/cloud/aliyun-smc
- OpenAPI: https://apizie.tech/api/cloud/aliyun-smc/openapi.json

Alibaba Cloud OpenAPI for Server Migration Center (smc, version 2019-06-01). Calls are signed with ACS3-HMAC-SHA256 using your AccessKey ID and secret.

## Endpoints

### To migrate servers as a group, you must first associate the migration sources with that group
`POST https://apizie.tech/v1/cloud:aliyun-smc/associate-source-servers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| WorkgroupId | string | yes | The ID of the group |
| SourceId | string | yes | The IDs of the migration sources. You can associate a maximum of 50 migration sources with a group (JSON-encoded) |

### Creates an activation code
`POST https://apizie.tech/v1/cloud:aliyun-smc/create-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| Name | string | no | The name of the activation code. The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character and… |
| Description | string | no | The description of the activation code |
| Count | string | no | The maximum number of times that the activation code can be used to register migration sources. Valid values: 1 to 1000. Default value: 100 |
| TimeToLiveInDays | string | no | The validity period of the activation code, in days. The activation code cannot be used to register new instances after it expires. Valid… |

### Server Migration Center (SMC) lets you migrate an Alibaba Cloud Elastic Compute Service (ECS) instance to a…
`POST https://apizie.tech/v1/cloud:aliyun-smc/create-cross-zone-migration-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| RegionId | string | yes | The ID of the destination Alibaba Cloud region. For example, if you want to migrate a source server to the China (Hangzhou) region, the… |
| ClientToken | string | no | A client token to ensure the idempotence of the request. Generate a unique value for this parameter from your client. \`ClientToken\` can… |
| InstanceId | string | no | The ID of the ECS instance |
| TargetVSwitchId | string | no | The ID of the destination vSwitch |
| TargetZoneId | string | no | The ID of the destination zone |
| TargetInstanceType | string | no | The destination instance type |
| AutoPay | string | no | Specifies whether to enable automatic payment. Valid values: true: (Default) Enables automatic payment. Make sure that your account has a… |
| Disk | string | no | The disk information (JSON-encoded) |
| ResourceGroupId | string | no | The ID of the resource group |

### Creates a migration task for a migration source by calling CreateReplicationJob
`POST https://apizie.tech/v1/cloud:aliyun-smc/create-replication-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| RegionId | string | yes | The ID of the destination Alibaba Cloud region to which the migration source is to be migrated |
| ClientToken | string | no | Ensures the idempotency of the request. You can generate a parameter value of up to 64 ASCII characters from the client and assign the… |
| Name | string | no | The name of the migration task. The name must meet the following requirements: The task name must be unique. The name must be 2 to 128… |
| Description | string | no | The description of the migration task. The description must be 2 to 128 characters in length and must start with a letter or a Chinese… |
| SourceId | string | yes | The ID of the migration source |
| TargetType | string | no | The target type of the migration task. Valid values: Image: After a successful migration, Server Migration Center (SMC) generates an… |
| ScheduledStartTime | string | no | The execution time of the migration task. The value of this parameter must meet the following requirements: The time must follow the ISO… |
| ValidTime | string | no | The expiration time of the migration task. Valid values: creation time of the migration task + 7 days to creation time of the migration… |
| ImageName | string | no | The name of the destination Alibaba Cloud image delivered by the migration task. The image name must meet the following requirements: The… |
| InstanceId | string | no | The target instance ID |
| SystemDiskSize | integer | no | The system cloud disk size of the destination Alibaba Cloud ECS instance. Unit: GiB. Valid values: 20 to 2048. The value of this parameter… |
| VpcId | string | no | The ID of the VPC for which Express Connect or VPN Gateway is configured |
| VSwitchId | string | no | The ID of the vSwitch in the specified VPC |
| ReplicationParameters | string | no | The parameter information of the replication driver. The parameter information is in JSON key-value pair format with fixed keys. Maximum… |
| NetMode | integer | no | The network mode for data transmission. Valid values: 0: public network transmission mode. The migration source must have access to the… |
| RunOnce | string | no | Specifies whether to create a one-time migration task or an incremental migration task. Valid values: true (default): one-time migration… |
| Frequency | integer | no | The interval at which the incremental migration task runs. Unit: hours. Valid values: 1 to 168. This parameter is required when RunOnce is… |
| MaxNumberOfImageToKeep | integer | no | The maximum number of images retained by default for an incremental migration task. Valid values: 1 to 10. This parameter is required when… |
| InstanceType | string | no | The instance type of the intermediate ECS instance. Call https://help.aliyun.com/document_detail/25620.html to query the instance types… |
| LaunchTemplateId | string | no | The ID of the instance launch template |
| LaunchTemplateVersion | string | no | The version of the instance launch template |
| InstanceRamRole | string | no | The name of the instance RAM role |
| ContainerNamespace | string | no | The namespace of the Docker container. For more information about Docker container images, see… |
| ContainerRepository | string | no | The Docker image repository. For more information about Docker container images, see https://help.aliyun.com/document_detail/60744.html |
| ContainerTag | string | no | The Docker image tag. For more information about Docker container images, see https://help.aliyun.com/document_detail/60744.html |
| LicenseType | string | no | The license type. Valid values: Empty value: no license. BYOL: Bring Your Own License. For more information, see… |
| DataDisk | string | no | The list of data cloud disk information (JSON-encoded) |
| Tag | string | no | The list of tags (JSON-encoded) |
| SystemDiskPart | string | no | The partition information of the system cloud disk (JSON-encoded) |
| JobType | integer | no | The type of the migration task. Valid values: |
| ResourceGroupId | string | no | The ID of the resource group |
| Disks | string | no | The disk information (JSON-encoded) |

### Workgroups are used to manage the lifecycle of multiple migration tasks in batch server migration scenarios
`POST https://apizie.tech/v1/cloud:aliyun-smc/create-workgroup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| ClientToken | string | no | A token to ensure the idempotence of the request. Generate a value from your client that contains up to 64 ASCII characters. This ensures… |
| Name | string | no | The name of the workgroup. The name must meet the following requirements: The workgroup name must be unique. The name must be 2 to 64… |
| Description | string | no | The description of the workgroup. It must be 2 to 256 characters in length and cannot start with `http://` or `https://` |
| Tag | string | no | An array of tags. The array can contain 1 to 20 tags. If the array contains multiple tags, the value of \`Key\` for each tag must be… |

### Stops the periodic execution of a specified incremental migration job and completes the migration
`POST https://apizie.tech/v1/cloud:aliyun-smc/cut-over-replication-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| JobId | string | yes | The ID of the incremental migration job |
| SyncData | string | no | Specifies whether to perform a final full data migration. Valid values: true: Performs a final full data migration. false: Does not… |

### Deletes an activation code
`POST https://apizie.tech/v1/cloud:aliyun-smc/delete-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| AccessTokenId | string | yes | The ID of the activation code |

### You can call DeleteReplicationJob to delete a migration job
`POST https://apizie.tech/v1/cloud:aliyun-smc/delete-replication-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| JobId | string | yes | The ID of the migration job |

### You can call the DeleteSourceServer operation to delete a migration source
`POST https://apizie.tech/v1/cloud:aliyun-smc/delete-source-server` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| SourceId | string | yes | The ID of the migration source |
| Force | string | no | Specifies whether to force delete the migration source. true: Force deletes the migration source, its associated migration tasks, and the… |

### You can delete a workgroup that you no longer need
`POST https://apizie.tech/v1/cloud:aliyun-smc/delete-workgroup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| WorkgroupId | string | yes | The ID of the workgroup |

### Retrieves details about one or more migration tasks
`POST https://apizie.tech/v1/cloud:aliyun-smc/describe-replication-jobs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| Name | string | no | The name of the migration task |
| RegionId | string | no | The ID of the destination Alibaba Cloud region to which you want to migrate the source. For example, if you want to migrate a source… |
| Status | string | no | The main status of the migration task. Valid values: Ready: The task is not started. Running: The task is running. Stopped: The task is… |
| BusinessStatus | string | no | The business status of the migration task. Valid values: Preparing: The task is being prepared. Syncing: Data is being synchronized.… |
| PageNumber | integer | no | The page number of the migration task list. The value starts from 1. Default value: 1 |
| PageSize | integer | no | The number of entries to return on each page for a paged query. Maximum value: 50. Default value: 10 |
| SourceId | string | no | The IDs of the migration sources. You can specify up to 50 migration source IDs (JSON-encoded) |
| JobId | string | no | The IDs of the migration tasks. You can specify up to 50 migration task IDs (JSON-encoded) |
| JobType | integer | no | The type of the migration task. Valid values: 0: server migration. 1: operating system migration. 2: cross-zone migration. 3: agentless… |
| InstanceId | string | no | The instance ID (JSON-encoded) |
| ResourceGroupId | string | no | The ID of the resource group |
| Tag | string | no | The tags of the SMC resource (JSON-encoded) |

### Call the DescribeSourceServers operation to query information about one or more migration sources
`POST https://apizie.tech/v1/cloud:aliyun-smc/describe-source-servers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| JobId | string | no | The ID of the migration task |
| State | string | no | The state of the source server. Valid values: Unavailable: The source server is unavailable. This includes offline and error states.… |
| Name | string | no | The name of the source server. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with… |
| PageNumber | integer | no | The page number. Pages start from page 1. Default value: 1 |
| PageSize | integer | no | The number of entries per page. Maximum value: 50. Default value: 10 |
| SourceId | string | no | The ID of the source server. You can specify multiple IDs (JSON-encoded) |
| ResourceGroupId | string | no | The ID of the resource group |
| Tag | string | no | The tags (JSON-encoded) |
| RelatedJobType | string | no | The type of the associated task (JSON-encoded) |
| WorkgroupId | string | no | The ID of the workgroup |

### After a workgroup is created, you can view its information, such as the workgroup name, description, and…
`POST https://apizie.tech/v1/cloud:aliyun-smc/describe-workgroups` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| WorkgroupId | string | no | A list of workgroup IDs. You can specify up to 50 workgroup IDs (JSON-encoded) |
| Name | string | no | The name of the workgroup |
| Status | string | no | The status of the workgroup. Valid values: NotStarted: The workgroup is not started. InProgress: The workgroup is in progress. Cutover:… |
| PageNumber | integer | no | The page number of the workgroup list. The value starts from 1. Default value: 1 |
| PageSize | integer | no | The number of entries to return on each page for a paged query. Maximum value: 50. Default value: 10 |
| Tag | string | no | The array of tags. The array can contain 1 to 20 tags. If the array contains multiple tag objects, the tag keys cannot be the same… |

### You can call the DisableAccessToken operation to disable an activation code
`POST https://apizie.tech/v1/cloud:aliyun-smc/disable-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| AccessTokenId | string | yes | The ID of the activation code |

### Disassociate a migration source from a group if you no longer need to use the group for batch migration or…
`POST https://apizie.tech/v1/cloud:aliyun-smc/disassociate-source-servers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| WorkgroupId | string | yes | The ID of the group |
| SourceId | string | yes | The IDs of the migration sources to disassociate from the group. You can specify up to 50 IDs (JSON-encoded) |

### Call the ListAccessTokens operation to query for created activation codes and their statuses
`POST https://apizie.tech/v1/cloud:aliyun-smc/list-access-tokens` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| AccessTokenId | string | no | The IDs of the activation codes (JSON-encoded) |
| Name | string | no | The name of the activation code |
| Status | string | no | The status of the activation code. Valid values: activated: The activation code is activated. unactivated: The activation code is not… |

### Queries the tags attached to one or more SMC resources, such as migration sources and migration tasks
`POST https://apizie.tech/v1/cloud:aliyun-smc/list-tag-resources` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| ResourceType | string | yes | The SMC resource type. Valid values: sourceserver: a migration source replicationjob: a migration task |
| NextToken | string | no | The token to start the next query |
| ResourceId | string | no | A list of SMC resource IDs. SMC resources include migration sources and migration tasks. The list can contain a maximum of 50 IDs… |
| Tag | string | no | A list of tags (JSON-encoded) |

### You can call the ModifyReplicationJobAttribute operation to modify the information of a migration task
`POST https://apizie.tech/v1/cloud:aliyun-smc/modify-replication-job-attribute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| JobId | string | yes | The ID of the migration task |
| Name | string | no | The name of the migration task. The name must meet the following requirements: The name must be unique. The name must be 2 to 128… |
| Description | string | no | The description of the migration task. The description must be 2 to 128 characters in length. It must start with a letter or a Chinese… |
| TargetType | string | no | The type of the migration destination. This parameter can be modified only before the migration task starts. Valid values: Image: After… |
| ScheduledStartTime | string | no | The time when you want to start the migration task. SMC automatically starts the migration task at the specified time. The time must… |
| ImageName | string | no | The name of the destination image. The name must meet the following requirements: The image name must be unique in the same Alibaba Cloud… |
| InstanceId | string | no | The ID of the destination instance |
| SystemDiskSize | integer | no | The system disk size of the destination ECS instance. Unit: GiB. Valid values: 20 to 500. The value of this parameter must be greater than… |
| Frequency | integer | no | The interval at which an incremental migration task runs. Unit: hours. Valid values: 1 to 168. This parameter is required if the `RunOnce`… |
| MaxNumberOfImageToKeep | integer | no | The maximum number of images to retain for an incremental migration task. Valid values: 1 to 10. This parameter is required if the… |
| InstanceType | string | no | The instance type of the intermediate instance. You can call the https://help.aliyun.com/document_detail/25620.html operation to query the… |
| LaunchTemplateId | string | no | The ID of the launch template |
| LaunchTemplateVersion | string | no | The version of the launch template |
| InstanceRamRole | string | no | The name of the RAM role for the instance |
| ContainerNamespace | string | no | The namespace of the Docker container. For more information about Docker container images, see… |
| ContainerRepository | string | no | The image repository for the Docker container. For more information about Docker container images, see… |
| ContainerTag | string | no | The image tag for the Docker container. For more information about Docker container images, see… |
| ValidTime | string | no | The expiration time of the migration task. The value can be a time that is 7 to 90 days later than the time when the migration task is… |
| SystemDiskPart | string | no | The partitions of the system disk (JSON-encoded) |
| DataDisk | string | no | The data disks (JSON-encoded) |
| NetMode | integer | no | The network mode for data transmission. Valid values: 0: Internet transfer mode. The source server must be able to access the Internet.… |
| VSwitchId | string | no | The ID of the vSwitch in the specified VPC |
| VpcId | string | no | The ID of the VPC that is configured with Express Connect or a VPN Gateway |
| ReplicationParameters | string | no | The parameters of the replication driver. The parameters are key-value pairs in the JSON format. The keys are fixed. The value can be up… |

### The ModifySourceServerAttribute operation modifies the name and description of a migration source
`POST https://apizie.tech/v1/cloud:aliyun-smc/modify-source-server-attribute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| SourceId | string | yes | The ID of the migration source |
| Name | string | no | The name of the migration source. The name must be 2 to 128 characters in length. It must start with a letter or a Chinese character, and… |
| Description | string | no | The description of the migration source. The description can be up to 256 characters in length and cannot start with `http://` or `https://` |

### Modifies a workgroup's name and description
`POST https://apizie.tech/v1/cloud:aliyun-smc/modify-workgroup-attribute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| WorkgroupId | string | yes | The workgroup ID |
| Name | string | no | The name of the workgroup. The name must meet the following requirements: The workgroup name must be unique. The name must be 2 to 64… |
| Description | string | no | The description of the workgroup. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://` |

### You can call the StartReplicationJob operation to start a migration task
`POST https://apizie.tech/v1/cloud:aliyun-smc/start-replication-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| JobId | string | yes | The ID of the migration task |

### You can call the StopReplicationJob operation to stop a migration task
`POST https://apizie.tech/v1/cloud:aliyun-smc/stop-replication-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| JobId | string | yes | The ID of the migration task |

### You can call TagResources to create and attach tags to multiple SMC resources, such as migration sources and…
`POST https://apizie.tech/v1/cloud:aliyun-smc/tag-resources` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| ResourceType | string | yes | The type of the SMC resource. Valid values: sourceserver: migration source replicationjob: migration task |
| ResourceId | string | yes | The ID of the SMC resource. SMC resources include migration sources and migration tasks. You can specify 1 to 50 resource IDs (JSON-encoded) |
| Tag | string | yes | The list of tags (JSON-encoded) |

### Detaches and deletes tags from specified SMC resources, such as migration sources and migration tasks
`POST https://apizie.tech/v1/cloud:aliyun-smc/untag-resources` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |
| ResourceType | string | yes | The type of the SMC resource. Valid values: sourceserver: a migration source. replicationjob: a migration task |
| All | string | no | Specifies whether to remove all tags from the SMC resources. This parameter takes effect only if you do not specify the `TagKey.N`… |
| ResourceId | string | yes | The IDs of the SMC resources. You can specify 1 to 50 resource IDs. SMC resources include migration sources and migration tasks… |
| TagKey | string | no | The keys of the tags to remove. You can specify 1 to 20 tag keys. Tag keys are case-sensitive (JSON-encoded) |

### version
`POST https://apizie.tech/v1/cloud:aliyun-smc/version` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | no | Regional endpoint, for example https://smc.aliyuncs.com |

## Example
```
curl "https://apizie.tech/v1/cloud:aliyun-smc/associate-source-servers" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Alibaba Cloud Server Migration Center API?
Create a free Apizie key, then send POST https://apizie.tech/v1/cloud:aliyun-smc/associate-source-servers with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Alibaba Cloud Server Migration Center API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Alibaba Cloud Server Migration Center itself also needs your own key from aliyuncs.com.

### Can AI agents use the Alibaba Cloud Server Migration Center API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:aliyun-smc.

### What is the status of the Alibaba Cloud Server Migration Center API?
Needs your own provider key (bring your own key)
