Recent changes to Partner Center REST APIs

This article summarizes changes made to the Partner Center REST APIs.

November 2022

Feature area Change type API/objects
NCE Migration Partners can now schedule migrations using the API's, UX and BAM tool. Schedule a new commerce migration

Cancel a new commerce migration

Update a new commerce migration

Get a new commerce migration

New commerce experience batch migration tool

October 2022

API changes support new capabilities and add fields benefitOrderId, benefitId, and benefitType to billed and unbilled daily rated usage data.

Feature area Change type API/objects
Self-serve policy enhancement New self-serve policy support for Azure savings plan. Create self-serve policy Get list of self-serve policies Get a self-serve policy Self-serve policy resource Update a self-serve policy
Billed Daily Rated Usage Data Add fields benefitOrderId, benefitId, and benefitType to billed daily rated usage API. Get invoice billed commercial consumption line items
Unbilled Daily Rated Usage Data Add fields benefitOrderId, benefitId, and benefitType to unbilled daily rated usage API. Get invoice unbilled commercial consumption line items

September 2022

PI changes to add fields firstObserved and lastObserved to Fraud events.

Feature area Change type API/objects
NCE Migration CustomTermEndDate is added to the Migration API Create a new commerce migration
Azure fraud notification Add firstObserved and lastObserved fields to fraud events Get fraud events

July 2022

API changes support new capabilities.

Feature area Change type API/objects
Scheduled changes with promotion Expose promotion ID if scheduled change aligns to available promotion. Create scheduled changes

June 2022

API changes support partners with NCE Migration.

Feature area Change type API/objects
Validate Migration New API to validate a subscription for migration to New Commerce Experience Validate a subscription for migration
Create a new migration New API to create a migration of a subscription to New Commerce Experience Create a new commerce migration
Get a new commerce subscription migration New API to get a migration of a subscription to New Commerce Experience in order to check migration status Get a new commerce subscription migration

May 2022

API changes support partners to monitor DAP and remove inactive DAPs.

Feature area Change type API/objects
DAP removal Remove a delegated admin (DAP) relationship with a customer that you no longer need to manage. Remove a DAP relationship with a customer
List Delegated Admin Relationships New API to return a list of all customers of a partner, also indicating if customers have a DAP / non-DAP relationship List Delegated Admin customers
Get Delegated Admin statistics Returns information on the count of delegated admin (DAP) relationships established or active that are associated to a partner across all their customers. Get Delegated Admin statistics

March 2022

March changes include enhancements to support New commerce license-based features.

Feature area Change type API/objects
DAP removal Remove a delegated admin (DAP) relationship with a customer that you no longer need to manage. Remove a DAP relationship with a customer
New commerce cart Added availableQuantity for CartLineItem response Promotions resource
New commerce transition Added promotionId to transition response Transitions resource

December 2021

December changes include enhancements to support New commerce license-based features.

Feature area Change type API/objects
New commerce promotions Added availableSeats to seatcounts Promotions resource
New commerce promotions Added availableSeats to seatcounts POST {baseURL}/v1/customers/{customerId}/promotionEligibilities
Azure fraud notification New API Get fraud events
Azure fraud notification New API Update fraud events status
New commerce subscriptions Added refundableQuantity to Get Subscription by ID API GET Subscription By ID

October 2021

Changes for October are to support New commerce license-based features and the new ISV margin discounts for CSPs.

