Create a new commerce migration

Applies to: Partner Center | Partner Center operated by 21Vianet | Partner Center for Microsoft Cloud for US Government

How to create a migration of a subscription to New Commerce Experience

Prerequisites

  • Credentials as described in Partner Center authentication. This scenario supports authentication with both standalone App and App+User credentials.

  • A customer ID (customer-tenant-id). If you don't know the customer's ID, you can look it up in Partner Center by selecting the Customers workspace, then the customer from the customer list, then Account. On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • A current subscription ID

Rate limit

The Create Migration API limit is 100 calls by a partner in 5 minutes. More information about rate limits and throttling is available at API throttling guidance.

REST request

Request syntax

Method Request URI
POST {baseURL}/v1/customers/{customer-tenant-id}/migrations/newcommerce HTTP/1.1

URI parameter

This table lists the required query parameters to create a new commerce migration.

Name Type Required Description
customer-tenant-id string Yes A GUID-formatted string that identifies the customer.

Request headers

For more information, see Partner Center REST headers.

Request body

This table describes the Subscription properties in the request body.

Property Type Required Description
currentSubscriptionId string Yes A subscription identifier that indicates which subscription requires validation for migration.
termDuration string No Term duration can be changed upon migration.
billingCycle string No Billing cycle can be changed upon migration.
purchaseFullTerm bool No A new term can be started in NCE upon migration.
quantity int No License quantity for a subscription can be increased or decreased upon migration.
customTermEndDate datetime No An end-date can be set to align with an existing nontrial OnlineServicesNCE subscription or calendar month. There's more information on aligning subscription end dates here: Align subscription end dates in Partner Center

Request example

Note, Nested add-ons (add-on subscriptions with add-on subscriptions) should be written in the request body as a flat list within addOnMigrations and not be nested inside other add-on subscriptions in the request; see the last request example for how add-ons can be written in the request body.

{
    "currentSubscriptionId" : "9beb6319-6889-4d28-a155-68ca9c783842"
}
{ 
    "currentSubscriptionId": "5C77DC7F-BE2C-4306-A3B5-0EBB4365D7FC", 
    "termDuration": "P1M", 
    "billingCycle": "Monthly", 
} 
{
    "currentSubscriptionId": "5C77DC7F-BE2C-4306-A3B5-0EBB4365D7FC", 
    "purchaseFullTerm": true 
}
{
    "currentSubscriptionId": "66E738D6-E0BC-4FFB-8818-BDE99BC7008B",
    "quantity": 1,
    "billingCycle": "Annual",
    "purchaseFullTerm": false,
    "termDuration": "P1Y",
    "addOnMigrations": [
        {
            "currentSubscriptionId": "359011DC-B5B0-4660-850B-A8FA9B2E3309",
            "quantity": 1,
            "billingCycle": "Monthly",
            "purchaseFullTerm": false,
            "termDuration": "P1M"
        },
        {
            "currentSubscriptionId": "159D9F87-CE39-4EBD-B9C2-ECF0892A85A1",
            "quantity": 1,
            "billingCycle": "Monthly",
            "purchaseFullTerm": false,
            "termDuration": "P1Y"
        }
    ]
}

REST response

If successful, this method returns details of the Subscriptions being migrated (migration object) in the response body.

Response success and error codes

Each response comes with an HTTP status code that indicates success or failure and extra debugging information. Use a network trace tool to read this code, error type, other parameters. For the full list, see Partner Center REST error codes.

Response examples

{
    "addOnMigrations": [
        {
            "currentSubscriptionId": "E3AFD30D-D6E7-45AF-A6C5-FB905992AE00",
            "customerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
            "catalogItemId": "CFQ7TTC0LH0T:0001:CFQ7TTC0K4KQ",
            "subscriptionEndDate": "2023-02-22T00:00:00Z",
            "quantity": 1,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "purchaseFullTerm": false
        },
        {
            "currentSubscriptionId": "80906BD9-E45C-4D1B-92A8-EA3F3FB6E105",
            "customerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
            "catalogItemId": "CFQ7TTC0LH0R:0001:CFQ7TTC0K0SK",
            "subscriptionEndDate": "2023-02-22T00:00:00Z",
            "quantity": 1,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "purchaseFullTerm": false
        },
        {
            "currentSubscriptionId": "72E424F4-10FF-4C76-B101-C274F73BA498",
            "customerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
            "catalogItemId": "CFQ7TTC0LHXJ:0001:CFQ7TTC0KHTR",
            "subscriptionEndDate": "2023-02-22T00:00:00Z",
            "quantity": 1,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "purchaseFullTerm": false
        }
    ],
    "id": "7123c075-fc05-42d6-a21e-1d2036fa490b",
    "startedTime": "2022-02-23T13:00:48.4489832Z",
    "currentSubscriptionId": "2E56C7F5-E120-4CA4-BFF3-7DA763B4D777",
    "status": "Processing",
    "customerTenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "catalogItemId": "CFQ7TTC0LF8Q:0001:CFQ7TTC0KQDF",
    "subscriptionEndDate": "2023-02-22T00:00:00Z",
    "quantity": 1,
    "termDuration": "P1Y",
    "billingCycle": "Monthly",
    "purchaseFullTerm": false
}