.NET SDK release notes

The following release notes are available for new versions of Microsoft Partner Center .NET SDK. You can find .NET SDK samples on GitHub. You can find the Partner Center .NET API reference in the .NET API Browser.

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.

Version 3.4.0

Microsoft Partner Center .NET SDK v3.4.0 is now available. Updated GitHub samples are also available.

The following changes are included in this version:

Transact and manage

The following APIs are updated to provide term end date time properties:

Pricing object is now present in below API response:

Promotions

Expose constraints:

Version 3.3.0

Microsoft Partner Center .NET SDK v3.3.0 is now available. Updated GitHub samples are also available.

The following changes are included in this version:

Transact and manage

The following APIs are updated to enable Azure subscription cancellations if a customer is compromised (fraud):

'OperationId' is now present in the below API responses:

New GDAP error messages:

Audit

New resource type 'AzureEntitlement' and 'IndirectProviderIndirectResellerDap' was added for the following:

Version 3.2.0

Microsoft Partner Center .NET SDK v3.2.0 is now general availability. Updated GitHub samples are also available.

The following changes are included in this version:

To use .NET SDK v 3.2.0, partners need to have Newtonsoft.Json 13.0.1 and higher. As the versions prior to v13.0.1 have high vulnerable bugs.

New APIs Contracts

The following APIs are introduced to support NCE migration schedule:

Updates to the API contract

Version 3.1.2

Microsoft Partner Center .NET SDK v3.1.2 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

Updates to the public contract

Added the AddOnMigrations field to the NewCommerceEligibility object
Validate a subscription for migration

Version 3.1.1

Important

Version 3.1.0 is deprecated. Do not download .NET SDK v.3.1.0

Microsoft Partner Center .NET SDK v3.1.1 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

Transact and manage

New field in public contract

Add promotion ID to scheduled change
Manage scheduled changes for new commerce subscriptions

  • Patch {baseURL}/v1/customers/{customer-tenant-id}/subscriptions/{subscription-id}

New SDK support for subscription status value 'disabled'.

Partner Center APIs will start returning new 'disabled' states after 90 days from the v3.1.1 SDK release. Partners have 90 days before the API returns 'disabled' state to give them time to update their SDKs and comply with change management principles.

New API Updates

Query migrated subscriptions is the API where partners can query all migrated subs for a given input criteria.

  • GET {baseURL}/v1/migrations/newcommerce

Get New Commerce migration events API is used for fetching the details of migration events based on the current subscription ID or migration ID.

  • GET {baseURL}/v1/customers/{customer-tenant-id}/migrations/newcommerce/events

Version 3.0.1

Microsoft Partner Center .NET SDK v3.0.1 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

Transact and manage

