Microsoft Entra ID (formerly Azure AD) Groups.group Lifecycle Policy API

The groups.groupLifecyclePolicy API from Microsoft Entra ID (formerly Azure AD) — 5 operation(s) for groups.grouplifecyclepolicy.

Business capability
Identity & Access Management BC-620.20

Operations 8

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /groups/{group-id}/groupLifecyclePolicies List lifecycle policies a group belongs to · List groupLifecyclePolicies #
Ask an LLM
“Which expiration policies apply to a given group?”
“How do I check whether a group is covered by a group lifecycle policy?”
Tell an agent
List the lifecycle policies that group {group_id} belongs to.
Show the expiration policy settings covering group {group_id}.
POST /groups/{group-id}/groupLifecyclePolicies Create a lifecycle policy under a group · Create new navigation property to groupLifecyclePolicies for groups #
Ask an LLM
“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?”
Tell an agent
Create a lifecycle policy on group {group_id} with a lifetime of {days} days.
Create a policy under group {group_id} managing {managed_types} groups, notifying {emails}.
GET /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id} Get a group's lifecycle policy · Get groupLifecyclePolicies from groups #
Ask an LLM
“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?”
Tell an agent
Get lifecycle policy {policy_id} of group {group_id}.
Show the lifetime in days for policy {policy_id} on group {group_id}.
PATCH /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id} Update a group's lifecycle policy · Update the navigation property groupLifecyclePolicies in groups #
Ask an LLM
“Can I extend the lifetime of an existing group expiration policy?”
“Is it possible to change who gets notified about groups with no owner?”
Tell an agent
Set the lifetime of policy {policy_id} on group {group_id} to {days} days.
Change alternate notification emails on policy {policy_id} for group {group_id} to {emails}.
DELETE /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id} Delete a lifecycle policy via a group · Delete navigation property groupLifecyclePolicies for groups #
Ask an LLM
“Can I delete an expiration policy through a group's lifecycle policy link?”
“What happens to group expiration when its lifecycle policy is deleted?”
Tell an agent destructive · confirm first
Delete lifecycle policy {policy_id} from group {group_id}.
Remove policy {policy_id} on group {group_id} only if its ETag is {etag}.
POST /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup Add a group to a lifecycle policy · Invoke action addGroup #
Ask an LLM
“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?”
Tell an agent
Add group {target_group} to lifecycle policy {policy_id} via group {group_id}.
Start applying expiration policy {policy_id} to group {target_group}, reached through group {group_id}.
POST /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.removeGroup Remove a group from a lifecycle policy · Invoke action removeGroup #
Ask an LLM
“Can I stop a group from expiring by taking it out of a lifecycle policy?”
“What call exempts one group from its expiration policy?”
Tell an agent
Remove group {target_group} from lifecycle policy {policy_id} via group {group_id}.
Exempt group {target_group} from expiration policy {policy_id}, reached through group {group_id}.
GET /groups/{group-id}/groupLifecyclePolicies/$count Count lifecycle policies on a group · Get the number of the resource #
Ask an LLM
“How many lifecycle policies is a group part of?”
“Can I get just the number of expiration policies covering a group?”
Tell an agent
Count the lifecycle policies group {group_id} belongs to.
Return only the expiration policy total for group {group_id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/azure-ad:azure-ad-groups-grouplifecyclepolicy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

azure-ad-groups-grouplifecyclepolicy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Groups.group Lifecycle Policy API
  version: v1.0
servers:
- url: https://graph.microsoft.com/v1.0/
  description: Core
security:
- azureaadv2: []
tags:
- name: groups.groupLifecyclePolicy
paths:
  /groups/{group-id}/groupLifecyclePolicies:
    get:
      tags:
      - groups.groupLifecyclePolicy
      summary: List groupLifecyclePolicies
      description: Retrieves a list of groupLifecyclePolicy objects to which a group belongs.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/group-list-grouplifecyclepolicies?view=graph-rest-1.0
      operationId: group_ListGroupLifecyclePolicy
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/count'
      - name: $orderby
        in: query
        description: Order items by property values
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          $ref: '#/components/responses/microsoft.graph.groupLifecyclePolicyCollectionResponse'
        default:
          $ref: '#/components/responses/error'
      x-ms-pageable:
        nextLinkName: '@odata.nextLink'
        operationName: listMore
      x-ms-docs-operation-type: operation
    post:
      tags:
      - groups.groupLifecyclePolicy
      summary: Create new navigation property to groupLifecyclePolicies for groups
      operationId: group_CreateGroupLifecyclePolicy
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      requestBody:
        description: New navigation property
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy'
        required: true
      responses:
        2XX:
          description: Created navigation property.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}:
    get:
      tags:
      - groups.groupLifecyclePolicy
      summary: Get groupLifecyclePolicies from groups
      description: The collection of lifecycle policies for this group. Read-only. Nullable.
      operationId: group_GetGroupLifecyclePolicy
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - name: groupLifecyclePolicy-id
        in: path
        description: The unique identifier of groupLifecyclePolicy
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: groupLifecyclePolicy
      - name: $select
        in: query
        description: Select properties to be returned
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      - name: $expand
        in: query
        description: Expand related entities
        style: form
        explode: false
        schema:
          uniqueItems: true
          type: array
          items:
            type: string
      responses:
        2XX:
          description: Retrieved navigation property
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    patch:
      tags:
      - groups.groupLifecyclePolicy
      summary: Update the navigation property groupLifecyclePolicies in groups
      operationId: group_UpdateGroupLifecyclePolicy
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - name: groupLifecyclePolicy-id
        in: path
        description: The unique identifier of groupLifecyclePolicy
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: groupLifecyclePolicy
      requestBody:
        description: New navigation property values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy'
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy'
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
    delete:
      tags:
      - groups.groupLifecyclePolicy
      summary: Delete navigation property groupLifecyclePolicies for groups
      operationId: group_DeleteGroupLifecyclePolicy
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - name: groupLifecyclePolicy-id
        in: path
        description: The unique identifier of groupLifecyclePolicy
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: groupLifecyclePolicy
      - name: If-Match
        in: header
        description: ETag
        style: simple
        schema:
          type: string
      responses:
        2XX:
          description: Success
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: operation
  /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.addGroup:
    post:
      tags:
      - groups.groupLifecyclePolicy
      summary: Invoke action addGroup
      description: Add a group to a groupLifecyclePolicy. This action is supported only if the managedGroupTypes property of the policy is set to Selected.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/grouplifecyclepolicy-addgroup?view=graph-rest-1.0
      operationId: group.groupLifecyclePolicy_addGroup
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - name: groupLifecyclePolicy-id
        in: path
        description: The unique identifier of groupLifecyclePolicy
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: groupLifecyclePolicy
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                groupId:
                  type: string
              additionalProperties:
                type: object
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: boolean
                    default: false
                additionalProperties:
                  type: object
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
  /groups/{group-id}/groupLifecyclePolicies/{groupLifecyclePolicy-id}/microsoft.graph.removeGroup:
    post:
      tags:
      - groups.groupLifecyclePolicy
      summary: Invoke action removeGroup
      description: Removes a group from a lifecycle policy.
      externalDocs:
        description: Find more info here
        url: https://learn.microsoft.com/graph/api/grouplifecyclepolicy-removegroup?view=graph-rest-1.0
      operationId: group.groupLifecyclePolicy_removeGroup
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - name: groupLifecyclePolicy-id
        in: path
        description: The unique identifier of groupLifecyclePolicy
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: groupLifecyclePolicy
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                groupId:
                  type: string
              additionalProperties:
                type: object
        required: true
      responses:
        2XX:
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: boolean
                    default: false
                additionalProperties:
                  type: object
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action
  /groups/{group-id}/groupLifecyclePolicies/$count:
    get:
      tags:
      - groups.groupLifecyclePolicy
      summary: Get the number of the resource
      operationId: group.groupLifecyclePolicy_GetCount
      parameters:
      - name: group-id
        in: path
        description: The unique identifier of group
        required: true
        style: simple
        schema:
          type: string
        x-ms-docs-key-type: group
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/filter'
      responses:
        2XX:
          $ref: '#/components/responses/ODataCountResponse'
        default:
          $ref: '#/components/responses/error'
