Get reports on Microsoft 365

The reports that provide data on Microsoft 365 apps such as Teams, groups, and SharePoint

SharePoint Site Discovery Report

This report provides comprehensive details of all configured SharePoint sites, including backup details and storage consumption for enabled and disabled sites.

URL

https://apis.druva.com/platform/reporting/v1/reports/m365SharePointSiteDiscovery

Request type

HTTP POST

Sample cURL request

"curl --request POST \
     --url https://apis.druva.com/platform/reporting/v1/reports/m365SharePointSiteDiscovery \
     --header 'Content-Type: application/json' \
     --header 'accept: application/json' \
     --data '
{
  "filters": {
    "pageSize": 100,
    "filterBy": [
      {
        "fieldName": "siteName",
        "operator": "EQUAL",
        "value": "string"
      }
    ]
  },
  "pageToken": ""
}
'"	

To try out this API, refer API reference.

📘

Note

On the API reference page, select m365SharePointSiteDiscovery as the report ID under path params to test this API endpoint.

Sample responses

"{
    "data": [
        {
            "addedOn": "2024-08-08T14:05:50.000Z",
            "appStatus": "Disabled",
            "backupFrequency": 720,
            "errorDetailsNew": null,
            "errorDetailsOld": "-",
            "geolocation": "FRA (France)",
            "isDeleted": 0,
            "lastBackupAttempted": "2024-08-29T05:36:43.000Z",
            "lastBackupStatus": "Backed Up Successfully",
            "lastSuccessfulBackup": "2024-08-29T05:36:43.000Z",
            "lastUpdatedTime": "2024-08-29T11:59:14.000Z",
            "retention": "8D, 5W, 13M",
            "siteDbId": 131432,
            "siteName": "007 - pvt-channel-new",
            "siteType": "MS Teams Private Channel Site",
            "siteURL": "https://dglobal.sharepoint.com/sites/007-pvt-channel-new",
            "storageRegion": "us-east-1",
            "totalBackupData": 482739
        }
    ],
    "filters": {
        "pageSize": 100,
        "filterBy": [
            {
                "fieldName": "lastUpdatedTime",
                "value": "2024-06-23T06:32:58Z",
                "operator": "gte"
            }
        ]
    },
    "lastSyncTimestamp": "2024-09-02T10:01:22Z",
    "nextPageToken": ""
}"	
FieldTypeDescription
data array of objectsThe collection of site discovery data.
lastUpdatedTime date-timeSpecifies the last updated timestamp for the record. The time is in the UTC time zone. For Example - 2019-10-25T00:00:00Z
siteDbId stringSpecifies the ID of the site stored in DB.
siteName stringSpecifies the name of the site stored in DB.
siteURL stringSpecifies the URL for that site.
siteType stringSpecifies the type of a particular site. For example - "MS Teams Site," "M365 Groups Site"
addedOn integerEPOCH timestamp indicates the time when the site was added to DB.
geolocation stringSpecifies the geolocation of the configured site. For example - "APC (Macro Region Geography 2 - Asia-Pacific)", "AUS (Australia)"
backupFrequency integerSpecifies the backup frequency denoted by specific integer values,
For example -
720 - Twice A day
1440 - Once A day
4320 - Twice A Week
10080 - Once A Week
480 - Thrice A day
2880 - Thrice A Week
240 - Five Times a day
0 - Never
retention stringSpecifies the retention policy for backups, indicating the duration for which backups will be kept. The format follows a combination of days (D), weeks (W), and months (M). For example, "5D, 4W, 12M" means backups will be retained for 5 days, 4 weeks, and 12 months.
appStatus stringSpecifies the status of the configured site. For example - "Enabled" or "Disabled"
totalBackupData integerSpecifies the value of the total backup data stored in bytes.
lastSuccessfulBackup integerSpecifies the EPOCH timestamp indicating the time when the last backup was successful.
lastBackupAttempted integerSpecifies the EPOCH timestamp indicating the time when the last backup was attempted.
lastBackupStatus stringSpecifies the status of the last backup attempted, For example - "Backup Successful"
errorDetailsOld stringA string representing error occured for the last backup job. For example - "EUSERNOTFOUND"
errorDetailsNew stringA string represents all the errors during the last backup in a comma-separated format. For example - ""100010016,100000001""

