Data/ReportDefinitions.psd1

@{
    M365AppsUserDetail = @{
        DisplayName = 'M365 Apps User Detail'
        Endpoint    = "reports/getM365AppUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365AppsUserDetail'
    }
    TeamsUserActivity = @{
        DisplayName = 'Teams User Activity'
        Endpoint    = "reports/getTeamsUserActivityUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365TeamsUserActivity'
    }
    TeamsDeviceUsage = @{
        DisplayName = 'Teams Device Usage'
        Endpoint    = "reports/getTeamsDeviceUsageUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365TeamsDeviceUsage'
    }
    ExchangeMailboxUsage = @{
        DisplayName = 'Exchange Mailbox Usage'
        Endpoint    = "reports/getMailboxUsageDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365ExchangeMailboxUsage'
    }
    ExchangeEmailActivity = @{
        DisplayName = 'Exchange Email Activity'
        Endpoint    = "reports/getEmailActivityUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365ExchangeEmailActivity'
    }
    ExchangeAppUsage = @{
        DisplayName = 'Exchange App Usage'
        Endpoint    = "reports/getEmailAppUsageUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365ExchangeAppUsage'
    }
    OneDriveUsage = @{
        DisplayName = 'OneDrive Usage'
        Endpoint    = "reports/getOneDriveUsageAccountDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365OneDriveUsage'
    }
    OneDriveActivity = @{
        DisplayName = 'OneDrive Activity'
        Endpoint    = "reports/getOneDriveActivityUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365OneDriveActivity'
    }
    SharePointSiteUsage = @{
        DisplayName = 'SharePoint Site Usage'
        Endpoint    = "reports/getSharePointSiteUsageDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365SharePointSiteUsage'
    }
    SharePointActivity = @{
        DisplayName = 'SharePoint Activity'
        Endpoint    = "reports/getSharePointActivityUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365SharePointActivity'
    }
    ActiveUserDetail = @{
        DisplayName = 'Office 365 Active User Detail'
        Endpoint    = "reports/getOffice365ActiveUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365ActiveUserDetail'
    }
    CopilotUsage = @{
        DisplayName = 'Copilot Usage'
        # 2026-04-27: Migrated from 'beta/reports/...' (which switched to JSON-only
        # response and broke the CSV parser) to v1.0 '/copilot/reports/...'. Microsoft
        # has consolidated all Copilot reporting under the /copilot URL segment and the
        # v1.0 endpoint returns CSV (matching the parser contract used by every other
        # report). See Microsoft Learn, copilotReportRoot.
        Endpoint    = "copilot/reports/getMicrosoft365CopilotUsageUserDetail(period='{0}')"
        ApiVersion  = 'v1.0'
        Table       = 'M365CopilotUsage'
    }
}