Get confirmation of customer acceptance of Microsoft Customer Agreement

Applies to: Partner Center

Does not apply to: Partner Center operated by 21Vianet | Partner Center for Microsoft Cloud for US Government

The Agreement resource is currently supported by Partner Center only in the Microsoft public cloud.

This article explains how you can retrieve confirmation(s) of a customer's acceptance of the Microsoft Customer Agreement.

Prerequisites

  • If you're using the Partner Center .NET SDK, version 1.14 or newer is required.

    Important

    As of June 2023, the latest Partner Center .NET SDK release 3.4.0 is now archived. You can download the SDK release from GitHub, along with a readme file that contains useful information.

    Partners are encouraged to continue to use the Partner Center REST APIs.

  • Credentials as described in Partner Center authentication. This scenario only supports App+User authentication.

  • 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).

.NET

To retrieve confirmation(s) of customer acceptance that was previously provided:

  • Use the IAggregatePartner.Customers collection and call ById method with the specified customer identifier.

  • Fetch the Agreements property and filter the results to Microsoft Customer Agreement by calling ByAgreementType method.

  • Call Get or GetAsync method.

// IAggregatePartner partnerOperations;
// string selectedCustomerId;

string agreementType = "MicrosoftCustomerAgreement";

var customerAgreements = partnerOperations.Customers.ById(selectedCustomerId).Agreements.ByAgreementType(agreementType).Get();

A complete sample can be found in the GetCustomerAgreements class from the console test app project.

REST request

To retrieve confirmation of customer acceptance that was previously provided:

  1. Create a REST request to retrieve the Agreements collection for the customer.

  2. Use the agreementType query parameter to scope the results to only the Microsoft Customer Agreement.

Request syntax

Use the following request syntax:

Method Request URI
GET {baseURL}/v1/customers/{customer-tenant-id}/agreements?agreementType={agreement-type} HTTP/1.1

URI parameters

You can use the following URI parameters with your request:

Name Type Required Description
customer-tenant-id GUID Yes The value is a GUID formatted CustomerTenantId that allows you to specify a customer.
agreement-type string No This parameter returns all agreement metadata. Use this parameter to scope the query response to specific agreement type. The supported values are:

MicrosoftCloudAgreement that only includes agreement metadata of the type MicrosoftCloudAgreement.

MicrosoftCustomerAgreement that only includes agreement metadata of the type MicrosoftCustomerAgreement.

* that returns all agreement metadata. (Don't use * unless your code has the necessary logic to handle unexpected agreement types.)

Note: If the URI parameter isn't specified, the query defaults to MicrosoftCloudAgreement for backward compatibility. Microsoft might introduce agreement metadata with new agreement types at any time.

Request headers

For more information, see Partner Center REST headers.

Request body

None.

Request example

GET https://api.partnercenter.microsoft.com/v1/customers/14876998-c0dc-46e6-9d0c-65a57a6c32ec/agreements?agreementType=MicrosoftCustomerAgreement HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b

REST response

If successful, this method returns a collection of Agreement resources in the response body.

Response success and error codes

Each response comes with an HTTP status code that indicates success or failure and other debugging information.

Use a network trace tool to read this code, error type, and other parameters. For the full list, see Partner Center REST error codes.

Response example

HTTP/1.1 200 OK
Content-Length: 620
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
{
    "totalCount": 2,
    "items":
    [
        {
            "primaryContact":
            {
                "firstName":"Tania",
                "lastName":"Carr",
                "email":"SomeEmail@example.com"
                "phoneNumber":"1234567890"
            },
            "templateId":"117a77b0-9360-443b-8795-c6dedc750cf9",
            "dateAgreed":"2019-08-26T00:00:00",
            "type":"MicrosoftCustomerAgreement",
            "agreementLink":"https://aka.ms/customeragreement"
        },
        {
            "primaryContact":
            {
                "firstName":"Tania",
                "lastName":"Carr",
                "email":"SomeEmail@example.com"
                "phoneNumber:"1234567890"
            },
            "templateId":"117a77b0-9360-443b-8795-c6dedc750cf9",
            "dateAgreed":"2019-08-27T00:00:00",
            "type":"MicrosoftCustomerAgreement",
            "agreementLink":"https://aka.ms/customeragreement"
        }
    ]
}