naftiko: 1.0.0-alpha2 info: label: Microsoft Graph Policies — policies.unifiedRoleManagementPolicy description: 'Microsoft Graph Policies — policies.unifiedRoleManagementPolicy. 18 operations. Lead operation: Microsoft Graph List roleManagementPolicies. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - policies.unifiedRoleManagementPolicy created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_GRAPH_API_KEY: MICROSOFT_GRAPH_API_KEY capability: consumes: - type: http namespace: policies-policies-unifiedrolemanagementpolicy baseUri: '' description: Microsoft Graph Policies — policies.unifiedRoleManagementPolicy business capability. Self-contained, no shared references. resources: - name: policies-roleManagementPolicies path: /policies/roleManagementPolicies operations: - name: policieslistrolemanagementpolicies method: GET description: Microsoft Graph List roleManagementPolicies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: policiescreaterolemanagementpolicies method: POST description: Microsoft Graph Create new navigation property to roleManagementPolicies for policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-roleManagementPolicies-$count path: /policies/roleManagementPolicies/$count operations: - name: policiesrolemanagementpoliciesgetcountcdca method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id} operations: - name: policiesgetrolemanagementpolicies method: GET description: Microsoft Graph Get unifiedRoleManagementPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: policiesupdaterolemanagementpolicies method: PATCH description: Microsoft Graph Update the navigation property roleManagementPolicies in policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policiesdeleterolemanagementpolicies method: DELETE description: Microsoft Graph Delete navigation property roleManagementPolicies for policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-effectiveRules path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules operations: - name: policiesrolemanagementpolicieslisteffectiverules method: GET description: Microsoft Graph Get effectiveRules from policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: policiesrolemanagementpoliciescreateeffectiverules method: POST description: Microsoft Graph Create new navigation property to effectiveRules for policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-effectiveRules-$c path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/$count operations: - name: policiesrolemanagementpolicieseffectiverulesgetcount5858 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-effectiveRules-un path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id} operations: - name: policiesrolemanagementpoliciesgeteffectiverules method: GET description: Microsoft Graph Get effectiveRules from policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: policiesrolemanagementpoliciesupdateeffectiverules method: PATCH description: Microsoft Graph Update the navigation property effectiveRules in policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policiesrolemanagementpoliciesdeleteeffectiverules method: DELETE description: Microsoft Graph Delete navigation property effectiveRules for policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-rules path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules operations: - name: policiesrolemanagementpolicieslistrules method: GET description: Microsoft Graph List rules (for a role management policy) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: policiesrolemanagementpoliciescreaterules method: POST description: Microsoft Graph Create new navigation property to rules for policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-rules-$count path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/$count operations: - name: policiesrolemanagementpoliciesrulesgetcount6c00 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-rules-unifiedRole path: /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id} operations: - name: policiesrolemanagementpoliciesgetrules method: GET description: Microsoft Graph Get unifiedRoleManagementPolicyRule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: policiesrolemanagementpoliciesupdaterules method: PATCH description: Microsoft Graph Update unifiedRoleManagementPolicyRule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policiesrolemanagementpoliciesdeleterules method: DELETE description: Microsoft Graph Delete navigation property rules for policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag exposes: - type: rest namespace: policies-policies-unifiedrolemanagementpolicy-rest port: 8080 description: REST adapter for Microsoft Graph Policies — policies.unifiedRoleManagementPolicy. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/policies/rolemanagementpolicies name: policies-rolemanagementpolicies description: REST surface for policies-roleManagementPolicies. operations: - method: GET name: policieslistrolemanagementpolicies description: Microsoft Graph List roleManagementPolicies call: policies-policies-unifiedrolemanagementpolicy.policieslistrolemanagementpolicies with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: policiescreaterolemanagementpolicies description: Microsoft Graph Create new navigation property to roleManagementPolicies for policies call: policies-policies-unifiedrolemanagementpolicy.policiescreaterolemanagementpolicies with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/count name: policies-rolemanagementpolicies-count description: REST surface for policies-roleManagementPolicies-$count. operations: - method: GET name: policiesrolemanagementpoliciesgetcountcdca description: Microsoft Graph Get the number of the resource call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesgetcountcdca outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id} name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id. operations: - method: GET name: policiesgetrolemanagementpolicies description: Microsoft Graph Get unifiedRoleManagementPolicy call: policies-policies-unifiedrolemanagementpolicy.policiesgetrolemanagementpolicies with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: policiesupdaterolemanagementpolicies description: Microsoft Graph Update the navigation property roleManagementPolicies in policies call: policies-policies-unifiedrolemanagementpolicy.policiesupdaterolemanagementpolicies with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: policiesdeleterolemanagementpolicies description: Microsoft Graph Delete navigation property roleManagementPolicies for policies call: policies-policies-unifiedrolemanagementpolicy.policiesdeleterolemanagementpolicies with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id}/effectiverules name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id-effectiverules description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-effectiveRules. operations: - method: GET name: policiesrolemanagementpolicieslisteffectiverules description: Microsoft Graph Get effectiveRules from policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpolicieslisteffectiverules with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: policiesrolemanagementpoliciescreateeffectiverules description: Microsoft Graph Create new navigation property to effectiveRules for policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciescreateeffectiverules with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id}/effectiverules/count name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id-effectiverules-c description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-effectiveRules-$c. operations: - method: GET name: policiesrolemanagementpolicieseffectiverulesgetcount5858 description: Microsoft Graph Get the number of the resource call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpolicieseffectiverulesgetcount5858 outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id}/effectiverules/{unifiedrolemanagementpolicyrule-id} name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id-effectiverules-un description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-effectiveRules-un. operations: - method: GET name: policiesrolemanagementpoliciesgeteffectiverules description: Microsoft Graph Get effectiveRules from policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesgeteffectiverules with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: policiesrolemanagementpoliciesupdateeffectiverules description: Microsoft Graph Update the navigation property effectiveRules in policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesupdateeffectiverules with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: policiesrolemanagementpoliciesdeleteeffectiverules description: Microsoft Graph Delete navigation property effectiveRules for policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesdeleteeffectiverules with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id}/rules name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id-rules description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-rules. operations: - method: GET name: policiesrolemanagementpolicieslistrules description: Microsoft Graph List rules (for a role management policy) call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpolicieslistrules with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: policiesrolemanagementpoliciescreaterules description: Microsoft Graph Create new navigation property to rules for policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciescreaterules with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id}/rules/count name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id-rules-count description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-rules-$count. operations: - method: GET name: policiesrolemanagementpoliciesrulesgetcount6c00 description: Microsoft Graph Get the number of the resource call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesrulesgetcount6c00 outputParameters: - type: object mapping: $. - path: /v1/policies/rolemanagementpolicies/{unifiedrolemanagementpolicy-id}/rules/{unifiedrolemanagementpolicyrule-id} name: policies-rolemanagementpolicies-unifiedrolemanagementpolicy-id-rules-unifiedrole description: REST surface for policies-roleManagementPolicies-unifiedRoleManagementPolicy-id-rules-unifiedRole. operations: - method: GET name: policiesrolemanagementpoliciesgetrules description: Microsoft Graph Get unifiedRoleManagementPolicyRule call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesgetrules with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: policiesrolemanagementpoliciesupdaterules description: Microsoft Graph Update unifiedRoleManagementPolicyRule call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesupdaterules with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: policiesrolemanagementpoliciesdeleterules description: Microsoft Graph Delete navigation property rules for policies call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesdeleterules with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - type: mcp namespace: policies-policies-unifiedrolemanagementpolicy-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph Policies — policies.unifiedRoleManagementPolicy. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-list-rolemanagementpolicies description: Microsoft Graph List roleManagementPolicies hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policieslistrolemanagementpolicies with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-new-navigation description: Microsoft Graph Create new navigation property to roleManagementPolicies for policies hints: readOnly: false destructive: false idempotent: false call: policies-policies-unifiedrolemanagementpolicy.policiescreaterolemanagementpolicies with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesgetcountcdca outputParameters: - type: object mapping: $. - name: microsoft-graph-get-unifiedrolemanagementpolicy description: Microsoft Graph Get unifiedRoleManagementPolicy hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesgetrolemanagementpolicies with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property description: Microsoft Graph Update the navigation property roleManagementPolicies in policies hints: readOnly: false destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesupdaterolemanagementpolicies with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-navigation-property description: Microsoft Graph Delete navigation property roleManagementPolicies for policies hints: readOnly: false destructive: true idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesdeleterolemanagementpolicies with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-get-effectiverules-policies description: Microsoft Graph Get effectiveRules from policies hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpolicieslisteffectiverules with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-new-navigation-2 description: Microsoft Graph Create new navigation property to effectiveRules for policies hints: readOnly: false destructive: false idempotent: false call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciescreateeffectiverules with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource-2 description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpolicieseffectiverulesgetcount5858 outputParameters: - type: object mapping: $. - name: microsoft-graph-get-effectiverules-policies-2 description: Microsoft Graph Get effectiveRules from policies hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesgeteffectiverules with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property-2 description: Microsoft Graph Update the navigation property effectiveRules in policies hints: readOnly: false destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesupdateeffectiverules with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-navigation-property-2 description: Microsoft Graph Delete navigation property effectiveRules for policies hints: readOnly: false destructive: true idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesdeleteeffectiverules with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-list-rules-role description: Microsoft Graph List rules (for a role management policy) hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpolicieslistrules with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-new-navigation-3 description: Microsoft Graph Create new navigation property to rules for policies hints: readOnly: false destructive: false idempotent: false call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciescreaterules with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource-3 description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesrulesgetcount6c00 outputParameters: - type: object mapping: $. - name: microsoft-graph-get-unifiedrolemanagementpolicyrule description: Microsoft Graph Get unifiedRoleManagementPolicyRule hints: readOnly: true destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesgetrules with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-unifiedrolemanagementpolicyrule description: Microsoft Graph Update unifiedRoleManagementPolicyRule hints: readOnly: false destructive: false idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesupdaterules with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-navigation-property-3 description: Microsoft Graph Delete navigation property rules for policies hints: readOnly: false destructive: true idempotent: true call: policies-policies-unifiedrolemanagementpolicy.policiesrolemanagementpoliciesdeleterules with: If-Match: tools.If-Match outputParameters: - type: object mapping: $.