Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Identity.Governance Identity Governance.entitlement…

1266 actions 1266 updates phrasing extends openapi/azure-ad-identitygovernance-entitlementmanagement-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Microsoft Entra ID (formerly Azure AD)'s API. It is a proposal applied on top of the contract, not a document Microsoft Entra ID (formerly Azure AD) publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 1266 · first 16 shown; the file carries all of them

$.info
$.paths['/identityGovernance/entitlementManagement'].get
$.paths['/identityGovernance/entitlementManagement'].delete
$.paths['/identityGovernance/entitlementManagement'].patch
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals'].get
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals'].post
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}'].get
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}'].delete
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}'].patch
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages'].get
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages'].post
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/{approvalStage-id}'].get
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/{approvalStage-id}'].delete
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/{approvalStage-id}'].patch
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/$count'].get
$.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/$count'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Identity.Governance Identity Governance.entitlement…
  version: 1.0.0
extends: openapi/azure-ad-identitygovernance-entitlementmanagement-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 1265
- target: $.paths['/identityGovernance/entitlementManagement'].get
  update:
    x-apievangelist-phrasing:
      intent: Read the entitlement management container
      effect: read
      questions:
      - What does the entitlement management root object in Microsoft Entra identity governance contain?
      - Can I expand the top-level entitlement management node to see its catalogs and access packages together?
      instructions:
      - text: Fetch the entitlement management root for my tenant.
      - text: Show the top-level entitlement management object with its settings expanded.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete the entitlement management container
      effect: destructive
      questions:
      - Is it possible to remove the whole entitlement management navigation property from identity governance?
      - What happens if I delete the entitlement management root node itself?
      instructions:
      - text: Delete the entitlement management container from identity governance.
      - text: Remove the top-level entitlement management node entirely.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update the entitlement management container
      effect: write
      questions:
      - Can I patch the entitlement management root object directly?
      - Which top-level entitlement management properties, like its settings, can be changed in one update?
      instructions:
      - text: Patch the entitlement management root with new settings {settings}.
        slots:
          settings: requestBody.settings
      - text: Update the top-level entitlement management object in identity governance.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals'].get
  update:
    x-apievangelist-phrasing:
      intent: List access package assignment approvals
      effect: read
      questions:
      - Which access package assignment approvals exist in entitlement management?
      - Can I page through every assignment approval record with a filter?
      instructions:
      - text: List all access package assignment approvals.
      - text: Show the assignment approvals, newest first, top 20.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an assignment approval record
      effect: write
      questions:
      - Can I add a new approval object under access package assignment approvals?
      - What fields, like stages, go into a newly created assignment approval?
      instructions:
      - text: Create an assignment approval with stages {stages}.
        slots:
          stages: requestBody.stages
      - text: Add a new access package assignment approval record.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an assignment approval by ID
      effect: read
      questions:
      - How do I look up one approval using the ID of an access package assignment request?
      - What properties does a single assignment approval object expose?
      instructions:
      - text: Get approval {approval} for the access package request.
        slots:
          approval: path.approval-id
      - text: Show me the details of assignment approval {approval}.
        slots:
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an assignment approval
      effect: destructive
      questions:
      - Can an access package assignment approval object be deleted?
      - What is removed when I delete one assignment approval entry?
      instructions:
      - text: Delete assignment approval {approval}.
        slots:
          approval: path.approval-id
      - text: Remove the approval record {approval} from entitlement management.
        slots:
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an assignment approval
      effect: write
      questions:
      - Can I patch an existing assignment approval object, for example its stages?
      - Is it possible to overwrite the stages list on one approval record?
      instructions:
      - text: Update approval {approval} with stages {stages}.
        slots:
          approval: path.approval-id
          stages: requestBody.stages
      - text: Patch assignment approval {approval}.
        slots:
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages'].get
  update:
    x-apievangelist-phrasing:
      intent: List the stages of an approval
      effect: read
      questions:
      - Which approval stages belong to a given access package approval?
      - How can an approver see every stage in a multi-stage approval?
      instructions:
      - text: List the stages of approval {approval}.
        slots:
          approval: path.approval-id
      - text: Show all approval stages for request approval {approval}.
        slots:
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a stage to an approval
      effect: write
      questions:
      - Can I add another stage object to an existing approval?
      - What does a new approval stage need, such as a display name or status?
      instructions:
      - text: Add a stage named {name} to approval {approval}.
        slots:
          name: requestBody.displayName
          approval: path.approval-id
      - text: Create a new stage on approval {approval} with status {status}.
        slots:
          approval: path.approval-id
          status: requestBody.status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/{approvalStage-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one stage of an approval
      effect: read
      questions:
      - How do I check who reviewed a specific stage of an approval and when?
      - What does a single approval stage record show about its review result?
      instructions:
      - text: Get stage {stage} of approval {approval}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
      - text: Show the reviewer and result for approval stage {stage} in approval {approval}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/{approvalStage-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a stage from an approval
      effect: destructive
      questions:
      - Can one stage be removed from an approval object?
      - What happens to an approval when I delete one of its stages?
      instructions:
      - text: Delete stage {stage} from approval {approval}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
      - text: Remove approval stage {stage} under approval {approval}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/{approvalStage-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Approve or deny an approval stage
      effect: write
      questions:
      - How do I approve or deny an access package request as an approver?
      - Do I have to give a justification when I deny a stage of an approval?
      - Which review results can I record on an approval stage?
      instructions:
      - text: Approve stage {stage} of approval {approval} with justification {justification}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
          justification: requestBody.justification
      - text: Set the review result on stage {stage} of approval {approval} to {result}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
          result: requestBody.reviewResult
      - text: Deny approval stage {stage} in {approval} because {justification}.
        slots:
          stage: path.approvalStage-id
          approval: path.approval-id
          justification: requestBody.justification
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/{approval-id}/stages/$count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count the stages of an approval
      effect: read
      questions:
      - How many stages does a particular approval have?
      - Can I get just the number of approval stages without listing them?
      instructions:
      - text: Count the stages in approval {approval}.
        slots:
          approval: path.approval-id
      - text: Tell me how many stages approval {approval} has.
        slots:
          approval: path.approval-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/$count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count access package assignment approvals
      effect: read
      questions:
      - How many access package assignment approvals are there in total?
      - Is there a quick way to get the total number of assignment approval records?
      instructions:
      - text: Count all access package assignment approvals.
      - text: Give me the total number of assignment approval objects.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackageAssignmentApprovals/microsoft.graph.filterByCurrentUser(on=\'{on}\')'].get
  update:
    x-apievangelist-phrasing:
      intent: List approvals awaiting my decision
      effect: read
      questions:
      - Which access package requests are waiting for me to approve?
      - Can I see only the approvals that are in scope for me as the signed-in approver?
      instructions:
      - text: List the approvals where I am the {on}.
        slots:
          'on': path.on
      - text: Show assignment approvals filtered to the current user as {on}.
        slots:
          'on': path.on
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages'].get
  update:
    x-apievangelist-phrasing:
      intent: List access packages
      effect: read
      questions:
      - What access packages have been set up in my Entra tenant?
      - Can I filter the access package list by display name or catalog?
      - Does the access package list include hidden packages too?
      instructions:
      - text: List all access packages in entitlement management.
      - text: Show access packages whose name contains Marketing.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an access package
      effect: write
      questions:
      - How do I create a new access package in an existing catalog?
      - Can a new access package be hidden from requestors when I create it?
      instructions:
      - text: Create an access package called {name} in catalog {catalog}.
        slots:
          name: requestBody.displayName
          catalog: requestBody.catalog
      - text: Create access package {name} with description {description} in catalog {catalog}.
        slots:
          name: requestBody.displayName
          description: requestBody.description
          catalog: requestBody.catalog
      - text: Create a hidden access package {name}, setting isHidden to {isHidden}.
        slots:
          name: requestBody.displayName
          isHidden: requestBody.isHidden
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an access package
      effect: read
      questions:
      - Where can I read the properties and relationships of a single access package?
      - Can I expand an access package to include its resource role scopes?
      instructions:
      - text: Get access package {package}.
        slots:
          package: path.accessPackage-id
      - text: Show access package {package} with its resource role scopes expanded.
        slots:
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an access package
      effect: destructive
      questions:
      - Can I delete an access package that still has users assigned?
      - What must be removed before an access package can be deleted?
      instructions:
      - text: Delete access package {package}.
        slots:
          package: path.accessPackage-id
      - text: Remove the access package {package} permanently.
        slots:
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update an access package
      effect: write
      questions:
      - How do I rename an access package or change its description?
      - Can I hide an existing access package from the request portal?
      instructions:
      - text: Rename access package {package} to {name}.
        slots:
          package: path.accessPackage-id
          name: requestBody.displayName
      - text: Change the description of access package {package} to {description}.
        slots:
          package: path.accessPackage-id
          description: requestBody.description
      - text: Set isHidden to {isHidden} on access package {package}.
        slots:
          isHidden: requestBody.isHidden
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/accessPackagesIncompatibleWith'].get
  update:
    x-apievangelist-phrasing:
      intent: List packages that mark this one incompatible
      effect: read
      questions:
      - Which other access packages have marked this package as incompatible with them?
      - What packages consider mine a conflict, looking from the other side?
      instructions:
      - text: List the access packages that declare {package} incompatible with them.
        slots:
          package: path.accessPackage-id
      - text: Show packages that flag access package {package} as a conflict.
        slots:
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/accessPackagesIncompatibleWith/{accessPackage-id1}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a package that marks this one incompatible
      effect: read
      questions:
      - Can I read one specific package from the set that treats mine as incompatible?
      - What does a single conflicting package look like from the incompatible-with side?
      instructions:
      - text: Get package {other} from the packages that list {package} as incompatible with them.
        slots:
          other: path.accessPackage-id1
          package: path.accessPackage-id
      - text: Show details of {other}, which marks access package {package} as a conflict.
        slots:
          other: path.accessPackage-id1
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/accessPackagesIncompatibleWith/$count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count packages that mark this one incompatible
      effect: read
      questions:
      - How many access packages have flagged this package as incompatible with them?
      - Can I get only the number of packages that treat mine as a conflict?
      instructions:
      - text: Count the packages that mark access package {package} as incompatible with them.
        slots:
          package: path.accessPackage-id
      - text: Tell me how many packages flag {package} as a conflict from their side.
        slots:
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies'].get
  update:
    x-apievangelist-phrasing:
      intent: List an access package's assignment policies
      effect: read
      questions:
      - Which assignment policies are attached to this access package?
      - Can I see who is allowed to request a package by reading its policies?
      instructions:
      - text: List the assignment policies of access package {package}.
        slots:
          package: path.accessPackage-id
      - text: Show every policy on access package {package}.
        slots:
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an assignment policy to an access package
      effect: write
      questions:
      - Can I create an assignment policy directly under a specific access package?
      - What settings, such as target scope and expiration, go into a package's new policy?
      instructions:
      - text: Add a policy named {name} to access package {package}.
        slots:
          name: requestBody.displayName
          package: path.accessPackage-id
      - text: Create a policy on package {package} with target scope {targetScope} and expiration {expiration}.
        slots:
          package: path.accessPackage-id
          targetScope: requestBody.allowedTargetScope
          expiration: requestBody.expiration
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one policy of an access package
      effect: read
      questions:
      - How do I read a particular assignment policy through its access package?
      - What approval and requestor settings does one package policy have?
      instructions:
      - text: Get policy {policy} of access package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Show the requestor settings of policy {policy} under package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a policy from an access package
      effect: destructive
      questions:
      - Can I delete one assignment policy through its parent access package?
      - What happens to requests when a package policy is deleted?
      instructions:
      - text: Delete policy {policy} from access package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Remove assignment policy {policy} under package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a policy through its access package
      effect: write
      questions:
      - Can I patch an assignment policy by addressing it under its access package?
      - Which policy fields, such as display name or expiration, can I change here?
      instructions:
      - text: Rename policy {policy} on access package {package} to {name}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
          name: requestBody.displayName
      - text: Update the expiration of policy {policy} in package {package} to {expiration}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
          expiration: requestBody.expiration
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/accessPackage'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the package that owns a package policy
      effect: read
      questions:
      - From a policy nested under an access package, can I navigate back to the owning package?
      - Which access package contains this particular nested policy?
      instructions:
      - text: Get the access package that contains policy {policy} under {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Show the owning package for nested policy {policy} of {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/catalog'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the catalog of a package policy
      effect: read
      questions:
      - Which catalog does the package behind this nested policy belong to?
      - Can I read the catalog straight from a policy under an access package?
      instructions:
      - text: Get the catalog for policy {policy} of access package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Show which catalog holds nested policy {policy} in package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings'].get
  update:
    x-apievangelist-phrasing:
      intent: List custom extension stages on a package policy
      effect: read
      questions:
      - At which request stages does this package policy run custom workflow extensions?
      - Can I list the Logic App extension stage settings for a policy under an access package?
      instructions:
      - text: List custom extension stage settings of policy {policy} in package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Show when policy {policy} under {package} triggers custom extensions.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a custom extension stage to a package policy
      effect: write
      questions:
      - How do I make a policy under an access package call a custom extension at a given stage?
      - Can I attach a workflow extension to the assignment-granted stage of a package's policy?
      instructions:
      - text: Add custom extension {extension} at stage {trigger} to policy {policy} of package {package}.
        slots:
          extension: requestBody.customExtension
          trigger: requestBody.stage
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Create an extension stage setting on policy {policy} in {package} for stage {trigger}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
          trigger: requestBody.stage
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings/{customExtensionStageSetting-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom extension stage on a package policy
      effect: read
      questions:
      - What stage does one custom extension setting on a package policy fire at?
      - Can I read a single extension stage setting nested under a package's policy?
      instructions:
      - text: Get extension stage setting {setting} of policy {policy} in package {package}.
        slots:
          setting: path.customExtensionStageSetting-id
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Show custom extension stage {setting} on package {package} policy {policy}.
        slots:
          setting: path.customExtensionStageSetting-id
          package: path.accessPackage-id
          policy: path.accessPackageAssignmentPolicy-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings/{customExtensionStageSetting-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a custom extension stage from a package policy
      effect: destructive
      questions:
      - Can I stop a package policy from calling a custom extension at some stage?
      - Is deleting an extension stage setting under a package policy reversible?
      instructions:
      - text: Delete extension stage setting {setting} from policy {policy} of package {package}.
        slots:
          setting: path.customExtensionStageSetting-id
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Remove custom extension stage {setting} on {package} policy {policy}.
        slots:
          setting: path.customExtensionStageSetting-id
          package: path.accessPackage-id
          policy: path.accessPackageAssignmentPolicy-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings/{customExtensionStageSetting-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a custom extension stage on a package policy
      effect: write
      questions:
      - Can I change which stage a custom extension runs at on a package policy?
      - Is it possible to swap the custom extension linked to a stage setting under a package?
      instructions:
      - text: Change setting {setting} on policy {policy} of package {package} to run at stage {trigger}.
        slots:
          setting: path.customExtensionStageSetting-id
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
          trigger: requestBody.stage
      - text: Point extension stage setting {setting} of {package} policy {policy} at extension {extension}.
        slots:
          setting: path.customExtensionStageSetting-id
          package: path.accessPackage-id
          policy: path.accessPackageAssignmentPolicy-id
          extension: requestBody.customExtension
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings/{customExtensionStageSetting-id}/customExtension'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the extension a package policy stage runs
      effect: read
      questions:
      - Which custom workflow extension gets executed at this stage of a package policy?
      - Can I read the Logic App details behind a package policy's extension stage?
      instructions:
      - text: Get the custom extension run by stage setting {setting} of policy {policy} in {package}.
        slots:
          setting: path.customExtensionStageSetting-id
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Show which workflow extension setting {setting} calls for package {package} policy {policy}.
        slots:
          setting: path.customExtensionStageSetting-id
          package: path.accessPackage-id
          policy: path.accessPackageAssignmentPolicy-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/assignmentPolicies/{accessPackageAssignmentPolicy-id}/customExtensionStageSettings/$count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count custom extension stages on a package policy
      effect: read
      questions:
      - How many custom extension stage settings does a policy under an access package have?
      - Can I get just the number of extension triggers on a package policy?
      instructions:
      - text: Count the custom extension stage settings of policy {policy} in package {package}.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      - text: Tell me how many extension triggers policy {policy} of {package} has.
        slots:
          policy: path.accessPackageAssignmentPolicy-id
          package: path.accessPackage-id
      method: generated
      generated: '2026-10-01'


# --- truncated at 32 KB (1400 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-ad/refs/heads/main/overlays/azure-ad-identitygovernance-entitlementmanagement-api-phrasing-overlay.yaml