Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Identity.DirectoryManagement Directory.directory Object API
31 actions
31 updates
phrasing
extends
openapi/azure-ad-directory-directoryobject-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 31 · first 16 shown; the file carries all of them
$.info
$.paths['/directory/deletedItems'].get
$.paths['/directory/deletedItems/{directoryObject-id}'].get
$.paths['/directory/deletedItems/{directoryObject-id}'].delete
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.administrativeUnit'].get
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.application'].get
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.checkMemberGroups'].post
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.checkMemberObjects'].post
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.device'].get
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.getMemberGroups'].post
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.getMemberObjects'].post
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.group'].get
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.restore'].post
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.servicePrincipal'].get
$.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.user'].get
$.paths['/directory/deletedItems/$count'].get
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.DirectoryManagement Directory.directory Object API
version: 1.0.0
extends: openapi/azure-ad-directory-directoryobject-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: 30
- target: $.paths['/directory/deletedItems'].get
update:
x-apievangelist-phrasing:
intent: List recently deleted directory objects
effect: read
questions:
- What directory objects have been deleted recently in my Entra tenant?
- Can I search the deleted items bin across every object type at once?
instructions:
- text: List everything currently sitting in the directory's deleted items.
- text: Search all deleted directory objects for {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted directory object
effect: read
questions:
- What did a soft-deleted directory object look like before it was removed?
- Can I look up one deleted object by ID without knowing whether it was a user or a group?
instructions:
- text: Show deleted directory object {object_id}.
slots:
object_id: path.directoryObject-id
- text: Fetch the properties of recently deleted item {object_id} regardless of its type.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}'].delete
update:
x-apievangelist-phrasing:
intent: Permanently delete an object from deleted items
effect: destructive
questions:
- How do I purge something from deleted items so it can never be restored?
- Can I hard-delete a soft-deleted application right now?
instructions:
- text: Permanently delete {object_id} from deleted items.
slots:
object_id: path.directoryObject-id
- text: Purge soft-deleted object {object_id} for good so nobody can bring it back.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.administrativeUnit'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted administrative unit
effect: read
questions:
- What were the settings of an administrative unit someone removed?
- Can I read a deleted item typed as an administrative unit?
instructions:
- text: Show the removed administrative unit {object_id}.
slots:
object_id: path.directoryObject-id
- text: Get deleted item {object_id} cast as an administrative unit.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.application'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted app registration
effect: read
questions:
- What was configured on an app registration that got deleted?
- Can I see the application properties of one soft-deleted app before restoring it?
instructions:
- text: Show the deleted app registration {object_id}.
slots:
object_id: path.directoryObject-id
- text: Get deleted item {object_id} as an application object.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.checkMemberGroups'].post
update:
x-apievangelist-phrasing:
intent: Check a deleted object's membership in given groups
effect: read
questions:
- Which of a handful of groups was a deleted object a member of?
- Can I test a soft-deleted object against a specific list of group IDs?
instructions:
- text: Check whether deleted object {object_id} belongs to any of the groups {group_ids}.
slots:
object_id: path.directoryObject-id
group_ids: requestBody.groupIds
- text: 'Tell me which of these groups deleted item {object_id} was in: {group_ids}.'
slots:
object_id: path.directoryObject-id
group_ids: requestBody.groupIds
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.checkMemberObjects'].post
update:
x-apievangelist-phrasing:
intent: Check a deleted object against directory object IDs
effect: read
questions:
- Was a deleted object a member of certain groups, admin units or directory roles?
- Can I check a deleted item against a mixed list of object IDs, not just groups?
instructions:
- text: Check deleted object {object_id} for membership in the objects {ids}.
slots:
object_id: path.directoryObject-id
ids: requestBody.ids
- text: Run checkMemberObjects on deleted item {object_id}.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.device'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted device
effect: read
questions:
- What do I know about a device record that was removed from the directory?
- Can I read a soft-deleted item as a device object?
instructions:
- text: Show the deleted device {object_id}.
slots:
object_id: path.directoryObject-id
- text: Get deleted item {object_id} cast as a device.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.getMemberGroups'].post
update:
x-apievangelist-phrasing:
intent: List every group a deleted object belonged to
effect: read
questions:
- What groups was a deleted user or service principal a member of?
- Can I limit a deleted object's group memberships to security groups only?
instructions:
- text: Get all group IDs that deleted object {object_id} is a member of.
slots:
object_id: path.directoryObject-id
- text: List groups for deleted item {object_id} with security-enabled only set to {security_only}.
slots:
object_id: path.directoryObject-id
security_only: requestBody.securityEnabledOnly
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.getMemberObjects'].post
update:
x-apievangelist-phrasing:
intent: List groups, admin units and roles of a deleted object
effect: read
questions:
- Which groups, administrative units and directory roles did a deleted object hold?
- Can I recover a full membership picture for a soft-deleted account before restoring it?
instructions:
- text: Get the member objects of deleted item {object_id}, including admin units and directory roles.
slots:
object_id: path.directoryObject-id
- text: List memberships of deleted object {object_id} with security-enabled only {security_only}.
slots:
object_id: path.directoryObject-id
security_only: requestBody.securityEnabledOnly
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.group'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted group
effect: read
questions:
- What were the details of a Microsoft 365 or security group that was deleted?
- Can I read a soft-deleted item as a group object?
instructions:
- text: Show the deleted group {object_id}.
slots:
object_id: path.directoryObject-id
- text: Get deleted item {object_id} cast as a group.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.restore'].post
update:
x-apievangelist-phrasing:
intent: Restore a deleted directory object
effect: write
questions:
- How do I undelete a user or group that was removed by mistake?
- Can I bring back an app registration from deleted items?
instructions:
- text: Restore deleted object {object_id}.
slots:
object_id: path.directoryObject-id
- text: Undo the deletion of {object_id} and put it back in the directory.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.servicePrincipal'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted service principal
effect: read
questions:
- What was set on an enterprise app's service principal that got deleted?
- Can I read a soft-deleted item as a service principal?
instructions:
- text: Show the deleted service principal {object_id}.
slots:
object_id: path.directoryObject-id
- text: Get deleted item {object_id} cast as a service principal.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/{directoryObject-id}/microsoft.graph.user'].get
update:
x-apievangelist-phrasing:
intent: Get a deleted user
effect: read
questions:
- What were the account details of an employee who was deleted?
- Can I read a soft-deleted item as a user object?
instructions:
- text: Show the deleted user {object_id}.
slots:
object_id: path.directoryObject-id
- text: Get deleted item {object_id} cast as a user.
slots:
object_id: path.directoryObject-id
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/$count'].get
update:
x-apievangelist-phrasing:
intent: Count all deleted directory objects
effect: read
questions:
- How many objects of any kind are in the deleted items bin?
- What's the total number of soft-deleted objects matching a filter?
instructions:
- text: Count all deleted directory objects.
- text: Count deleted items that match {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.administrativeUnit'].get
update:
x-apievangelist-phrasing:
intent: List deleted administrative units
effect: read
questions:
- Which administrative units have been deleted lately?
- Can I see only the administrative units in the recycle bin?
instructions:
- text: List deleted administrative units.
- text: Find deleted administrative units named like {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.administrativeUnit/$count'].get
update:
x-apievangelist-phrasing:
intent: Count deleted administrative units
effect: read
questions:
- How many administrative units are waiting in deleted items?
- What number of removed admin units match a given filter?
instructions:
- text: Count the deleted administrative units.
- text: Count deleted admin units matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.application'].get
update:
x-apievangelist-phrasing:
intent: List deleted app registrations
effect: read
questions:
- Which app registrations were deleted and can still be restored?
- Can I filter the deleted applications by display name?
instructions:
- text: List deleted app registrations.
- text: Show deleted applications matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.application/$count'].get
update:
x-apievangelist-phrasing:
intent: Count deleted app registrations
effect: read
questions:
- How many app registrations are sitting in deleted items?
- What's the count of soft-deleted applications that match a search?
instructions:
- text: Count the deleted applications.
- text: Count deleted app registrations that match {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.device'].get
update:
x-apievangelist-phrasing:
intent: List deleted devices
effect: read
questions:
- Which device records have been removed from the directory recently?
- Can I narrow the deleted devices down with a filter?
instructions:
- text: List deleted devices.
- text: Show deleted devices matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.device/$count'].get
update:
x-apievangelist-phrasing:
intent: Count deleted devices
effect: read
questions:
- How many devices are in the deleted items bin right now?
- What number of deleted device records match a filter?
instructions:
- text: Count the deleted devices.
- text: Count deleted device records matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.getAvailableExtensionProperties'].post
update:
x-apievangelist-phrasing:
intent: List registered directory extension properties
effect: read
questions:
- What directory extension attributes are registered in my tenant, including by multitenant apps?
- Can I see only the extension properties synced from on-premises?
instructions:
- text: List all available directory extension properties via deleted items.
- text: Get extension property definitions where synced from on-premises is {synced}.
slots:
synced: requestBody.isSyncedFromOnPremises
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/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 to users, groups or devices in one request?
- Can I restrict an ID lookup to certain object types?
instructions:
- text: Look up the directory objects with IDs {ids}.
slots:
ids: requestBody.ids
- text: Resolve IDs {ids} but only return objects of types {types}.
slots:
ids: requestBody.ids
types: requestBody.types
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.group'].get
update:
x-apievangelist-phrasing:
intent: List deleted groups
effect: read
questions:
- Which groups have been deleted and are still recoverable?
- Can I search deleted groups by name?
instructions:
- text: List deleted groups.
- text: Search deleted groups for {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.group/$count'].get
update:
x-apievangelist-phrasing:
intent: Count deleted groups
effect: read
questions:
- How many groups are in deleted items?
- What's the number of deleted groups that match a filter?
instructions:
- text: Count the deleted groups.
- text: Count deleted groups matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.servicePrincipal'].get
update:
x-apievangelist-phrasing:
intent: List deleted service principals
effect: read
questions:
- Which enterprise app service principals were deleted recently?
- Can I filter deleted service principals by app ID?
instructions:
- text: List deleted service principals.
- text: Show deleted service principals matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.servicePrincipal/$count'].get
update:
x-apievangelist-phrasing:
intent: Count deleted service principals
effect: read
questions:
- How many service principals are waiting in the recycle bin?
- What number of deleted service principals match a search term?
instructions:
- text: Count the deleted service principals.
- text: Count deleted service principals that match {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.user'].get
update:
x-apievangelist-phrasing:
intent: List deleted users
effect: read
questions:
- Which user accounts were deleted in the last few weeks?
- Can I search deleted users by display name or email?
instructions:
- text: List deleted users.
- text: Search deleted user accounts for {term}.
slots:
term: query.$search
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.user/$count'].get
update:
x-apievangelist-phrasing:
intent: Count deleted users
effect: read
questions:
- How many user accounts are in deleted items?
- What's the count of deleted users that match a filter?
instructions:
- text: Count the deleted users.
- text: Count deleted user accounts matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-10-01'
- target: $.paths['/directory/deletedItems/microsoft.graph.validateProperties'].post
update:
x-apievangelist-phrasing:
intent: Check a group name against naming policy
effect: read
questions:
- Will a Microsoft 365 group display name pass my tenant's naming policy?
- Can I check whether a mail nickname contains blocked words before creating the group?
instructions:
- text: Validate display name {display_name} and mail nickname {nickname} for a group.
slots:
display_name: requestBody.displayName
nickname: requestBody.mailNickname
- text: Check {display_name} against the group naming policy on behalf of user {user_id}.
slots:
display_name: requestBody.displayName
user_id: requestBody.onBehalfOfUserId
method: generated
generated: '2026-10-01'