# 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 Defender EASM Discovery Groups API version: 1.0.0 extends: openapi/microsoft-azure-discovery-groups-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 6 - target: $.paths['/discoGroups'].get update: x-apievangelist-phrasing: intent: List attack surface discovery groups effect: read questions: - What discovery groups have I set up for external attack surface management? - Can I filter and page through my discovery groups? instructions: - text: List all my discovery groups. - text: Show discovery groups matching {filter}, {maxpagesize} per page. slots: filter: query.filter maxpagesize: query.maxpagesize method: generated generated: '2026-09-26' - target: $.paths['/discoGroups/{groupName}'].get update: x-apievangelist-phrasing: intent: Get a discovery group effect: read questions: - What seeds and exclusions does a specific discovery group use? - Can I look up one discovery group by name? instructions: - text: Get discovery group {groupName}. slots: groupName: path.groupName - text: Show the seeds and schedule of discovery group {groupName}. slots: groupName: path.groupName method: generated generated: '2026-09-26' - target: $.paths['/discoGroups/{groupName}'].put update: x-apievangelist-phrasing: intent: Create or replace a discovery group effect: write questions: - How do I set up a discovery group to find my organization's internet-facing assets? - Can I exclude certain domains or IPs from asset discovery? - How often can a discovery group re-run automatically? instructions: - text: Create discovery group {groupName} seeded with {seeds}. slots: groupName: path.groupName seeds: requestBody.seeds - text: Replace discovery group {groupName} with seeds {seeds} and exclusions {excludes}. slots: groupName: path.groupName seeds: requestBody.seeds excludes: requestBody.excludes method: generated generated: '2026-09-26' - target: $.paths['/discoGroups/{groupName}:run'].post update: x-apievangelist-phrasing: intent: Run a discovery group now effect: write questions: - Can I kick off an asset discovery run on demand instead of waiting for the schedule? - How do I trigger a fresh scan for one discovery group? instructions: - text: Run discovery group {groupName} now. slots: groupName: path.groupName - text: Start a new discovery scan for {groupName}. slots: groupName: path.groupName method: generated generated: '2026-09-26' - target: $.paths['/discoGroups/{groupName}/runs'].get update: x-apievangelist-phrasing: intent: List past runs of a discovery group effect: read questions: - What were the results of previous discovery runs for my group? - Can I filter a discovery group's run history? instructions: - text: List the run results for discovery group {groupName}. slots: groupName: path.groupName - text: Show runs of {groupName} matching {filter}. slots: groupName: path.groupName filter: query.filter method: generated generated: '2026-09-26' - target: $.paths['/discoGroups:validate'].post update: x-apievangelist-phrasing: intent: Validate a discovery group definition effect: read questions: - Can I check a discovery group definition for errors before saving it? - Will my seeds and exclusions pass validation? instructions: - text: Validate a discovery group named {name} with seeds {seeds}. slots: name: requestBody.name seeds: requestBody.seeds - text: Dry-run check discovery settings with seeds {seeds} and excludes {excludes}. slots: seeds: requestBody.seeds excludes: requestBody.excludes method: generated generated: '2026-09-26'