Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Groups.group Lifecycle Policy API

9 actions 9 updates phrasing extends openapi/azure-ad-groups-grouplifecyclepolicy-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/groups/{group-id}/groupLifecyclePolicies'].get
$.paths['/groups/{group-id}/groupLifecyclePolicies'].post
$.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}'].get
$.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}'].delete
$.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}'].patch
$.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup'].post
$.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.removeGroup'].post
$.paths['/groups/{group-id}/groupLifecyclePolicies/$count'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Groups.group Lifecycle Policy API
  version: 1.0.0
extends: openapi/azure-ad-groups-grouplifecyclepolicy-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: 8
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies'].get
  update:
    x-apievangelist-phrasing:
      intent: List lifecycle policies a group belongs to
      effect: read
      questions:
      - Which expiration policies apply to a given group?
      - How do I check whether a group is covered by a group lifecycle policy?
      instructions:
      - text: List the lifecycle policies that group {group_id} belongs to.
        slots:
          group_id: path.group-id
      - text: Show the expiration policy settings covering group {group_id}.
        slots:
          group_id: path.group-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a lifecycle policy under a group
      effect: write
      questions:
      - Can I create an expiration policy with a set lifetime in days from a group's endpoint?
      - 'Which group types can a new lifecycle policy manage: none, selected or all?'
      instructions:
      - text: Create a lifecycle policy on group {group_id} with a lifetime of {days} days.
        slots:
          group_id: path.group-id
          days: requestBody.groupLifetimeInDays
      - text: Create a policy under group {group_id} managing {managed_types} groups, notifying {emails}.
        slots:
          group_id: path.group-id
          managed_types: requestBody.managedGroupTypes
          emails: requestBody.alternateNotificationEmails
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a group's lifecycle policy
      effect: read
      questions:
      - What lifetime and notification emails does one of a group's expiration policies use?
      - Can I read a single lifecycle policy attached to a group by its id?
      instructions:
      - text: Get lifecycle policy {policy_id} of group {group_id}.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
      - text: Show the lifetime in days for policy {policy_id} on group {group_id}.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a lifecycle policy via a group
      effect: destructive
      questions:
      - Can I delete an expiration policy through a group's lifecycle policy link?
      - What happens to group expiration when its lifecycle policy is deleted?
      instructions:
      - text: Delete lifecycle policy {policy_id} from group {group_id}.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
      - text: Remove policy {policy_id} on group {group_id} only if its ETag is {etag}.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
          etag: header.If-Match
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a group's lifecycle policy
      effect: write
      questions:
      - Can I extend the lifetime of an existing group expiration policy?
      - Is it possible to change who gets notified about groups with no owner?
      instructions:
      - text: Set the lifetime of policy {policy_id} on group {group_id} to {days} days.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
          days: requestBody.groupLifetimeInDays
      - text: Change alternate notification emails on policy {policy_id} for group {group_id} to {emails}.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
          emails: requestBody.alternateNotificationEmails
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a group to a lifecycle policy
      effect: write
      questions:
      - How do I put a specific group under an expiration policy?
      - Why can I only add groups to a lifecycle policy that manages selected groups?
      instructions:
      - text: Add group {target_group} to lifecycle policy {policy_id} via group {group_id}.
        slots:
          target_group: requestBody.groupId
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
      - text: Start applying expiration policy {policy_id} to group {target_group}, reached through group {group_id}.
        slots:
          policy_id: path.groupLifecyclePolicy-id
          target_group: requestBody.groupId
          group_id: path.group-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.removeGroup'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a group from a lifecycle policy
      effect: write
      questions:
      - Can I stop a group from expiring by taking it out of a lifecycle policy?
      - What call exempts one group from its expiration policy?
      instructions:
      - text: Remove group {target_group} from lifecycle policy {policy_id} via group {group_id}.
        slots:
          target_group: requestBody.groupId
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
      - text: Exempt group {target_group} from expiration policy {policy_id}, reached through group {group_id}.
        slots:
          target_group: requestBody.groupId
          policy_id: path.groupLifecyclePolicy-id
          group_id: path.group-id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{group-id}/groupLifecyclePolicies/$count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count lifecycle policies on a group
      effect: read
      questions:
      - How many lifecycle policies is a group part of?
      - Can I get just the number of expiration policies covering a group?
      instructions:
      - text: Count the lifecycle policies group {group_id} belongs to.
        slots:
          group_id: path.group-id
      - text: Return only the expiration policy total for group {group_id}.
        slots:
          group_id: path.group-id
      method: generated
      generated: '2026-10-01'