{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-meeting-attendance-report-schema.json",
  "title": "microsoft.graph.meetingAttendanceReport",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-communications-onlinemeeting-api-openapi.yml#/components/schemas/microsoft.graph.meetingAttendanceReport",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "meetingAttendanceReport",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "externalEventInformation": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.virtualEventExternalInformation"
          },
          "description": "The external information of a virtual event. Returned only for event organizers or coorganizers. Read-only."
        },
        "meetingEndDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "UTC time when the meeting ended. Read-only.",
          "format": "date-time"
        },
        "meetingStartDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "UTC time when the meeting started. Read-only.",
          "format": "date-time"
        },
        "totalParticipantCount": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Total number of participants. Read-only.",
          "format": "int32"
        },
        "attendanceRecords": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.attendanceRecord"
          },
          "description": "List of attendance records of an attendance report. Read-only.",
          "x-ms-navigationProperty": true
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.meetingAttendanceReport",
  "$defs": {
    "microsoft.graph.attendanceInterval": {
      "title": "attendanceInterval",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "durationInSeconds": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Duration of the meeting interval in seconds; that is, the difference between joinDateTime and leaveDateTime.",
          "format": "int32"
        },
        "joinDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "The time the attendee joined in UTC.",
          "format": "date-time"
        },
        "leaveDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "The time the attendee left in UTC.",
          "format": "date-time"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.attendanceRecord": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "attendanceRecord",
          "required": [
            "@odata.type"
          ],
          "type": "object",
          "properties": {
            "attendanceIntervals": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/microsoft.graph.attendanceInterval"
              },
              "description": "List of time periods between joining and leaving a meeting."
            },
            "emailAddress": {
              "type": [
                "string",
                "null"
              ],
              "description": "Email address of the user associated with this attendance record."
            },
            "externalRegistrationInformation": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.virtualEventExternalRegistrationInformation"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "The external information for a virtualEventRegistration."
            },
            "identity": {
              "anyOf": [
                {
                  "$ref": "#/$defs/microsoft.graph.identity"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ],
              "description": "The identity of the user associated with this attendance record. The specific type is one of the following derived types of identity, depending on the user type: communicationsUserIdentity, azureCommunicationServicesUserIdentity."
            },
            "registrationId": {
              "type": [
                "string",
                "null"
              ],
              "description": "Unique identifier of a virtualEventRegistration that is available to all participants registered for the virtualEventWebinar."
            },
            "role": {
              "type": [
                "string",
                "null"
              ],
              "description": "Role of the attendee. The possible values are: None, Attendee, Presenter, and Organizer."
            },
            "totalAttendanceInSeconds": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": [
                "number",
                "null"
              ],
              "description": "Total duration of the attendances in seconds.",
              "format": "int32"
            },
            "@odata.type": {
              "type": "string"
            }
          }
        }
      ],
      "x-ms-discriminator-value": "#microsoft.graph.attendanceRecord"
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.identity": {
      "title": "identity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the identity.For drive items, the display name might not always be available or up to date. For example, if a user changes their display name the API might show the new value in a future response, but the items associated with the user don't show up as changed when using delta."
        },
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unique identifier for the identity or actor. For example, in the access reviews decisions API, this property might record the id of the principal, that is, the group, user, or application that's subject to review."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.virtualEventExternalInformation": {
      "title": "virtualEventExternalInformation",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "applicationId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Identifier of the application that hosts the externalEventId. Read-only."
        },
        "externalEventId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The identifier for a virtualEventExternalInformation object that associates the virtual event with an event ID in an external application. This association bundles all the information (both supported and not supported in virtualEvent) into one virtual event object. Optional. If set, the maximum supported length is 256 characters."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.virtualEventExternalRegistrationInformation": {
      "title": "virtualEventExternalRegistrationInformation",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "referrer": {
          "type": [
            "string",
            "null"
          ],
          "description": "A URL or string that represents the location from which the registrant registered. Optional."
        },
        "registrationId": {
          "type": [
            "string",
            "null"
          ],
          "description": "The identifier for a virtualEventExternalRegistrationInformation object. Optional. If set, the maximum supported length is 256 characters."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  }
}