Partner API for AI Business Solutions & Security Insights overview

Note

This API provides access to the AI Business Solutions & Security Insights report. For all other Partner Center data scenarios, see Partner Center REST APIs.


Overview | API details | Getting started | Authentication | Base URLs | Rate limits| Error Hanlding | Sample output | Support

Overview

The Partner API for AI Business Solutions & Security Insights enables partners to integrate their existing CRM systems with Microsoft data, including usage signals, upsell propensity, incentive eligibility, referral opportunities, and other key insights.

Before you begin coding, review the ASPX API Onboarding Guide for the steps required to onboard and gain access to the API.

API details

The API is a standard REST formatted API accessible at https://m365partner.microsoft.com. All endpoints are prefixed by a version number. Version 1.3 is in maintenance mode. Version 1.5 is the current version, which includes new features and endpoints. Use this base URL for calls in version 1.5: https://m365partner.microsoft.com/abss/v{version}/api/.

Example: https://m365partner.microsoft.com/abss/v1.5/api/timezones

Getting started

To get started, complete a one-time onboarding and setup process. This process includes completing the onboarding form, provisioning required service principals, registering an app in Microsoft Entra ID, configuring API permissions and authentication, and adding the app in the Partner API management portal. Review the ASPX API Onboarding Guide.

Authentication

Access tokens can be retrieved through Microsoft Entra ID.

In Microsoft Entra ID, set up your application with the following permission based on your scenario:

  • User Authentication: Api.Access

  • Application (Service Principal) Authentication: Api.Access.Application

When requesting a token in your OAuth client of choice, request a token for the following scope (resource):
https://m365partner.microsoft.com/.default.

Once you have the access token, call the API this authorization header: Authorization: Bearer \<Access Token\>

Base URLs

https://m365partner.microsoft.com/abss/v1.5/api/

Rate limits

The API rate limits activity to 600 calls per minute per identifiable user (or, if no user token is present, per IP address).  

Error handling

All error responses return an HTTP status code in the header, plus error details in the following format:


{  
ErrorStatus: (400, 500, etc.)  
DependencyErrorCode: Optional structured error code from the dependency.  
Message: A descriptive message about the error that has occurred.  
}

The DependencyErrorCode typically provides more debugging information, usually as a simple string. For 400 (validation) errors, it may contain structured JSON describing which input fields were invalid and why.

Example:


{  
"errors": {  
   "Email": [ "Invalid email address provided" ],  
   "ContactTypeId": [ "Contact Type is Required" ]  
},  
"errorStatus": 400,  
"message": "One or more validation errors occurred."  
}

Sample output

GET https://m365partner.microsoft.com/abss/v1.3/api/partnerTenants

Response Example (HTTP)  
Status: 200 OK  
{  
   "count": 2,  
   "hasMore": false,  
   "items": [  
    {  
      "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",  
      "tpid": 123,  
      "name": "Dummy Tenant 1",  
      "claimedWorkloads": [  
        {"id": 456, "name": "Dummy Workload 1"},  
        {"id": 789, "name": "Dummy Workload 2"}  
      ]  
   },  
   {  
      "tenantId": "bbbbcccc-1111-dddd-2222-eeee3333ffff",  
      "tpid": 456,  
      "name": "Dummy Tenant 2",  
      "claimedWorkloads": [  
        {"id": 123, "name": "Dummy Workload 3"}  
      ]  
     }  
    ]  
   }

Request header

Name Required Type Description
Authorization True string Authorization Bearer token

Responses

Response Status Codes

Status Description
200 OK Success
304 Not Modified ETag match (metadata only) (v1.5 only)
400 Bad Request Invalid parameters (unknown include token, invalid category, and so on)
401 Unauthorized Missing or invalid token
403 Forbidden No authorized MPNs or unauthorized MPN requested
404 Not Found Feature flag not enabled
429 Too Many Requests Rate limit exceeded (sync mode) (v1.5 only)
500 Internal Server Error Server-side failure (retryable)

Support

If you encounter issues with onboarding or API access, contact our support team at: PXPartnerSupport@microsoft.com

Please include:

  • Partner name
  • MPN ID(s)
  • The Tenant ID of your program membership
  • A brief description of your issue