# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Identity.SignIns Identity Protection.risk Detection API version: 1.0.0 extends: openapi/azure-ad-identityprotection-riskdetection-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: 6 - target: $.paths['/identityProtection/riskDetections'].get update: x-apievangelist-phrasing: intent: List identity risk detections effect: read questions: - What risky sign-in and user risk detections has Identity Protection flagged? - Can I filter risk detections to only high risk level events? instructions: - text: List all risk detections. - text: List risk detections matching {filter}, ordered by {orderby}. slots: filter: query.$filter orderby: query.$orderby method: generated generated: '2026-10-01' - target: $.paths['/identityProtection/riskDetections'].post update: x-apievangelist-phrasing: intent: Add a risk detection record effect: write questions: - Can I create a risk detection entry for a user? - Is it possible to record a risk event with a specific risk level and IP address? instructions: - text: Create a risk detection for user {userId} with risk level {riskLevel}. slots: userId: requestBody.userId riskLevel: requestBody.riskLevel - text: Record a {riskEventType} risk detection from IP {ipAddress} for user {userId}. slots: riskEventType: requestBody.riskEventType ipAddress: requestBody.ipAddress userId: requestBody.userId method: generated generated: '2026-10-01' - target: $.paths['/identityProtection/riskDetections/{riskDetection-id}'].get update: x-apievangelist-phrasing: intent: Get one risk detection effect: read questions: - What location, IP and risk type are behind a particular risk detection? - Can I look up a single risk detection by its ID? instructions: - text: Get risk detection {detection}. slots: detection: path.riskDetection-id - text: Show the IP, location and risk level of detection {detection}. slots: detection: path.riskDetection-id method: generated generated: '2026-10-01' - target: $.paths['/identityProtection/riskDetections/{riskDetection-id}'].delete update: x-apievangelist-phrasing: intent: Delete a risk detection effect: destructive questions: - Can I remove a risk detection record? - Is deleting an individual risk detection supported? instructions: - text: Delete risk detection {detection}. slots: detection: path.riskDetection-id - text: Remove risk detection {detection} if its ETag matches {etag}. slots: detection: path.riskDetection-id etag: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/identityProtection/riskDetections/{riskDetection-id}'].patch update: x-apievangelist-phrasing: intent: Update a risk detection effect: write questions: - Can I change the risk state or risk level recorded on a detection? - Is it possible to edit an existing risk detection's details? instructions: - text: Set the risk state of detection {detection} to {riskState}. slots: detection: path.riskDetection-id riskState: requestBody.riskState - text: Change risk detection {detection} to risk level {riskLevel}. slots: detection: path.riskDetection-id riskLevel: requestBody.riskLevel method: generated generated: '2026-10-01' - target: $.paths['/identityProtection/riskDetections/$count'].get update: x-apievangelist-phrasing: intent: Count identity risk detections effect: read questions: - How many risk detections has Identity Protection recorded? - Can I count just the risk detections matching a filter? instructions: - text: Count all risk detections. - text: Count risk detections matching {filter}. slots: filter: query.$filter method: generated generated: '2026-10-01'