New field in public contract

  • POST {baseURL}/v1/customers/{customer_id}/subscriptions/{subscription_id}/transition
  • GET {baseUrl}/v1/customers/{customer_id}/subscriptions/{subscription_id}/transitions
  • GET/PATCH {baseUrl}/v1/customers/{customer_id}/subscriptions/{subscription_id}
    • Added RefundableQuantity property to the Subscription model
    • Added CustomTermEndDate property to the ScheduledNextTermInstructions model
    • Added MigratedFromSubscriptionId property to the Subscription model
  • POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/validate
    • Added AddOnMigrations property to the NewCommerceMigration model
  • POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce
    • Added AddOnMigrations property to the NewCommerceMigration model
  • GET {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/{migration_id}
    • Added AddOnMigrations property to the NewCommerceMigration model
  • POST {baseURL}/v1/customers/{customer_id}/carts
    • Added new CartErrorCode enum values
    • Added new AdditionalInformation model to CartError model
    • Added CustomTermEndDate property to the CartLineItem model
  • GET/PUT {baseURL}/v1/customers/{customer_id}/carts/{cart_id}
    • Added new CartErrorCode enum values
    • Added new AdditionalInformation model to CartError model
    • Added CustomTermEndDate property to the CartLineItem model
  • GET/POST {baseURL}/v1/customers/{customer_id}/orders
    • Added CustomTermEndDate property to the OrderLineItem model
  • GET/PATCH {baseURL}/v1/customers/{customer_id}/orders/{order_id}
    • Added CustomTermEndDate property to the OrderLineItem model

NCE Batch Migration Tool

To facilitate partner needs of efficiently migrating large quantities of subscriptions, we've enabled a Batch Migration (BAM) tool. The BAM tool allows partners to migrate subscriptions into NCE using the following approach:

  • Streamlined open source .NET SDK sample app experience
  • Uses Excel to manage migration edits
  • Simple tool supporting high quality, repeatable, and customizable migration scenarios in batches

For detailed instructions, see New Commerce Experience Batch Migration Tool (BAM).

Security

New API

  • Patch {baseURL}/v1/customers/{customer-tenant-id}
    • Remove DAP API – To remove DAP set AllowDelegatedAccess property to false

Audit and webhook

Audit Updated - Added new operation types for "Manage Overage", "DAP Admin Relationship Terminated By Microsoft" and "Azure Fraud Event Detected".

Auditing resources

Version 3.0.0

Microsoft Partner Center .NET SDK v3.0.0 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

Common Updates

Upgrade System.ComponentModel.Annotations to latest 5.0 version to resolve existing compatibility issues.

Transact and manage

New API

  • POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/validate
  • POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce
  • GET {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/{migration-id}
  • GET {baseURL}/customers/{customerId}/subscriptions/overage

New field in public contract

  • PATCH {baseURL}/v1/customers/{customer_id}/subscriptions/{subscription_id}
  • POST {baseURL}/v1/customers/{customer_id}/subscriptions/{subscription_id}/transition
  • GET {baseUrl}/v1/customers/{customer_id}/subscriptions/{subscription_id}/transitions
  • POST/PUT {baseURL}/v1/customers/{customer-tenant-id}/cart
  • POST {baseURL}/v1/customers/{customer-tenant-id}/orders
  • PUT {baseURL}/v1/customers/{customer-id}/carts/{cart-id}

Catalog/Price/Promotion

New API

  • POST {baseURL}/v1/customers/{customerId}/promotionEligibilities
  • GET {baseURL}/v1/productpromotions/{promotion-id}?country={country-code}
  • GET {baseURL}/v1/productpromotions?country={country-code}&segment={segment}

New field in public contract

  • GET {baseURL}/v1/offers/{offer-id}?country={country-code}
  • GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}?country={country-code}
  • GET {baseURL}/v1/products?country={country}&targetView={targetView}&targetSegment={targetSegment}
  • POST {baseURL}/v1/customers/{customer-tenant-id}/products?targetView={targetView}
  • GET {baseURL}/v1/products/{product-id}?country={country}
  • POST {baseURL}/v1/customers/{customer-tenant-id}/products/{product-id}/skus
  • GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}?country={country-code}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment}
  • POST {baseURL}/v1/customers/{customer-tenant-id}/products/{product-id}/skus/{sku-id}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities/{availability-id}?country={country-code}

Customer

New API

  • GET {baseURL}/v1/customers/{customer-id}/validationStatus?type=account

Audit and webhook

Audit Updated - Added new operation types for Add SoftwareAttestation and Add Device and Policy Updates

Auditing resources - Partner Center app developer | Microsoft Docs

  • GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}?country={country-code}
  • GET {baseURL}/v1/products?country={country}&targetView={targetView}&targetSegment={targetSegment}
  • POST {baseURL}/v1/customers/{customer-tenant-id}/products?targetView={targetView}
  • GET {baseURL}/v1/products/{product-id}?country={country}
  • POST {baseURL}/v1/customers/{customer-tenant-id}/products/{product-id}/skus
  • GET {baseURL}/v1/products/{product-id}/skus?country={country-code}&targetSegment={target-segment}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}?country={country-code}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities?country={country-code}&targetSegment={target-segment}
  • POST {baseURL}/v1/customers/{customer-tenant-id}/products/{product-id}/skus/{sku-id}
  • GET {baseURL}/v1/products/{product-id}/skus/{sku-id}/availabilities/{availability-id}?country={country-code}
  • PUT {baseURL}/customers/{customerId}/subscriptions/overage
  • GET {baseURL}/customers/{customerId}/subscriptions/overage

Version 2.0.1

Microsoft Partner Center .NET SDK v2.0.1 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

Note

Some of changes introduced as part of New Commerce Experiences ("NCE") which are currently available based on invitation only to partners who are part of the Microsoft 365/Microsoft Dynamics 365 new commerce experience technical preview. Partners who aren't part of New commerce private preview should not notice impacts and should be backward compatible.

