Microsoft Power Platform Authentication
Microsoft Power Platform secures its APIs with oauth2 across 2 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode, clientCredentials, and implicit flow(s).
Security Schemes
Source
Authentication Profile
generated: '2026-09-06'
method: searched
source: >-
https://learn.microsoft.com/en-us/power-platform/admin/programmability-authentication-v2 and
https://learn.microsoft.com/en-us/power-platform/admin/programmability-permission-reference
(both HTTP 200, fetched 2026-09-06), reconciled with the securitySchemes derived from
openapi/microsoft-power-platform-metadata-api-openapi.yml,
openapi/microsoft-power-platform-records-api-openapi.yml and
openapi/_original/microsoft-power-platform-enterprise-policies-openapi.json
docs: https://learn.microsoft.com/en-us/power-platform/admin/programmability-authentication-v2
summary:
types:
- oauth2
oauth2_flows:
- authorizationCode
- clientCredentials
- implicit
api_keys: false
api_key_note: >-
There are no API keys anywhere in the Power Platform surface. Every call on every host is a
Microsoft Entra ID bearer token, which is why there is no test/live key prefix in sandbox/.
schemes:
- name: oauth2
type: oauth2
applies_to:
- Microsoft Dataverse Web API
- Power Platform API
provider: Microsoft Entra ID (formerly Azure AD)
flows:
- flow: authorizationCode
authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
use: interactive user / delegated access
- flow: clientCredentials
tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
use: service principal / application user
note: >-
For Dataverse a service principal also needs a matching APPLICATION USER inside the
environment with a security role. A valid token alone is not access.
description: >-
Microsoft Entra ID OAuth 2.0. The token audience is the resource being called, not a shared
Power Platform audience.
audiences:
- resource: Dataverse
scope: https://{org}.api.crm.dynamics.com/.default
- resource: Power Platform API
scope: https://api.powerplatform.com/.default
- resource: Dataverse MCP server
scope: Dynamics CRM mcp.tools
note: Delegated permission; the client app id must also be allow-listed per environment.
sources:
- openapi/microsoft-power-platform-metadata-api-openapi.yml
- openapi/microsoft-power-platform-records-api-openapi.yml
- name: azure_auth
type: oauth2
applies_to:
- Power Platform Enterprise Policies (Azure Resource Manager)
provider: Microsoft Entra ID
flows:
- flow: implicit
authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
scopes:
user_impersonation: impersonate your user account
description: >-
Declared verbatim in Microsoft's own Swagger for the Microsoft.PowerPlatform resource
provider. Standard Azure Resource Manager auth against the management.azure.com audience.
sources:
- openapi/_original/microsoft-power-platform-enterprise-policies-openapi.json
oidc:
discovery: https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
note: >-
No Power Platform host serves its own openid-configuration - the identity plane is Entra ID.
See well-known/microsoft-power-platform-well-known.yml.
authorization:
model: >-
Two independent layers. Entra ID decides whether the caller may reach the API; Dataverse
security roles and Power Platform admin permissions decide what the caller may do once in.
A 403 means the second layer refused and no retry will help.
reference: https://learn.microsoft.com/en-us/power-platform/admin/programmability-permission-reference
observed:
- url: https://api.powerplatform.com/licensing/billingPolicies?api-version=2022-03-01-preview
status: 401
www_authenticate: Bearer error="invalid_token"
probed: '2026-09-06'
- url: https://api.bap.microsoft.com/.well-known/security.txt
status: 401
probed: '2026-09-06'
Work with this as data
Every security artifact here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/security/microsoft-power-platform-authentication"
curl "https://apis.io/api/v1/security?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.