Microsoft Fabric Policy Sets API

The Policy Sets API from Microsoft Fabric — 3 operation(s) for policy sets.

Operations 3

POST /workspaces/{workspaceId}/policySets/{policySetId}/activate Activates the policy set on the tenant scope #
POST /workspaces/{workspaceId}/policySets/{policySetId}/deactivate Deactivates the policy set from the tenant scope #
GET /policySets/active?beta=true Returns the active policy set on the tenant scope #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-fabric:microsoft-fabric-policy-sets-api"
All apis
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.

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.

OpenAPI Specification

microsoft-fabric-policy-sets-api-openapi.yml Raw ↑
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