components:
  responses:
    error:
      description: error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.ODataErrors.ODataError'
    ODataCountResponse:
      description: The count of the resource
      content:
        text/plain:
          schema:
            $ref: '#/components/schemas/ODataCountResponse'
    microsoft.graph.groupLifecyclePolicyCollectionResponse:
      description: Retrieved collection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicyCollectionResponse'
  schemas:
    microsoft.graph.entity:
      title: entity
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for an entity. Read-only.
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.InnerError:
      type: object
      additionalProperties:
        type: object
      description: The structure of this object is service-specific
    microsoft.graph.groupLifecyclePolicy:
      allOf:
      - $ref: '#/components/schemas/microsoft.graph.entity'
      - title: groupLifecyclePolicy
        type: object
        properties:
          alternateNotificationEmails:
            type:
            - string
            - 'null'
            description: List of email address to send notifications for groups without owners. Multiple email address can be defined by separating email address with a semicolon.
          groupLifetimeInDays:
            maximum: 2147483647
            minimum: -2147483648
            type:
            - number
            - 'null'
            description: Number of days before a group expires and needs to be renewed. Once renewed, the group expiration is extended by the number of days defined.
            format: int32
          managedGroupTypes:
            type:
            - string
            - 'null'
            description: The group type for which the expiration policy applies. Possible values are All, Selected or None.
        additionalProperties:
          type: object
    microsoft.graph.ODataErrors.ODataError:
      required:
      - error
      type: object
      properties:
        error:
          $ref: '#/components/schemas/microsoft.graph.ODataErrors.MainError'
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.ErrorDetails:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        target:
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    microsoft.graph.ODataErrors.MainError:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
        message:
          type: string
          x-ms-primary-error-message: true
        target:
          type:
          - string
          - 'null'
        details:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.ODataErrors.ErrorDetails'
        innerError:
          $ref: '#/components/schemas/microsoft.graph.ODataErrors.InnerError'
      additionalProperties:
        type: object
    microsoft.graph.groupLifecyclePolicyCollectionResponse:
      title: Collection of groupLifecyclePolicy
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/microsoft.graph.groupLifecyclePolicy'
        '@odata.nextLink':
          type:
          - string
          - 'null'
      additionalProperties:
        type: object
    ODataCountResponse:
      type: integer
      format: int32
  parameters:
    count:
      name: $count
      in: query
      description: Include count of items
      style: form
      explode: false
      schema:
        type: boolean
    search:
      name: $search
      in: query
      description: Search items by search phrases
      style: form
      explode: false
      schema:
        type: string
    top:
      name: $top
      in: query
      description: Show only the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
      example: 50
    skip:
      name: $skip
      in: query
      description: Skip the first n items
      style: form
      explode: false
      schema:
        minimum: 0
        type: integer
    filter:
      name: $filter
      in: query
      description: Filter items by property values
      style: form
      explode: false
      schema:
        type: string
  securitySchemes:
    azureaadv2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes: {}