Accepting the Microsoft Customer Agreement

You can confirm the acceptance of the Microsoft Customer Agreement (MCA) for a Microsoft account by following these steps:

  1. Prepare the following information:

    • The initial subdomain name of the Microsoft account.
    • The system identifier of the customer account that the Microsoft account belongs to.
  2. Check whether the MCA is already accepted for the Microsoft account:

    1. Make this request:

      Copy
      GET https://BRAND_DOMAIN/aps/2/resources/APS_ID_OF_APPLICATION_INSTANCE/checkAccount?accountId=SYSTEM_ID_OF_CUSTOMER_ACCOUNT&planId=0
    2. In the response that you receive, in the tenants array, find the JSON object where domain contains the initial subdomain name of the Microsoft account.
    3. In the JSON object, check the value of the is_acceptance_of_microsoft_cloud_agreement_required parameter. If it is true, write down the value of the id parameter (this is the internal ID of the Microsoft account).

    Important: Checking acceptance is a custom operation. The user whose key and secret you use to access the APS REST API must have http://www.parallels.com/Office365/Office365app and GET in its list of allowed operations.

  3. From the owner of the Microsoft account, obtain the first name, last name, email address, phone number, and agreement acceptance date of the person who accepted the MCA. This information will be used to confirm acceptance.
  4. Obtain a list of the Tenant APS resources that belong to the Microsoft account by using this request:

    Copy
    GET https://BRAND_DOMAIN/aps/2/resources/?implementing(APS_TYPE_ID_OF_TENANT_RESOURCE),eq(ms_account_id,INTERNAL_ID_OF_MICROSOFT_ACCOUNT)

    From the response that you receive, write down the APS ID of one of the Tenant APS resources.

    Note: To prepare the APS type ID of an APS resource, use the instructions in Obtaining APS Type IDs.

  5. Confirm acceptance by using this request:

    Copy
    PUT https://BRAND_DOMAIN/aps/2/resources/APS_ID_OF_TENANT_RESOURCE

    {
      "cloud_agreement_contact": {
        "email": "EMAIL_ADDRESS_OF_PERSON_WHO_ACCEPTED_MICROSOFT_CUSTOMER_AGREEMENT",
        "first_name": "FIRST_NAME_OF_PERSON_WHO_ACCEPTED_MICROSOFT_CUSTOMER_AGREEMENT",
        "last_name": "LAST_NAME_OF_PERSON_WHO_ACCEPTED_MICROSOFT_CUSTOMER_AGREEMENT",
        "phone": "PHONE_NUMBER_OF_PERSON_WHO_ACCEPTED_MICROSOFT_CUSTOMER_AGREEMENT",
        "date_agreed": "DATE_OF_ACCEPTANCE"
      }
    }

    Note: For DATE_OF_ACCEPTANCE, use dates in the YYYY-MM-DD format and the UTC timezone.

Examples

HTTP Request (Checking Acceptance for Microsoft Account)

Copy
GET https://example.com/aps/2/resources/498c7d95-54ef-45c1-9877-da03ec230993/checkAccount?accountId=1000011&planId=0

HTTP Response (Checking Acceptance for Microsoft Account)

Copy
{
  "has_o365": true,
  "is_multitenant": false,
  "tenants": [
    {
      "domain": "example.onmicrosoft.com",
      "id": "0ec8e245-2509-44b9-a184-a313345db839",
      "trial_plan_validation_result": {
        "validationCode": 0
      },
      "ms_tenant_id": "3f8a1aff-6a93-4b2c-b734-93b66497af4c",
      "is_acceptance_of_microsoft_cloud_agreement_required": true,
      "customer_agreements": []
    }
  ],
  "microsoft_cloud_agreement_metadata": {
    "templateId": "117a77b0-9360-443b-8795-c6dedc750cf9",
    "agreementLink": "https://aka.ms/customeragreement",
    "versionRank": 0
  },
  "service_plans_compatibility": null
}

In this response, the JSON object where domain is example.onmicrosoft.com represents the target Microsoft account. You need to write down the value of the id parameter (0ec8e245-2509-44b9-a184-a313345db839).

HTTP Request (Obtaining Tenant APS Resources of Microsoft Account)

Copy
GET https://example.com/aps/2/resources/?implementing(http://www.parallels.com/Office365/Tenant/2.8),eq(ms_account_id,0ec8e245-2509-44b9-a184-a313345db839)

HTTP Response (Obtaining Tenant APS Resources of Microsoft Account)