The actual error strings associated with the error codes are as below.
100000001 - Internal error
1000000f7 - Throttling Issue
10000000b - Quota limit reached
10000000A - Task Aborted
100000016 - Authorization Failed
100000046 - Insufficient Permissions
10000004b - Task Canceled
100010001 - File is checked out
100010002 - MS Team site channel update failed
100010007 - Character Limit Exceeded
100010009 - Token Invalid
10001000f - User Not Found
100010010 - Microsoft List View Threshold Reached
100010011 - Virus Infected File
100010013 - File Not Found
100010014 - Connection Error From Microsoft
100010015 - The site level feature is not available in SharePoint Online
100010016 - Site Not Found
100010017 - Metadata Restore Failed
100010018 - Site Feature Restore Failed
100010019 - Quick Launch Node Restore Failed
10001001a - Top Navigation Bar Restore Failed
10001001b - Term Store Restore Failed
10001001c - List Item Restore Failed
10001001d - Site Not Found in SharePoint PowerShell
10001001f - SharePoint Site Busy
100010020 - SharePoint Storage Issue
100010023 - Cannot Restore Active Solution
100010024 - SharePoint Site Locked
storageRegion stringSpecifies the name of the storage assigned.
filters objectFilters applied on the report.
nextPageToken stringThe token to access the next page of results. This parameter will be empty for the last page of the results. This token is valid for 5 minutes.

{
  "code": "string",
  "data": {
    "additionalProp": {}
  },
  "message": "string",
  "retryable": true
}

FieldTypeDescription
codestringError code.
dataobjectData of the error.
messagestringError message.
retryablebooleanCan retry the API call (true for yes and false for no.)

Teams Discovery Report

This report provides you with comprehensive details of all configured Teams, including backup details and storage consumption for both enabled and disabled Teams.

URL

https://apis.druva.com/platform/reporting/v1/reports/m365TeamsDiscovery

Request type

HTTP POST

Sample cURL request

"curl --request POST \
     --url https://apis.druva.com/platform/reporting/v1/reports/m365TeamsDiscovery \
     --header 'Content-Type: application/json' \
     --header 'accept: application/json' \
     --data '
{
  "filters": {
    "pageSize": 100,
    "filterBy": [
      {
        "fieldName": "teamName",
        "operator": "EQUAL",
        "value": "string"
      }
    ]
  },
  "pageToken": ""
}
'"	

To try out this API, refer API reference.

📘

Note

On the API reference page, select m365TeamsDiscovery as the report ID under path params to test this API endpoint.

Sample responses

"{
    "data": [
        {
            "addedOn": "2024-07-26T11:56:29.000Z",
            "appStatus": "Enabled",
            "backupFrequency": 1440,
            "isDeleted": 0,
            "lastBackupAttempted": null,
            "lastBackupStatus": "Never Backed Up",
            "lastSuccessfulBackup": null,
            "lastUpdatedTime": "2024-09-02T00:00:23.000Z",
            "privacy": "Public",
            "privateChannelCount": 1,
            "retention": "7D, 4W, 12M",
            "sharedChannelCount": 0,
            "statusDetails": "-",
            "storageRegion": "us-east-1",
            "teamDbId": 12805,
            "teamName": "¡¢£¤¥µ¶ÝÞß¿-उत्तम-!$pc2",
            "teamState": "Active",
            "totalBackupData": 54608032
        }
    ],
    "filters": {
        "pageSize": 100,
        "filterBy": [
            {
                "fieldName": "lastUpdatedTime",
                "value": "2024-06-23T06:32:58Z",
                "operator": "gte"
            }
        ]
    },
    "lastSyncTimestamp": "2024-09-02T13:38:46Z",
    "nextPageToken": ""
}"	
FieldTypeDescription
data array of objects The collection of Teams Discovery data.
lastUpdatedTimedate-time Specifies the last updated timestamp for the record. The time is in the UTC time zone. For Example - 2019-10-25T00:00:00Z
teamDbIdinteger Specifies the ID of the Team stored in DB.
teamNamestring Specifies the name of the Team stored in DB.
privacystring Specifies the privacy type defined for the team. Example - "Public", "Private"
addedOnintegerEPOCH timestamp indicates the time when the Teams was added to DB.
backupFrequencyintegerSpecifies the backup frequency denoted by specific integer values,
For example -
720 - Twice A day
1440 - Once A day
4320 - Twice A Week
10080 - Once A Week
480 - Thrice A day
2880 - Thrice A Week
240 - Five Times a day
0 - Never
retention stringSpecifies the retention policy for backups, indicating the duration for which backups will be kept. The format follows a combination of days (D), weeks (W), and months (M). For example, "5D, 4W, 12M" means backups will be retained for 5 days, 4 weeks, and 12 months.
appStatus stringSpecifies the status of the configured Team. For example - "Enabled" or "Disabled"
totalBackupData integerSpecifies the value of the total backup data stored in bytes.
sharedChannelCount integerSpecifies the total number of shared channels associated with the team.
privateChannelCount integerSpecifies the total number of private channels associated with the team(total channels = private channels + shared channels.)
teamState stringSpecifies the current state of the team. Example - "Archived", "Active"
lastSuccessfulBackup integerSpecifies the EPOCH timestamp indicating the time when the last backup was successful.
lastBackupAttempted integerSpecifies the EPOCH timestamp indicating the time when the last backup was attempted.
lastBackupStatus stringSpecifies the status of the last backup attempted. For example - "Backup Successful"
statusDetails stringA string representing error occured for the last backup job. For example - "EUSERNOTFOUND"
storageRegion stringSpecifies the name of the Storage assigned.
filters objectFilters applied on the report.
nextPageToken stringThe token to access the next page of results. This parameter will be empty for the last page of the results. This token is valid for 5 minutes.

