naftiko: 1.0.0-alpha2 info: label: Microsoft Graph OData Service for namespace microsoft.graph — policies.permissionGrantPolicy description: 'Microsoft Graph OData Service for namespace microsoft.graph — policies.permissionGrantPolicy. 18 operations. Lead operation: Microsoft Graph List permissionGrantPolicies. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - policies.permissionGrantPolicy 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: microsoft-graph-policies-permissiongrantpolicy baseUri: https://graph.microsoft.com/v1.0 description: Microsoft Graph OData Service for namespace microsoft.graph — policies.permissionGrantPolicy business capability. Self-contained, no shared references. resources: - name: policies-permissionGrantPolicies path: /policies/permissionGrantPolicies operations: - name: policieslistpermissiongrantpolicies method: GET description: Microsoft Graph List permissionGrantPolicies 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: policiescreatepermissiongrantpolicies method: POST description: Microsoft Graph Create permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-permissionGrantPolicies-$count path: /policies/permissionGrantPolicies/$count operations: - name: policiespermissiongrantpoliciesgetcount86b8 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-permissionGrantPolicies-permissionGrantPolicy-id path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id} operations: - name: policiesgetpermissiongrantpolicies method: GET description: Microsoft Graph Get permissionGrantPolicy 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: policiesupdatepermissiongrantpolicies method: PATCH description: Microsoft Graph Update permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policiesdeletepermissiongrantpolicies method: DELETE description: Microsoft Graph Delete permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: policies-permissionGrantPolicies-permissionGrantPolicy-id-excludes path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id}/excludes operations: - name: policiespermissiongrantpolicieslistexcludes method: GET description: Microsoft Graph List excludes collection of permissionGrantPolicy 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: policiespermissiongrantpoliciescreateexcludes method: POST description: Microsoft Graph Create permissionGrantConditionSet in excludes collection of permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-permissionGrantPolicies-permissionGrantPolicy-id-excludes-$count path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id}/excludes/$count operations: - name: policiespermissiongrantpoliciesexcludesgetcount7507 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-permissionGrantPolicies-permissionGrantPolicy-id-excludes-permissionGra path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id}/excludes/{permissionGrantConditionSet-id} operations: - name: policiespermissiongrantpoliciesgetexcludes method: GET description: Microsoft Graph Get excludes 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: policiespermissiongrantpoliciesupdateexcludes method: PATCH description: Microsoft Graph Update the navigation property excludes in policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policiespermissiongrantpoliciesdeleteexcludes method: DELETE description: Microsoft Graph Delete permissionGrantConditionSet from excludes collection of permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: policies-permissionGrantPolicies-permissionGrantPolicy-id-includes path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id}/includes operations: - name: policiespermissiongrantpolicieslistincludes method: GET description: Microsoft Graph List includes collection of permissionGrantPolicy 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: policiespermissiongrantpoliciescreateincludes method: POST description: Microsoft Graph Create permissionGrantConditionSet in includes collection of permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policies-permissionGrantPolicies-permissionGrantPolicy-id-includes-$count path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id}/includes/$count operations: - name: policiespermissiongrantpoliciesincludesgetcount4a76 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: policies-permissionGrantPolicies-permissionGrantPolicy-id-includes-permissionGra path: /policies/permissionGrantPolicies/{permissionGrantPolicy-id}/includes/{permissionGrantConditionSet-id} operations: - name: policiespermissiongrantpoliciesgetincludes method: GET description: Microsoft Graph Get includes 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: policiespermissiongrantpoliciesupdateincludes method: PATCH description: Microsoft Graph Update the navigation property includes in policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: policiespermissiongrantpoliciesdeleteincludes method: DELETE description: Microsoft Graph Delete permissionGrantConditionSet from includes collection of permissionGrantPolicy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag exposes: - type: rest namespace: microsoft-graph-policies-permissiongrantpolicy-rest port: 8080 description: REST adapter for Microsoft Graph OData Service for namespace microsoft.graph — policies.permissionGrantPolicy. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/policies/permissiongrantpolicies name: policies-permissiongrantpolicies description: REST surface for policies-permissionGrantPolicies. operations: - method: GET name: policieslistpermissiongrantpolicies description: Microsoft Graph List permissionGrantPolicies call: microsoft-graph-policies-permissiongrantpolicy.policieslistpermissiongrantpolicies with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: policiescreatepermissiongrantpolicies description: Microsoft Graph Create permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiescreatepermissiongrantpolicies with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/count name: policies-permissiongrantpolicies-count description: REST surface for policies-permissionGrantPolicies-$count. operations: - method: GET name: policiespermissiongrantpoliciesgetcount86b8 description: Microsoft Graph Get the number of the resource call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesgetcount86b8 outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id} name: policies-permissiongrantpolicies-permissiongrantpolicy-id description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id. operations: - method: GET name: policiesgetpermissiongrantpolicies description: Microsoft Graph Get permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiesgetpermissiongrantpolicies with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: policiesupdatepermissiongrantpolicies description: Microsoft Graph Update permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiesupdatepermissiongrantpolicies with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: policiesdeletepermissiongrantpolicies description: Microsoft Graph Delete permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiesdeletepermissiongrantpolicies with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id}/excludes name: policies-permissiongrantpolicies-permissiongrantpolicy-id-excludes description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id-excludes. operations: - method: GET name: policiespermissiongrantpolicieslistexcludes description: Microsoft Graph List excludes collection of permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpolicieslistexcludes with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: policiespermissiongrantpoliciescreateexcludes description: Microsoft Graph Create permissionGrantConditionSet in excludes collection of permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciescreateexcludes with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id}/excludes/count name: policies-permissiongrantpolicies-permissiongrantpolicy-id-excludes-count description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id-excludes-$count. operations: - method: GET name: policiespermissiongrantpoliciesexcludesgetcount7507 description: Microsoft Graph Get the number of the resource call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesexcludesgetcount7507 outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id}/excludes/{permissiongrantconditionset-id} name: policies-permissiongrantpolicies-permissiongrantpolicy-id-excludes-permissiongra description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id-excludes-permissionGra. operations: - method: GET name: policiespermissiongrantpoliciesgetexcludes description: Microsoft Graph Get excludes from policies call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesgetexcludes with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: policiespermissiongrantpoliciesupdateexcludes description: Microsoft Graph Update the navigation property excludes in policies call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesupdateexcludes with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: policiespermissiongrantpoliciesdeleteexcludes description: Microsoft Graph Delete permissionGrantConditionSet from excludes collection of permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesdeleteexcludes with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id}/includes name: policies-permissiongrantpolicies-permissiongrantpolicy-id-includes description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id-includes. operations: - method: GET name: policiespermissiongrantpolicieslistincludes description: Microsoft Graph List includes collection of permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpolicieslistincludes with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: policiespermissiongrantpoliciescreateincludes description: Microsoft Graph Create permissionGrantConditionSet in includes collection of permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciescreateincludes with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id}/includes/count name: policies-permissiongrantpolicies-permissiongrantpolicy-id-includes-count description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id-includes-$count. operations: - method: GET name: policiespermissiongrantpoliciesincludesgetcount4a76 description: Microsoft Graph Get the number of the resource call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesincludesgetcount4a76 outputParameters: - type: object mapping: $. - path: /v1/policies/permissiongrantpolicies/{permissiongrantpolicy-id}/includes/{permissiongrantconditionset-id} name: policies-permissiongrantpolicies-permissiongrantpolicy-id-includes-permissiongra description: REST surface for policies-permissionGrantPolicies-permissionGrantPolicy-id-includes-permissionGra. operations: - method: GET name: policiespermissiongrantpoliciesgetincludes description: Microsoft Graph Get includes from policies call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesgetincludes with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: policiespermissiongrantpoliciesupdateincludes description: Microsoft Graph Update the navigation property includes in policies call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesupdateincludes with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: policiespermissiongrantpoliciesdeleteincludes description: Microsoft Graph Delete permissionGrantConditionSet from includes collection of permissionGrantPolicy call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesdeleteincludes with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - type: mcp namespace: microsoft-graph-policies-permissiongrantpolicy-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph OData Service for namespace microsoft.graph — policies.permissionGrantPolicy. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-list-permissiongrantpolicies description: Microsoft Graph List permissionGrantPolicies hints: readOnly: true destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policieslistpermissiongrantpolicies with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-permissiongrantpolicy description: Microsoft Graph Create permissionGrantPolicy hints: readOnly: false destructive: false idempotent: false call: microsoft-graph-policies-permissiongrantpolicy.policiescreatepermissiongrantpolicies 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: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesgetcount86b8 outputParameters: - type: object mapping: $. - name: microsoft-graph-get-permissiongrantpolicy description: Microsoft Graph Get permissionGrantPolicy hints: readOnly: true destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiesgetpermissiongrantpolicies with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-permissiongrantpolicy description: Microsoft Graph Update permissionGrantPolicy hints: readOnly: false destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiesupdatepermissiongrantpolicies with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-permissiongrantpolicy description: Microsoft Graph Delete permissionGrantPolicy hints: readOnly: false destructive: true idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiesdeletepermissiongrantpolicies with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-list-excludes-collection description: Microsoft Graph List excludes collection of permissionGrantPolicy hints: readOnly: true destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpolicieslistexcludes with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-permissiongrantconditionset-excludes description: Microsoft Graph Create permissionGrantConditionSet in excludes collection of permissionGrantPolicy hints: readOnly: false destructive: false idempotent: false call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciescreateexcludes 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: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesexcludesgetcount7507 outputParameters: - type: object mapping: $. - name: microsoft-graph-get-excludes-policies description: Microsoft Graph Get excludes from policies hints: readOnly: true destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesgetexcludes with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property description: Microsoft Graph Update the navigation property excludes in policies hints: readOnly: false destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesupdateexcludes with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-permissiongrantconditionset-excludes description: Microsoft Graph Delete permissionGrantConditionSet from excludes collection of permissionGrantPolicy hints: readOnly: false destructive: true idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesdeleteexcludes with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-list-includes-collection description: Microsoft Graph List includes collection of permissionGrantPolicy hints: readOnly: true destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpolicieslistincludes with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-permissiongrantconditionset-includes description: Microsoft Graph Create permissionGrantConditionSet in includes collection of permissionGrantPolicy hints: readOnly: false destructive: false idempotent: false call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciescreateincludes 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: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesincludesgetcount4a76 outputParameters: - type: object mapping: $. - name: microsoft-graph-get-includes-policies description: Microsoft Graph Get includes from policies hints: readOnly: true destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesgetincludes 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 includes in policies hints: readOnly: false destructive: false idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesupdateincludes with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-permissiongrantconditionset-includes description: Microsoft Graph Delete permissionGrantConditionSet from includes collection of permissionGrantPolicy hints: readOnly: false destructive: true idempotent: true call: microsoft-graph-policies-permissiongrantpolicy.policiespermissiongrantpoliciesdeleteincludes with: If-Match: tools.If-Match outputParameters: - type: object mapping: $.