Common

  • Change on the reference to authentication library – The reference is changed from Azure Active Directory Authentication Library (ADAL) to Microsoft Authentication Library (MSAL)

    Following changes should be made to ensure MSAL runs correctly on your application or .NET sample:

    • Add https://login.microsoftonline.com/common/oauth2/nativeclient as RedirectUrl for Mobile and desktop applications

    • Add Domain into UserAuthentication section in your application configuration file.

      Domain is the Azure Active Directory domain or tenant ID where the Azure AD application was created

  • Error codes – New error code added

    • 408: Request timeout
    • 504: Gateway timeout

Manage billing

  • Invoice line-items - new attributes added to following APIs:

    • GET /invoices/{invoice-id}/lineitems?provider={provider}&invoicelineitemtype=billinglineitems
    • GET /invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=billinglineitems

    New attributes:

    • productQualifiers
    • subscriptionStartDate
    • subscriptionEndDate
    • referenceId
    • creditReasonCode (Only applicable to NCE)
    • promotionId
  • Daily rated usage Line-items – new attributes added to following API:

    • GET /invoices/{invoice-id}/lineitems?provider=onetime&invoicelineitemtype=usagelineitems

    New attributes:

    • hasPartnerEarnedCredit (Only applicable to NCE)
    • creditType (Only applicable to NCE)
    • rateOfCredit (Only applicable to NCE)

Manage orders

  • Subscription Resources – New property added.

    • CancellationAllowedUntilDate - (Only applicable to NCE)
  • Transition Resources (Only applicable to NCE) – New property added

    • FromSubscriptionId

Manage customer accounts

  • Validate an address – Response is changed from a Boolean to a new model for API:

    • POST /validations/address

    New response model:

    • AddressValidationResponse
  • Customer's qualification synchronous API is deprecated.

Version 1.17.0

Microsoft Partner Center .NET SDK v1.17.0 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

  • Audit Updated - Added new operation types for knowing when the customer approved and terminated DAP

  • Audit Updated – Added new resource and operation types for supporting the customer directory role scenario

  • SDK Updates to Customers Account - Support for following APIs

    • GET /customers/{customer-tenant-id}/directSignedMicrosoftCustomerAgreementStatus
    • GET /customers/{customer-tenant-id}/qualifications
    • POST /customers/{customer_id}/qualifications?code={validationCode}
  • Following changes introduced as part of New Commerce which are currently available based on invitation only to partners who are part of the Microsoft 365/Microsoft Dynamics 365 new commerce experience technical preview. Partners who aren't part of New commerce private preview shouldn't notice impacts and should be backward compatible.

    • Catalog Changes:
      • GET /products/{product-id}/skus/{sku-id}
    • Purchase and Manage:
      • GET /customers/{customerId}/subscriptions
      • GET /customers/{customerId}/subscriptions/{subscriptionId}
      • PATCH /customers/{customerId}/subscriptions/{subscriptionId}
      • GET /customers/{customerId}/subscriptions/{subscriptionId}/transitioneligibilities
      • GET /customers/{customerId}/subscriptions/{subscriptionId}/transitions
      • POST /customers/{customerId}/subscriptions/{subscriptionId}/transitions

Version 1.16.3

Microsoft Partner Center .NET SDK v1.16.3 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

Version 1.16.2

Microsoft Partner Center .NET SDK v1.16.2 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

  • Update supported operation types for Audit Record. The newly added ones are:

    • CreateSelfServePolicy
    • UpdateSelfServePolicy
    • DeleteSelfServePolicy
    • RemovePartnerRelationship
    • DeleteTipCustomer
    • CreateRelatedReferral
    • UpdateRelatedReferral
  • Service request creation is now deprecated

  • Support topics are now deprecated

Version 1.16.1

Microsoft Partner Center .NET SDK v1.16.1 is now general availability. Updated GitHub samples are also available. The following changes are included in this version:

We've migrated the existing Microsoft Partner Center SDK from .NET Framework to .NET Standard 2.0 platform. This migration will make the SDK compatible with existing applications using .NET Framework 4.6.1 and above. The SDK supports .NET Core 2.0 and above. Check .NET implementation support before porting it to existing applications.

Version 1.15.3

Microsoft Partner Center .NET SDK v1.15.3 is now general availability. Updated REST APIs and GitHub samples are also available. The following changes are included in this version:

  • Partner Agreement
  • Products
    • The following two interfaces were incorrectly placed under the Microsoft.Store.PartnerCenter.Products namespace. Now, they're located under the Microsoft.Store.PartnerCenter.Customers.Products namespace.
      • ICustomerProductByReservationScope
      • ICustomerSkuByReservationScope