Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Identity.Governance Identity Governance.app Consent…
27 actions
27 updates
phrasing
extends
openapi/azure-ad-identitygovernance-appconsentapprovalroute-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.
What the actions change
x-apievangelist-phrasing
Targets 27 · first 16 shown; the file carries all of them
$.info
$.paths['/identityGovernance/appConsent'].get
$.paths['/identityGovernance/appConsent'].delete
$.paths['/identityGovernance/appConsent'].patch
$.paths['/identityGovernance/appConsent/appConsentRequests'].get
$.paths['/identityGovernance/appConsent/appConsentRequests'].post
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}'].get
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}'].delete
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}'].patch
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests'].get
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests'].post
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}'].get
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}'].delete
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}'].patch
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval'].get
$.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval'].delete
OpenAPI Overlay
# 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.app Consent…
version: 1.0.0
extends: openapi/azure-ad-identitygovernance-appconsentapprovalroute-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: 26
- target: $.paths['/identityGovernance/appConsent'].get
update:
x-apievangelist-phrasing:
intent: Get the app consent approval container
effect: read
questions:
- What sits under the app consent section of identity governance?
- Can I read the admin consent workflow root object in one call?
instructions:
- text: Show the identity governance appConsent object.
- text: Get the app consent approval route root.
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent'].delete
update:
x-apievangelist-phrasing:
intent: Delete the app consent approval container
effect: destructive
questions:
- Is it possible to remove the whole appConsent navigation property from identity governance?
- Can I delete the app consent root only if its etag still matches?
instructions:
- text: Delete the appConsent property from identity governance.
- text: Remove the app consent root with etag {etag}.
slots:
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent'].patch
update:
x-apievangelist-phrasing:
intent: Update the app consent approval container
effect: write
questions:
- How do I patch the appConsent root under identity governance?
- Can I replace the set of consent requests held on the appConsent object?
instructions:
- text: Update the identity governance appConsent root with requests {requests}.
slots:
requests: requestBody.appConsentRequests
- text: Patch the app consent approval container.
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests'].get
update:
x-apievangelist-phrasing:
intent: List admin consent requests for apps
effect: read
questions:
- Which apps have users asked an admin to approve access for?
- Can I filter the pending admin consent requests by app name?
- What admin consent requests exist across the tenant right now?
instructions:
- text: List all app consent requests in the tenant.
- text: Find app consent requests matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests'].post
update:
x-apievangelist-phrasing:
intent: Create an app consent request
effect: write
questions:
- How do I open a new admin consent request for an app?
- Can I record which scopes are still pending when creating a consent request?
instructions:
- text: Create a consent request for app {app_id} named {app_name}.
slots:
app_id: requestBody.appId
app_name: requestBody.appDisplayName
- text: Open an app consent request for {app_id} with pending scopes {scopes}.
slots:
app_id: requestBody.appId
scopes: requestBody.pendingScopes
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}'].get
update:
x-apievangelist-phrasing:
intent: Get an app consent request
effect: read
questions:
- Which scopes are pending on one specific app consent request?
- Can I read a single admin consent request by its ID?
instructions:
- text: Show app consent request {request_id}.
slots:
request_id: path.appConsentRequest-id
- text: Get the app and pending scopes on consent request {request_id}.
slots:
request_id: path.appConsentRequest-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an app consent request
effect: destructive
questions:
- How do I get rid of an app consent request that's no longer needed?
- Can I delete a consent request only if nobody changed it since I read it?
instructions:
- text: Delete app consent request {request_id}.
slots:
request_id: path.appConsentRequest-id
- text: Remove consent request {request_id} if its etag is {etag}.
slots:
request_id: path.appConsentRequest-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an app consent request
effect: write
questions:
- How do I change the pending scopes on an existing app consent request?
- Can I rename the app shown on a consent request that's already open?
instructions:
- text: Set the pending scopes on consent request {request_id} to {scopes}.
slots:
request_id: path.appConsentRequest-id
scopes: requestBody.pendingScopes
- text: Change the app display name on consent request {request_id} to {app_name}.
slots:
request_id: path.appConsentRequest-id
app_name: requestBody.appDisplayName
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests'].get
update:
x-apievangelist-phrasing:
intent: List user requests under an app consent request
effect: read
questions:
- Who asked for consent to a particular app, and why?
- Can I filter the individual user requests on an app consent request by status?
instructions:
- text: List the user consent requests for app consent request {request_id}.
slots:
request_id: path.appConsentRequest-id
- text: Show user requests on {request_id} matching {filter}.
slots:
request_id: path.appConsentRequest-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests'].post
update:
x-apievangelist-phrasing:
intent: Add a user's request to an app consent request
effect: write
questions:
- How do I file a user's request for access to an app with a justification?
- Can I attach a reason when adding a user consent request?
instructions:
- text: Add a user consent request to {request_id} with reason {reason}.
slots:
request_id: path.appConsentRequest-id
reason: requestBody.reason
- text: Create a new user request under app consent request {request_id}.
slots:
request_id: path.appConsentRequest-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}'].get
update:
x-apievangelist-phrasing:
intent: Get one user's consent request
effect: read
questions:
- What reason did a user give when requesting consent for an app?
- Can I read one user consent request and its status by ID?
instructions:
- text: Show user consent request {user_request_id} on app request {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
- text: Get the reason and status of user request {user_request_id} under {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a user's consent request
effect: destructive
questions:
- How do I withdraw one person's request for app consent?
- Can I delete a single user request without deleting the whole app consent request?
instructions:
- text: Delete user consent request {user_request_id} from app request {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
- text: Remove user request {user_request_id} under {request_id} if the etag is {etag}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a user's consent request
effect: write
questions:
- How do I change the justification on a user's consent request?
- Can I edit a user consent request after it was submitted?
instructions:
- text: Change the reason on user request {user_request_id} under {request_id} to {reason}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
reason: requestBody.reason
- text: Update user consent request {user_request_id} on app request {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval'].get
update:
x-apievangelist-phrasing:
intent: Get the approval decision on a user consent request
effect: read
questions:
- Was a user's app consent request approved or denied?
- Can I see the approval object behind a single user consent request?
instructions:
- text: Show the approval for user request {user_request_id} on {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
- text: Get the approval decision attached to consent request {user_request_id} in {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval'].delete
update:
x-apievangelist-phrasing:
intent: Delete the approval on a user consent request
effect: destructive
questions:
- How do I clear the approval object from a user's consent request?
- Can I delete an approval record while keeping the user request itself?
instructions:
- text: Delete the approval on user request {user_request_id} under {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
- text: Remove approval from {user_request_id} in app request {request_id} with etag {etag}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval'].patch
update:
x-apievangelist-phrasing:
intent: Update the approval on a user consent request
effect: write
questions:
- How do I change the stages defined on a consent approval?
- Can I patch the approval object for one user's app consent request?
instructions:
- text: Update the approval stages for user request {user_request_id} on {request_id} to {stages}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stages: requestBody.stages
- text: Patch the approval on consent request {user_request_id} under {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval/stages'].get
update:
x-apievangelist-phrasing:
intent: List the stages of a consent approval
effect: read
questions:
- What review stages does a user's consent approval go through?
- Can I see which approval stages are still in progress for a request?
instructions:
- text: List approval stages for user request {user_request_id} on {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
- text: Show stages of the approval on {user_request_id} in {request_id} matching {filter}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval/stages'].post
update:
x-apievangelist-phrasing:
intent: Add a stage to a consent approval
effect: write
questions:
- How do I add a review stage to a consent approval?
- Can I record a reviewer's result and justification when creating a stage?
instructions:
- text: Add an approval stage named {name} to user request {user_request_id} on {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
name: requestBody.displayName
- text: Create a stage on {user_request_id} in {request_id} with result {result} and justification {justification}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
result: requestBody.reviewResult
justification: requestBody.justification
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval/stages/{approvalStage-id}'].get
update:
x-apievangelist-phrasing:
intent: Get one stage of a consent approval
effect: read
questions:
- Who reviewed a particular approval stage and when?
- Can I read the status of a single stage in a consent approval?
instructions:
- text: Show approval stage {stage_id} on user request {user_request_id} in {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stage_id: path.approvalStage-id
- text: Get reviewer and result for stage {stage_id} of {user_request_id} under {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stage_id: path.approvalStage-id
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval/stages/{approvalStage-id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a stage from a consent approval
effect: destructive
questions:
- How do I remove a review stage from a user's consent approval?
- Can I delete an approval stage guarded by an etag check?
instructions:
- text: Delete approval stage {stage_id} from user request {user_request_id} on {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stage_id: path.approvalStage-id
- text: Remove stage {stage_id} of {user_request_id} in {request_id} if its etag is {etag}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stage_id: path.approvalStage-id
etag: header.If-Match
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval/stages/{approvalStage-id}'].patch
update:
x-apievangelist-phrasing:
intent: Record a decision on a consent approval stage
effect: write
questions:
- How do I approve or deny a stage of a user's app consent request?
- Can I add a justification when I record my review decision on a stage?
instructions:
- text: Set review result {result} on stage {stage_id} of {user_request_id} in {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stage_id: path.approvalStage-id
result: requestBody.reviewResult
- text: Update stage {stage_id} on {user_request_id} under {request_id} with justification {justification}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
stage_id: path.approvalStage-id
justification: requestBody.justification
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/{userConsentRequest-id}/approval/stages/$count'].get
update:
x-apievangelist-phrasing:
intent: Count stages in a consent approval
effect: read
questions:
- How many review stages does one consent approval have?
- What's the number of approval stages matching a filter for a user request?
instructions:
- text: Count approval stages for user request {user_request_id} on {request_id}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
- text: Count stages on {user_request_id} in {request_id} that match {filter}.
slots:
request_id: path.appConsentRequest-id
user_request_id: path.userConsentRequest-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/$count'].get
update:
x-apievangelist-phrasing:
intent: Count user requests on an app consent request
effect: read
questions:
- How many users have requested consent for a given app?
- What number of user consent requests on an app match a filter?
instructions:
- text: Count user consent requests under app request {request_id}.
slots:
request_id: path.appConsentRequest-id
- text: Count user requests on {request_id} matching {filter}.
slots:
request_id: path.appConsentRequest-id
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/{appConsentRequest-id}/userConsentRequests/microsoft.graph.filterByCurrentUser(on=\'{on}\')'].get
update:
x-apievangelist-phrasing:
intent: List user consent requests I review for an app
effect: read
questions:
- Which user requests for one app am I the reviewer on?
- Can I see only the user consent requests assigned to me for a specific app?
instructions:
- text: List user requests on app consent request {request_id} where I am the {on}.
slots:
request_id: path.appConsentRequest-id
'on': path.on
- text: Show consent requests for {request_id} filtered to the current user as {on}.
slots:
request_id: path.appConsentRequest-id
'on': path.on
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/$count'].get
update:
x-apievangelist-phrasing:
intent: Count app consent requests
effect: read
questions:
- How many admin consent requests for apps are there in total?
- What's the count of app consent requests matching a search?
instructions:
- text: Count all app consent requests.
- text: Count app consent requests that match {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/identityGovernance/appConsent/appConsentRequests/microsoft.graph.filterByCurrentUser(on=\'{on}\')'].get
update:
x-apievangelist-phrasing:
intent: List in-progress app consent requests I review
effect: read
questions:
- Which app consent requests are waiting on me as reviewer?
- Can I list only the apps whose consent requests are in progress and assigned to me?
instructions:
- text: List app consent requests where I am the {on} and the review is in progress.
slots:
'on': path.on
- text: Show apps awaiting my consent decision as {on}.
slots:
'on': path.on
method: generated
generated: '2026-10-01'