# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Groups.extension API version: 1.0.0 extends: openapi/azure-ad-groups-extension-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['/groups/{group-id}/extensions'].get update: x-apievangelist-phrasing: intent: List a group's open extensions effect: read questions: - What custom open extension data is stored on a group? - Can I filter the open extensions on a group by name? instructions: - text: List open extensions on group {group_id}. slots: group_id: path.group-id - text: Show extensions of group {group_id} matching {filter}. slots: group_id: path.group-id filter: query.$filter method: generated generated: '2026-10-01' - target: $.paths['/groups/{group-id}/extensions'].post update: x-apievangelist-phrasing: intent: Add an open extension to a group effect: write questions: - How do I attach my own custom data to a group? - Can I store app-specific properties on a group as an open extension? instructions: - text: Create an open extension on group {group_id}. slots: group_id: path.group-id - text: Add a new extension with ID {extension_name} to group {group_id}. slots: group_id: path.group-id extension_name: requestBody.id method: generated generated: '2026-10-01' - target: $.paths['/groups/{group-id}/extensions/{extension-id}'].get update: x-apievangelist-phrasing: intent: Get one open extension on a group effect: read questions: - What values are held in a specific open extension on a group? - Can I read a single group extension by its ID? instructions: - text: Show extension {extension_id} on group {group_id}. slots: group_id: path.group-id extension_id: path.extension-id - text: Get the custom data in extension {extension_id} for group {group_id}. slots: group_id: path.group-id extension_id: path.extension-id method: generated generated: '2026-10-01' - target: $.paths['/groups/{group-id}/extensions/{extension-id}'].delete update: x-apievangelist-phrasing: intent: Delete an open extension from a group effect: destructive questions: - How do I remove custom extension data from a group? - Can I delete a group extension only if its etag still matches? instructions: - text: Delete extension {extension_id} from group {group_id}. slots: group_id: path.group-id extension_id: path.extension-id - text: Remove extension {extension_id} on {group_id} if the etag is {etag}. slots: group_id: path.group-id extension_id: path.extension-id etag: header.If-Match method: generated generated: '2026-10-01' - target: $.paths['/groups/{group-id}/extensions/{extension-id}'].patch update: x-apievangelist-phrasing: intent: Update an open extension on a group effect: write questions: - How do I change the values stored in a group's open extension? - Can I patch an existing extension on a group without recreating it? instructions: - text: Update extension {extension_id} on group {group_id}. slots: group_id: path.group-id extension_id: path.extension-id - text: Patch the custom properties in extension {extension_id} of group {group_id}. slots: group_id: path.group-id extension_id: path.extension-id method: generated generated: '2026-10-01' - target: $.paths['/groups/{group-id}/extensions/$count'].get update: x-apievangelist-phrasing: intent: Count a group's open extensions effect: read questions: - How many open extensions are defined on a group? - What number of a group's extensions match a filter? instructions: - text: Count open extensions on group {group_id}. slots: group_id: path.group-id - text: Count extensions of {group_id} matching {filter}. slots: group_id: path.group-id filter: query.$filter method: generated generated: '2026-10-01'