{
  "code": "string",
  "data": {
    "additionalProp": {}
  },
  "message": "string",
  "retryable": true
}
FieldTypeDescription
codestringError code.
dataobjectData of the error.
messagestringError message.
retryablebooleanCan retry the API call (true for yes and false for no.)

Groups Discovery Report

This report provides you with comprehensive details for configured Groups, including backup details and storage consumption for both active and disabled Groups.

URL

https://apis.druva.com/platform/reporting/v1/reports/m365GroupsDiscovery

Request type

HTTP POST

Sample cURL request

"curl --request POST \
     --url https://apis.druva.com/platform/reporting/v1/reports/m365GroupsDiscovery \
     --header 'Content-Type: application/json' \
     --header 'accept: application/json' \
     --data '
{
  "filters": {
    "pageSize": 100,
    "filterBy": [
      {
        "fieldName": "groupName",
        "operator": "EQUAL",
        "value": "string"
      }
    ]
  },
  "pageToken": ""
}
'"	

To try out this API, refer API reference.

📘

Note

On the API reference page, select m365GroupsDiscovery as the report ID under path params to test this API endpoint.

Sample responses

"{
    "data": [
        {
            "addedOn": "2024-07-26T11:56:04.000Z",
            "appStatus": "Enabled",
            "backupFrequency": 1440,
            "groupDbId": 85279,
            "groupEmail": "[email protected]",
            "groupName": "Test_GRP_7",
            "groupType": "Microsoft 365",
            "isDeleted": 0,
            "lastBackupAttempted": "2024-08-28T07:29:43.000Z",
            "lastBackupStatus": "Backed Up Successfully",
            "lastSuccessfulBackup": "2024-08-28T07:29:43.000Z",
            "lastUpdatedTime": "2024-09-01T14:36:07.000Z",
            "plannerEnabled": "Enabled",
            "retention": "7D, 4W, 12M",
            "statusDetails": "-",
            "storageRegion": "us-east-1",
            "teamsEnabled": "Enabled",
            "totalBackupData": 1053228
        }
    ],
    "filters": {
        "pageSize": 100,
        "filterBy": [
            {
                "fieldName": "lastUpdatedTime",
                "value": "2024-06-23T06:32:58Z",
                "operator": "gte"
            }
        ]
    },
    "lastSyncTimestamp": "2024-09-02T10:01:48Z",
    "nextPageToken": ""
}"	
FieldType Description
data array of objectsThe collection of Groups Discovery data.
lastUpdatedTime date-timeSpecifies the last updated timestamp for the record. The time is in the UTC time zone. For Example - 2019-10-25T00:00:00Z
groupDbId integerSpecifies the ID of the Group stored in DB.
groupName stringSpecifies the name of the site stored in DB.
groupEmail stringSpecifies the email associated with the Group.
groupType stringSpecifies the type of the group. For example - "Security", "Microsoft 365"
addedOn integerEPOCH timestamp indicates the time when the group was added to DB.
backupFrequencyintegerSpecifies the backup frequency denoted by specific integer values,
For example -
720 - Twice A day
1440 - Once A day
4320 - Twice A Week
10080 - Once A Week
480 - Thrice A day
2880 - Thrice A Week
240 - Five Times a day
0 - Never
retention stringSpecifies the retention policy for backups, indicating the duration for which backups will be kept. The format follows a combination of days (D), weeks (W), and months (M). For example, "5D, 4W, 12M" means backups will be retained for 5 days, 4 weeks, and 12 months.
appStatus stringSpecifies the status of the configured group. For example - "Enabled" or "Disabled"
totalBackupData integerThe value of total backup data stored, in bytes.
lastSuccessfulBackup integerSpecifies the EPOCH timestamp indicating the time when the last backup was successful.
lastBackupAttempted integerSpecifies the EPOCH timestamp indicating the time when the last backup was attempted.
lastBackupStatus stringSpecifies the status of the last backup attempted, Example - "`Backup Successful"
statusDetails stringA string representing an error occurred for the last backup job. For example - "EUSERNOTFOUND"
teamsEnabled stringIndicates whether the associated Team is enabled or not. For example - "Enabled" or "Disabled"
storageRegion stringSpecifies the name of the storage assigned.
plannerEnabled stringIndicates whether the planner is enabled or not. For example - "Enabled" or "Disabled"
filters objectFilters applied on the report.
nextPageToken stringThe token to access the next page of results. This parameter will be empty for the last page of the results. This token is valid for 5 minutes.
{
  "code": "string",
  "data": {
    "additionalProp": {}
  },
  "message": "string",
  "retryable": true
}
FieldTypeDescription
codestringError code.
dataobjectData of the error.
messagestringError message.
retryablebooleanCan retry the API call (true for yes and false for no.)