# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure GraphRbacManagementClient Service Principal… version: 1.0.0 extends: openapi/microsoft-azure-serviceprincipal-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: 5 - target: $.paths['/{tenantID}/servicePrincipals'].get update: x-apievangelist-phrasing: intent: List service principals in a tenant effect: read questions: - Which service principals exist in my directory tenant? - Can I filter service principals, for example by appId or display name? instructions: - text: List the service principals in tenant {tenant}. slots: tenant: path.tenantID - text: Find service principals in tenant {tenant} matching {filter}. slots: tenant: path.tenantID filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/{tenantID}/servicePrincipals'].post update: x-apievangelist-phrasing: intent: Create a service principal for an app effect: write questions: - How do I create a service principal for an application I registered? - Can I add password or key credentials when creating a service principal? instructions: - text: Create a service principal for app {app_id} in tenant {tenant}. slots: app_id: requestBody.appId tenant: path.tenantID - text: Create a service principal for application {app_id} in {tenant} with accountEnabled set to {enabled}. slots: app_id: requestBody.appId tenant: path.tenantID enabled: requestBody.accountEnabled method: generated generated: '2026-09-26' - target: $.paths['/{tenantID}/servicePrincipals/{objectId}'].get update: x-apievangelist-phrasing: intent: Get a service principal by object ID effect: read questions: - How do I look up a single service principal in my directory? - What details does the directory hold for one service principal object? instructions: - text: Get service principal {objectId} in tenant {tenantID}. slots: objectId: path.objectId tenantID: path.tenantID - text: Show directory info for service principal object {objectId}. slots: objectId: path.objectId method: generated generated: '2026-10-01' - target: $.paths['/{tenantID}/servicePrincipals/{objectId}'].delete update: x-apievangelist-phrasing: intent: Delete a service principal effect: destructive questions: - How do I delete a service principal from my directory? - Can I remove an app's service principal without deleting the app registration? instructions: - text: Delete service principal {object_id} from tenant {tenant}. slots: object_id: path.objectId tenant: path.tenantID - text: Remove the service principal with object ID {object_id}. slots: object_id: path.objectId method: generated generated: '2026-09-26' - target: $.paths['/{tenantID}/servicePrincipals/{objectId}'].patch update: x-apievangelist-phrasing: intent: Update a service principal effect: write questions: - Can I disable a service principal without deleting it? - Is it possible to require app role assignment on an existing service principal? instructions: - text: Set accountEnabled to {enabled} on service principal {object_id} in tenant {tenant}. slots: enabled: requestBody.accountEnabled object_id: path.objectId tenant: path.tenantID - text: Update the tags on service principal {object_id} to {tags}. slots: object_id: path.objectId tags: requestBody.tags method: generated generated: '2026-09-26'