Copy
[
  {
    "is_activated": "yes",
    "aps": {
      "modified": "2020-03-10T11:20:31Z",
      "id": "042b672a-47f8-4dc9-a973-f4134390f357",
      "subscription": "5689c26b-749c-48ea-b3b1-7cba84618764",
      "type": "http://www.parallels.com/Office365/Tenant/2.8",
      "status": "aps:ready",
      "revision": 9
    },
    "ms_account_id": "0ec8e245-2509-44b9-a184-a313345db839",
    "totalPointsSold": {
      "usage": 0,
      "limit": -1
    },
    "totalSeatsSold": {
      "usage": 0,
      "limit": -1
    }
  },
  {
    "is_activated": "yes",
    "aps": {
      "modified": "2020-03-10T11:16:54Z",
      "id": "32e9c8bd-23a1-4a73-9af2-c05b05116136",
      "subscription": "f76d449e-10ff-4af4-9c04-f5cdd23106fb",
      "type": "http://www.parallels.com/Office365/Tenant/2.8",
      "status": "aps:ready",
      "revision": 7
    },
    "ms_account_id": "0ec8e245-2509-44b9-a184-a313345db839",
    "totalPointsSold": {
      "usage": 8,
      "limit": -1
    },
    "totalSeatsSold": {
      "usage": 2,
      "limit": -1
    }
  },
  {
    "transition_info": {
      "subdomain": "",
      "vodafoneCustomerId": 0
    },
    "default_admin_login": "admin@example.onmicrosoft.com",
    "domain_name": "example.onmicrosoft.com",
    "is_activated": "yes",
    "aps": {
      "modified": "2020-03-10T11:19:04Z",
      "id": "6fcff2c9-de5c-4eb3-b2b7-d5722cc29338",
      "subscription": "df973571-7146-4a0e-a7fe-a01516abdf22",
      "type": "http://www.parallels.com/Office365/Tenant/2.8",
      "status": "aps:ready",
      "revision": 18
    },
    "ms_account_id": "0ec8e245-2509-44b9-a184-a313345db839",
    "last_synchronization": "2020-02-28T05:22:58Z",
    "initial_subdomain": "example",
    "totalPointsSold": {
      "usage": 20,
      "limit": -1
    },
    "totalSeatsSold": {
      "usage": 5,
      "limit": -1
    }
  },
  {
    "is_activated": "yes",
    "aps": {
      "modified": "2020-03-02T12:12:55Z",
      "id": "d107eaff-9e3e-4c31-90e5-818842c1fc0f",
      "subscription": "158ab4d4-130b-4c5d-bfab-3ca59778a85e",
      "type": "http://www.parallels.com/Office365/Tenant/2.8",
      "status": "aps:ready",
      "revision": 5
    },
    "ms_account_id": "0ec8e245-2509-44b9-a184-a313345db839",
    "totalPointsSold": {
      "usage": 20,
      "limit": -1
    },
    "totalSeatsSold": {
      "usage": 2,
      "limit": -1
    }
  },
  {
    "is_activated": "yes",
    "aps": {
      "modified": "2020-02-28T05:22:52Z",
      "id": "d8812853-3a26-4058-8881-6e1e9bd31cab",
      "subscription": "4ac9fd1a-05a6-4983-adfe-fa4c78598683",
      "type": "http://www.parallels.com/Office365/Tenant/2.8",
      "status": "aps:ready",
      "revision": 12
    },
    "ms_account_id": "0ec8e245-2509-44b9-a184-a313345db839",
    "last_synchronization": "2020-02-28T05:22:58Z",
    "totalPointsSold": {
      "usage": 2,
      "limit": -1
    },
    "totalSeatsSold": {
      "usage": 2,
      "limit": -1
    }
  }
]

In this response, all the Tenant APS resources that belong to the target Microsoft account are returned. You need to write down the APS ID of one of them (for example, 042b672a-47f8-4dc9-a973-f4134390f357).

HTTP Request (Confirming Acceptance)

Copy
PUT https://example.com/aps/2/resources/042b672a-47f8-4dc9-a973-f4134390f357

{
  "cloud_agreement_contact": {
    "email": "johnsmith@example.com",
    "first_name": "John",
    "last_name": "Smith",
    "phone": "+1234567",
    "date_agreed": "2020-03-10"
  }
}

HTTP Response (Confirming Acceptance)

Copy
JSON_OF_TENANT_RESOURCE
CloudBlue, an Ingram Micro business, uses cookies to improve the usability of our site. By continuing to use this site and/or logging in you are accepting the use of these cookies. For more information, visit our Privacy Policy.