Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Groups.group.Actions API
19 actions
19 updates
phrasing
extends
openapi/azure-ad-groups-group-actions-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 19 · first 16 shown; the file carries all of them
$.info
$.paths['/groups/{group-id}/microsoft.graph.addFavorite'].post
$.paths['/groups/{group-id}/microsoft.graph.assignLicense'].post
$.paths['/groups/{group-id}/microsoft.graph.checkGrantedPermissionsForApp'].post
$.paths['/groups/{group-id}/microsoft.graph.checkMemberGroups'].post
$.paths['/groups/{group-id}/microsoft.graph.checkMemberObjects'].post
$.paths['/groups/{group-id}/microsoft.graph.getMemberGroups'].post
$.paths['/groups/{group-id}/microsoft.graph.getMemberObjects'].post
$.paths['/groups/{group-id}/microsoft.graph.removeFavorite'].post
$.paths['/groups/{group-id}/microsoft.graph.renew'].post
$.paths['/groups/{group-id}/microsoft.graph.resetUnseenCount'].post
$.paths['/groups/{group-id}/microsoft.graph.restore'].post
$.paths['/groups/{group-id}/microsoft.graph.retryServiceProvisioning'].post
$.paths['/groups/{group-id}/microsoft.graph.subscribeByMail'].post
$.paths['/groups/{group-id}/microsoft.graph.unsubscribeByMail'].post
$.paths['/groups/{group-id}/microsoft.graph.validateProperties'].post
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 Groups.group.Actions API
version: 1.0.0
extends: openapi/azure-ad-groups-group-actions-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: 18
- target: $.paths['/groups/{group-id}/microsoft.graph.addFavorite'].post
update:
x-apievangelist-phrasing:
intent: Add a group to my favorites
effect: write
questions:
- How do I pin a Microsoft 365 group to my favorites so it shows up in Outlook and Teams?
- Can I favorite a group on behalf of the signed-in user?
instructions:
- text: Add group {group} to my favorite groups.
slots:
group: path.group-id
- text: Favorite the Microsoft 365 group {group} for me.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.assignLicense'].post
update:
x-apievangelist-phrasing:
intent: Add or remove licenses on a group
effect: write
questions:
- How do I give every member of a group a license using group-based licensing?
- Can I remove a license from a group so its members lose it?
- What happens to users in a group when I assign it a product license?
instructions:
- text: Assign licenses {addLicenses} to group {group}.
slots:
addLicenses: requestBody.addLicenses
group: path.group-id
- text: Remove licenses {removeLicenses} from group {group}.
slots:
removeLicenses: requestBody.removeLicenses
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.checkGrantedPermissionsForApp'].post
update:
x-apievangelist-phrasing:
intent: Check app permissions granted on a group
effect: read
questions:
- Which resource-specific permissions have apps been granted on this group?
- Can I audit what an app is allowed to do inside a particular group?
instructions:
- text: Check the permissions granted to apps on group {group}.
slots:
group: path.group-id
- text: Audit app permission grants for group {group}.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.checkMemberGroups'].post
update:
x-apievangelist-phrasing:
intent: Check a group's membership in listed groups
effect: read
questions:
- Is this group a member of any of the groups on my shortlist, including nested membership?
- How many group IDs can I check membership against in a single call?
instructions:
- text: Check which of groups {groupIds} group {group} belongs to.
slots:
groupIds: requestBody.groupIds
group: path.group-id
- text: Tell me whether group {group} is transitively a member of {groupIds}.
slots:
group: path.group-id
groupIds: requestBody.groupIds
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.checkMemberObjects'].post
update:
x-apievangelist-phrasing:
intent: Check a group's membership in listed objects
effect: read
questions:
- Can I test whether a group belongs to specific groups, administrative units or directory roles by ID?
- Which of a list of directory object IDs does this group hold membership in?
instructions:
- text: Check which of the objects {ids} group {group} is a member of.
slots:
ids: requestBody.ids
group: path.group-id
- text: Verify group {group}'s membership against directory objects {ids}.
slots:
group: path.group-id
ids: requestBody.ids
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.getMemberGroups'].post
update:
x-apievangelist-phrasing:
intent: List every group a group belongs to
effect: read
questions:
- What are all the groups this group is nested inside, directly or transitively?
- Can I restrict the parent-group lookup to security-enabled groups only?
instructions:
- text: Get all group IDs that group {group} is a member of.
slots:
group: path.group-id
- text: List the parent groups of {group} with security-enabled only set to {securityEnabledOnly}.
slots:
group: path.group-id
securityEnabledOnly: requestBody.securityEnabledOnly
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.getMemberObjects'].post
update:
x-apievangelist-phrasing:
intent: List groups, units and roles a group belongs to
effect: read
questions:
- Which groups, administrative units and directory roles is this group a member of?
- Does the member-objects lookup include administrative units as well as groups?
instructions:
- text: Get every group, administrative unit and directory role ID that group {group} belongs to.
slots:
group: path.group-id
- text: List member objects of group {group}, security-enabled only {securityEnabledOnly}.
slots:
group: path.group-id
securityEnabledOnly: requestBody.securityEnabledOnly
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.removeFavorite'].post
update:
x-apievangelist-phrasing:
intent: Remove a group from my favorites
effect: write
questions:
- How do I unpin a Microsoft 365 group from my favorites?
- Can I take a group off the signed-in user's favorite list?
instructions:
- text: Remove group {group} from my favorite groups.
slots:
group: path.group-id
- text: Unfavorite the Microsoft 365 group {group}.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.renew'].post
update:
x-apievangelist-phrasing:
intent: Renew a group's expiration
effect: write
questions:
- How do I keep a group from expiring under our group lifecycle policy?
- When I renew a group, how long does its expiration get extended?
instructions:
- text: Renew group {group} so it doesn't expire.
slots:
group: path.group-id
- text: Extend the expiration date of group {group}.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.resetUnseenCount'].post
update:
x-apievangelist-phrasing:
intent: Mark all group posts as seen
effect: write
questions:
- How do I clear the unread post count on a Microsoft 365 group for myself?
- Can I reset the unseen count of a group's conversations?
instructions:
- text: Reset my unseen post count for group {group}.
slots:
group: path.group-id
- text: Mark every post in group {group} as seen for me.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.restore'].post
update:
x-apievangelist-phrasing:
intent: Restore a deleted group
effect: write
questions:
- Can I bring back a group that was accidentally deleted?
- How do I recover a recently deleted group from deleted items?
instructions:
- text: Restore deleted group {group}.
slots:
group: path.group-id
- text: Recover group {group} from deleted items.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.retryServiceProvisioning'].post
update:
x-apievangelist-phrasing:
intent: Retry provisioning services for a group
effect: write
questions:
- What can I do when a group's service provisioning failed?
- Is there a way to kick off group service provisioning again?
instructions:
- text: Retry service provisioning for group {group}.
slots:
group: path.group-id
- text: Rerun the failed provisioning on group {group}.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.subscribeByMail'].post
update:
x-apievangelist-phrasing:
intent: Subscribe to a group's email notifications
effect: write
questions:
- How do I start getting emails about new posts, events and files in a Microsoft 365 group?
- Can I follow a group in my inbox as the signed-in user?
instructions:
- text: Subscribe me to email notifications for group {group}.
slots:
group: path.group-id
- text: Start sending me mail about new activity in group {group}.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.unsubscribeByMail'].post
update:
x-apievangelist-phrasing:
intent: Unsubscribe from a group's email notifications
effect: write
questions:
- How do I stop getting emails about a Microsoft 365 group's posts and events?
- Can I unfollow a group in my inbox without leaving it?
instructions:
- text: Unsubscribe me from email notifications for group {group}.
slots:
group: path.group-id
- text: Stop sending me mail about activity in group {group}.
slots:
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/microsoft.graph.validateProperties'].post
update:
x-apievangelist-phrasing:
intent: Validate a rename of an existing group
effect: read
questions:
- Will renaming an existing Microsoft 365 group to a new display name break our naming policy?
- Can I check a new mail nickname for a group I already have before updating it?
instructions:
- text: Check whether existing group {group} can be renamed to {displayName} under the naming policy.
slots:
group: path.group-id
displayName: requestBody.displayName
- text: Validate new mail nickname {mailNickname} for group {group} before I update it.
slots:
mailNickname: requestBody.mailNickname
group: path.group-id
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/microsoft.graph.getAvailableExtensionProperties'].post
update:
x-apievangelist-phrasing:
intent: List registered directory extension properties
effect: read
questions:
- Which directory extension properties are registered in my tenant, including from multitenant apps?
- Can I see only the extension properties that were synced from on-premises?
instructions:
- text: List all directory extension properties available in the tenant.
- text: List extension properties with synced-from-on-premises set to {isSyncedFromOnPremises}.
slots:
isSyncedFromOnPremises: requestBody.isSyncedFromOnPremises
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/microsoft.graph.getByIds'].post
update:
x-apievangelist-phrasing:
intent: Fetch directory objects by a list of IDs
effect: read
questions:
- How can I resolve a batch of object IDs into users, groups and other directory objects in one call?
- Can I limit an ID lookup to certain object types like groups or devices?
instructions:
- text: Get the directory objects with IDs {ids}.
slots:
ids: requestBody.ids
- text: Resolve IDs {ids} restricted to types {types}.
slots:
ids: requestBody.ids
types: requestBody.types
method: generated
generated: '2026-10-01'
- target: $.paths['/groups/microsoft.graph.validateProperties'].post
update:
x-apievangelist-phrasing:
intent: Check a new group's name against naming policy
effect: read
questions:
- Before I create a Microsoft 365 group, will its display name pass our prefix, suffix and banned-word rules?
- Is a mail nickname already taken or blocked for a group that doesn't exist yet?
instructions:
- text: Check whether a new group named {displayName} would comply with the naming policy before I create it.
slots:
displayName: requestBody.displayName
- text: Validate proposed mail nickname {mailNickname} for a group I'm about to create on behalf of user {user}.
slots:
mailNickname: requestBody.mailNickname
user: requestBody.onBehalfOfUserId
method: generated
generated: '2026-10-01'