.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):
- Azure plan - Manage subscriptions & resources
- Cancel an Azure subscription - Partner Center app developer
- Azure spending - Cancel an Azure entitlement - REST API (Partner Center Rest)
- Get an Azure entitlement for a subscription - Partner Center app developer
- Azure spending - Get an Azure entitlement for a subscription - REST API (Partner Center Rest)
'OperationId' is now present in the below API responses:
- Transition a new commerce subscription - Partner app developer
- Gets transition history for a previously transitioned new commerce subscription - Partner app developer
New GDAP error messages:
- Transition a subscription - Partner app developer
- Transition a new commerce subscription - Partner app developer
- Get subscription provisioning status - Partner app developer
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:
- Schedule a new commerce migration
- Cancel a new commerce migration
- Update a new commerce migration
- Get a new commerce migration
Updates to the API contract
Qualifications API - Updated public contract with three new fields: "EducationSegment", "Website", "ValidationCode" Update a customer's qualifications
Validation status -The "lastUpdateDatetime" is changed from DateTime to String Retrieve validation status of a customer
Self Serve Policy - New value "AzureSavingsPlan" supported for Resource under Permission object Create a self-serve policy
Migration - Introduced "customTermEndDate" field Create a new commerce migration
Subscription resource -New "BillingCycleEndDate" attribute added Subscription resources
Added new error type "NoPromotionsAvailableEligibilityError" and added "AvailableSeats" property to the "SeatCountPromotionEligibilityError" Verify a promotion eligibility
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 theSubscription
model - Added
CustomTermEndDate
property to theScheduledNextTermInstructions
model - Added
MigratedFromSubscriptionId
property to theSubscription
model
- Added
POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/validate
- Added
AddOnMigrations
property to theNewCommerceMigration
model
- Added
POST {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce
- Added
AddOnMigrations
property to theNewCommerceMigration
model
- Added
GET {baseUrl}/v1/customers/{customer_tenant_id}/migrations/newcommerce/{migration_id}
- Added
AddOnMigrations
property to theNewCommerceMigration
model
- Added
POST {baseURL}/v1/customers/{customer_id}/carts
- Added new
CartErrorCode
enum values - Added new
AdditionalInformation
model toCartError
model - Added
CustomTermEndDate
property to theCartLineItem
model
- Added new
GET/PUT {baseURL}/v1/customers/{customer_id}/carts/{cart_id}
- Added new
CartErrorCode
enum values - Added new
AdditionalInformation
model toCartError
model - Added
CustomTermEndDate
property to theCartLineItem
model
- Added new
GET/POST {baseURL}/v1/customers/{customer_id}/orders
- Added
CustomTermEndDate
property to theOrderLineItem
model
- Added
GET/PATCH {baseURL}/v1/customers/{customer_id}/orders/{order_id}
- Added
CustomTermEndDate
property to theOrderLineItem
model
- Added
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
- Remove DAP API – To remove DAP set
Audit and webhook
Audit Updated - Added new operation types for "Manage Overage", "DAP Admin Relationship Terminated By Microsoft" and "Azure Fraud Event Detected".
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 applicationsAdd 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
- Resource type "CustomerDirectoryRole"
- Operation types "AddUserMember" and "RemoveUserMember"
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
- Catalog Changes:
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:
SelfServePolicies - new functionality added
Customers Company Profile
CustomerBillingProfile.DefaultAddress
- Added MiddleName
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
- Added the ability for indirect providers to verify Microsoft Partner Agreement status of indirect resellers.
- 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
- 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.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for