{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Group",
  "type": "object",
  "description": "Represents an Azure Active Directory group. Can be a Microsoft 365 group, a security group, a mail-enabled security group, or a distribution group.",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier for the group."
    },
    "displayName": {
      "type": "string",
      "description": "The display name for the group."
    },
    "description": {
      "type": "string",
      "description": "An optional description for the group."
    },
    "mail": {
      "type": "string",
      "description": "The SMTP address for the group."
    },
    "mailEnabled": {
      "type": "boolean",
      "description": "Specifies whether the group is mail-enabled."
    },
    "mailNickname": {
      "type": "string",
      "description": "The mail alias for the group, unique for Microsoft 365 groups in the organization."
    },
    "securityEnabled": {
      "type": "boolean",
      "description": "Specifies whether the group is a security group."
    },
    "groupTypes": {
      "type": "array",
      "description": "Specifies the group type and its membership. If the collection includes \"Unified\", the group is a Microsoft 365 group."
    },
    "visibility": {
      "type": "string",
      "description": "Specifies the visibility of a Microsoft 365 group. Default value is Public."
    },
    "createdDateTime": {
      "type": "string",
      "description": "Timestamp of when the group was created."
    },
    "renewedDateTime": {
      "type": "string",
      "description": "Timestamp of when the group was last renewed."
    },
    "classification": {
      "type": "string",
      "description": "Describes a classification for the group (such as low, medium, or high business impact)."
    },
    "membershipRule": {
      "type": "string",
      "description": "The rule that determines members for this group if the group is a dynamic group."
    },
    "membershipRuleProcessingState": {
      "type": "string",
      "description": "Whether dynamic membership processing is on or paused."
    },
    "resourceProvisioningOptions": {
      "type": "array",
      "description": "Specifies the group resources provisioned as part of Microsoft 365 group creation (e.g., Team)."
    },
    "members": {
      "type": "array",
      "description": "Direct members of this group."
    },
    "owners": {
      "type": "array",
      "description": "The owners of the group."
    }
  }
}