Microsoft Fabric Policy Sets API
The Policy Sets API from Microsoft Fabric — 3 operation(s) for policy sets.
The Policy Sets API from Microsoft Fabric — 3 operation(s) for policy sets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/microsoft-fabric:microsoft-fabric-policy-sets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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.
openapi: 3.2.0
info:
title: Microsoft Fabric Admin REST Policy Sets API
version: v1
x-source: 'https://github.com/microsoft/fabric-rest-api-specs (bundled from openapi/_original/fabric-rest-api-specs: admin/swagger.json)'
servers:
- url: https://api.fabric.microsoft.com/v1/admin
security: []
tags:
- name: Policy Sets
paths:
/workspaces/{workspaceId}/policySets/{policySetId}/activate:
post:
summary: Activates the policy set on the tenant scope
description: '> [!NOTE]
> Policy set item is currently in Preview (learn more).
## Permissions
The caller must be a Fabric administrator.
## Required Delegated Scopes
Tenant.ReadWrite.All
## Limitations
- Maximum 10 requests per minute.
- Only a single policy set can be active on the specified scope.
## Microsoft Entra supported identities
This API supports the Microsoft identities listed in this section.
| Identity | Support |
|-|-|
| User | Yes |
| Service principal and Managed identities | Yes |
## Interface'
tags:
- Policy Sets
operationId: PolicySets_Activate
parameters:
- in: path
name: workspaceId
description: The workspace ID.
required: true
schema:
type: string
format: uuid
- in: path
name: policySetId
description: The PolicySet ID.
required: true
schema:
type: string
format: uuid
- name: allowReplace
description: 'When true, allow to replace existing active PolicySet. Default: false.'
in: query
required: false
schema:
type: boolean
responses:
'200':
description: Request completed successfully.
'429':
description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
x-ms-error-response: true
headers:
Retry-After:
description: The number of seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
description: 'Common error codes:
* UnknownError - An error occurred.
* PolicySetActivationConflict - PolicySet activation failed because another PolicySet is already active.
* PolicySetNotFound - The PolicySet ID doesn''t exist.
* PolicySetScopeTypeInvalid - Activation failed because the specified PolicySet scope is not Tenant.
* PolicySetIsAlreadyActive - Activation failed because the specified PolicySet ID is already active.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/workspaces/{workspaceId}/policySets/{policySetId}/deactivate:
post:
summary: Deactivates the policy set from the tenant scope
description: '> [!NOTE]
> Policy set item is currently in Preview (learn more).
## Permissions
The caller must be a Fabric administrator.
## Required Delegated Scopes
Tenant.ReadWrite.All
## Limitations
Maximum 10 requests per minute.
## Microsoft Entra supported identities
This API supports the Microsoft identities listed in this section.
| Identity | Support |
|-|-|
| User | Yes |
| Service principal and Managed identities | Yes |
## Interface'
tags:
- Policy Sets
operationId: PolicySets_Deactivate
parameters:
- in: path
name: workspaceId
description: The workspace ID.
required: true
schema:
type: string
format: uuid
- in: path
name: policySetId
description: The PolicySet ID.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Request completed successfully.
'429':
description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
x-ms-error-response: true
headers:
Retry-After:
description: The number of seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
description: 'Common error codes:
* UnknownError - An error occurred.
* PolicySetNotFound - The PolicySet ID doesn''t exist.
* PolicySetScopeTypeInvalid - Deactivation failed because the specified PolicySet scope is not Tenant.
* PolicySetIsNotActive - PolicySet is not active.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/policySets/active?beta=true:
get:
summary: Returns the active policy set on the tenant scope
description: '> [!NOTE]
> This API is part of a Beta release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.
**When calling this API, callers must specify `true` as the value for the query parameter `beta`.**
> [!NOTE]
> Policy set item is currently in Preview (learn more).
## Permissions
The caller must be a Fabric administrator.
## Required Delegated Scopes
Tenant.ReadWrite.All
## Limitations
Maximum 10 requests per minute.
## Microsoft Entra supported identities
This API supports the Microsoft identities listed in this section.
| Identity | Support |
|-|-|
| User | Yes |
| Service principal and Managed identities | Yes |
## Interface'
tags:
- Policy Sets
operationId: PolicySets_Get_Active_(beta)
parameters:
- in: query
name: beta
description: This required parameter must be set to `true` to access this API, which is currently in beta.
required: true
schema:
type: boolean
responses:
'200':
description: Request completed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ActivePolicySetWithRulesResponse'
'429':
description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
x-ms-error-response: true
headers:
Retry-After:
description: The number of seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
default:
description: 'Common error codes:
* PolicySetNotFound - An active policy set on tenant scope was not found.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ErrorResponse:
description: The error response.
required:
- message
- errorCode
allOf:
- $ref: '#/components/schemas/ErrorResponseDetails'
properties:
requestId:
type: string
format: uuid
description: ID of the request associated with the error.
readOnly: true
moreDetails:
description: List of additional error details.
type: array
items:
$ref: '#/components/schemas/ErrorResponseDetails'
readOnly: true
isRetriable:
type: boolean
description: When true, the request can be retried. Use the `Retry-After` response header to determine the delay, if available.
readOnly: true
Effect:
type: object
description: A policy rule effect object.
required:
- type
properties:
type:
type: string
description: Effect type. Additional types may be added over time.
enum:
- Allow
x-ms-enum:
name: EffectType
modelAsString: true
values:
- value: Allow
description: Allow effect.
discriminator:
propertyName: type
ActivePolicySetWithRulesResponse:
description: The active policy set response.
type: object
properties:
id:
description: The policy set ID.
type: string
format: uuid
readOnly: true
displayName:
description: The policy set display name.
type: string
readOnly: false
description:
description: The policy set description.
type: string
readOnly: false
workspaceId:
description: The workspace ID.
type: string
format: uuid
readOnly: true
policyRules:
description: A list of policy rules.
type: array
items:
$ref: '#/components/schemas/PolicyRule'
PrincipalType:
description: The type of the principal. Additional principal types may be added over time.
type: string
enum:
- User
- ServicePrincipal
- Group
- ServicePrincipalProfile
- EntireTenant
x-ms-enum:
name: PrincipalType
modelAsString: true
values:
- value: User
description: Principal is a Microsoft Entra user principal.
- value: ServicePrincipal
description: Principal is a Microsoft Entra service principal.
- value: Group
description: Principal is a security group.
- value: ServicePrincipalProfile
description: Principal is a service principal profile.
- value: EntireTenant
description: Principal represents all tenant users.
PolicyRule:
description: Policy rule object.
type: object
required:
- displayName
- description
- policy
- conditions
- effects
properties:
id:
description: The policy rule ID.
type: string
format: uuid
readOnly: true
displayName:
description: The policy rule display name.
type: string
readOnly: false
description:
description: The policy rule description.
type: string
readOnly: false
policy:
$ref: '#/components/schemas/Policy'
conditions:
description: The policy rule conditions, all conditions must be met.
type: array
items:
$ref: '#/components/schemas/Condition'
readOnly: false
createdDateTime:
type: string
description: The creation date time in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.
readOnly: true
lastModifiedDateTime:
type: string
description: The last modification date time in UTC, using the YYYY-MM-DDTHH:mm:ssZ format.
readOnly: true
modifiedByUser:
$ref: '#/components/schemas/Principal'
effects:
description: The list of effects to apply when all conditions are met.
type: array
items:
$ref: '#/components/schemas/Effect'
readOnly: false
Policy:
type: string
description: Policy. Additional types may be added over time.
enum:
- ItemCreation
- WorkspaceSettingsEditing
x-ms-enum:
name: PolicyType
modelAsString: true
values:
- value: ItemCreation
description: ItemCreation policy. Refer to this [article](/fabric/governance/fabric-policies-item-creation) for more details.
- value: WorkspaceSettingsEditing
description: WorkspaceSettingsEditing policy. Refer to this [article](/fabric/governance/fabric-policies-edit-workspace-settings) for more details.
Principal:
description: Represents an identity or a Microsoft Entra group.
type: object
required:
- id
- type
discriminator:
propertyName: type
properties:
id:
description: The principal's ID.
type: string
format: uuid
readOnly: false
displayName:
description: The principal's display name.
type: string
readOnly: true
type:
$ref: '#/components/schemas/PrincipalType'
Condition:
type: object
description: A policy rule condition object.
required:
- type
properties:
type:
type: string
description: Condition type. Additional types may be added over time.
enum:
- Static
- Dynamic
x-ms-enum:
name: ConditionType
modelAsString: true
values:
- value: Static
description: Static boolean condition.
- value: Dynamic
description: Dynamic condition that evaluates a target property against a list of values.
discriminator:
propertyName: type
ErrorResponseDetails:
description: The error response details.
type: object
required:
- message
- errorCode
properties:
errorCode:
type: string
description: A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users.
readOnly: true
message:
type: string
description: A human readable representation of the error.
readOnly: true
relatedResource:
$ref: '#/components/schemas/ErrorRelatedResource'
parameters:
description: Structured parameters providing additional machine-readable context about the error.
type: array
items:
$ref: '#/components/schemas/ErrorParameter'
readOnly: true
ErrorRelatedResource:
description: The error related resource details object.
type: object
required:
- resourceId
- resourceType
properties:
resourceId:
type: string
description: The resource ID that's involved in the error.
readOnly: true
resourceType:
type: string
description: The type of the resource that's involved in the error.
readOnly: true
ErrorParameter:
description: A structured parameter providing additional machine-readable context about an error.
type: object
properties:
name:
type: string
description: The parameter identifier.
readOnly: true
value:
type: string
description: The parameter value.
readOnly: true
message:
type: string
description: A human-readable description of the parameter's meaning.
readOnly: true