Feature area Change type API/objects
New commerce subscription management New field in public contract PATCH {baseURL}/v1/customers/{customer_id}/subscriptions/{subscription_id}
New commerce upgrades and trial conversions New field in public contract POST {baseURL}/v1/customers/{customer_id}/subscriptions/{subscription_id}/transition
New commerce transitions New field in public contract GET {baseUrl}/v1/customers/{customer_id}/subscriptions/{subscription_id}/transitions
Migrating to new commerce New API POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/validate
Migrating to new commerce New API POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce
Migrating to new commerce New API GET {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/{migration-id}
Purchasing new commerce New field in public contract POST {baseURL}/v1/customers/{customer-id}/orders"
Purchasing new commerce New field in public contract POST{baseURL}/v1/customers/{customer-id}/carts
Purchasing new commerce New field in public contract PUT{baseURL}/v1/customers/{customer-id}/carts/{cart-id}
New commerce promotions New API POST {baseURL}/v1/customers/{customerId}/promotionEligibilities
New commerce promotions New API GET {baseURL}/v1/productpromotions/{promotion-id}?country={country-code}
New commerce promotions New API GET {baseURL}/v1/productpromotions?country={country-code}&segment={segment}
New commerce promotions New resource Promotions resource
Catalog updates for new commerce New field in public contract GET {baseURL}/v1/products?country={country}&targetView={targetView}&targetSegment={targetSegment}
Catalog updates for new commerce New field in public contract POST {baseURL}/v1/customers/{customer-tenant-id}/products?targetView={targetView}
Catalog updates for new commerce New field in public contract GET {baseURL}/v1/products/{product-id}?country={country}
Catalog updates for new commerce New field in public contract POST {baseURL}/v1/customers/{customer-tenant-id}/products/{product-id}/skus
Catalog updates for new commerce New field in public contract GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment}
Catalog updates for new commerce New field in public contract GET {baseURL}/v1/products/{product-id}/skus/{sku-id}?country={country-code}
Catalog updates for new commerce New field in public contract GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment}
Catalog updates for new commerce New field in public contract POST {baseURL}/v1/customers/{customer-tenant-id}/products/{product-id}/skus/{sku-id}
Catalog updates for new commerce New field in public contract GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities/{availability-id}?country={country-code}
Catalog updates for new commerce New field in public contract Product resources
ISV margin discounts for CSPs New resource Margin resource
ISV margin discounts for CSPs New API GET {baseURL}/v1/margins
ISV margin discounts for CSPs New API GET {baseURL}/v1/margins/download
Telco pay-as-you-go in new commerce New API PUT {baseURL}/customers/{customerId}/subscriptions/overage
Telco pay-as-you-go in new commerce New API GET {baseURL}/customers/{customerId}/subscriptions/overage
Telco pay-as-you-go in new commerce New field in public contract Add ConsumptionType to Sku model

July 2021

Changes for July were to support Windows 365 attestation required for some Windows 365 SKUs only.

Feature area Change type API/objects
Windows 365 Attestation New field in public contract Sku resource
Windows 365 Attestation New field in public contract Offer resource
Windows 365 Attestation New field in public contract Cart line item resource
Windows 365 Attestation New field in public contract GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment}
Windows 365 Attestation New field in public contract GET {baseURL}/v1/products/{product-id}/skus/{sku-id}?country={country-code}
Windows 365 Attestation New field in public contract PUT {baseURL}/v1/customers/{customer-id}/carts/{cart-id} HTTP/1.1

December 2020

Two new GET and POST Qualifications APIs introduced. The new APIs will be using Qualifications, not Qualification. The APIs will be available for testing in FY21 Q2.

Feature area Change type API/objects
Customer qualification New API GET {baseURL}/v1/customers/{customer-tenant-id}/qualifications
Customer qualification New API POST {baseURL}/v1/customers/{customer_id}/qualifications?code={validationCode}

What has changed?

Currently, the Partner Center API has GET and PUT qualifications to verify Education customers' eligibility. There will be no changes to the GET Qualification API. However, we've added a return case to the PUT Qualification API.

  • GET - doesn't change.
  • PUT - return case will be added.

These APIs will be retired at the end of February 2021, to be replaced by new APIs as described below.

Scenarios impacted:

Customer eligibility for education pricing on select SKUs

Detail descriptions

Two new GET and POST Qualifications APIs will be introduced. The new APIs will be using Qualifications, not Qualification. The APIs will be available for testing in FY21 Q2.

GET Qualifications

GET {customer_id}/qualifications

Response example:

{
  "Qualification": "Education",
  "VettingStatus": "Denied",
  "VettingReason": "Not an education customer",
  "VettingCreatedDate": "07/09/2020: 00:00:00" //UTC
}

Response fields:

  • VettingStatus values: Approved, Denied, InReview, etc.

  • VettingReason values:

    • Not an Education Customer
    • No longer an Education Customer
    • Not an Education Customer - After Review
    • Restricted being an Education Customer
    • Not an Academic Domain
    • Not an eligible Library
    • Not an eligible Museum

POST Qualifications

POST {customer_id}/qualifications
    [
            "Qualification": "Education"
    ]

Response example:

{
  "Qualification": "Education",
  "VettingStatus": "InReview",
  "VettingCreatedDate": "07/09/2020: 00:00:00" //UTC
}

Next steps

Partner Center REST API reference