Tool Name: airdroid_business_get_data_usage_overview_and_trends
Risk Level: 🟢 Low Risk
Execution Mode: ⚡ Synchronous
Category: Reports & Analytics
Quick Start (Copy & Use)
In one sentence: Get device data usage overview, trends, and Top 10 device traffic data
What you need: StartDate (start date), EndDate (end date)
Success criteria: StatusCode=200 and ErrorMessage="" and FlowData contains the corresponding data structure
What to do next: Analyze data usage trends, or use Get Top 10 Data Usage Apps to see specific app data consumption
Minimal request example:
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 1
}
Minimal response example:
{
"FlowData": {
"title_total": {
"total_flow": "2506.89",
"avg_flow": "2506.89"
},
"trend_total": {
"total": "856.32",
"list": {
"2026-01-01": {
"wifi_count": "45.25",
"mobile_count": "12.30",
"avg_count": "1.15",
"total_count": "57.55"
}
}
},
"top_total": {
"device": [
{
"device_id": "abc123def456",
"device_name": "Sales Phone 01",
"total_count": "125.50",
"wifi_count": "100.25",
"mobile_count": "25.25",
"tags": []
}
]
}
},
"StatusCode": 200,
"ErrorMessage": ""
}
Recipes (Common Recipes)
Recipe 1: Get Full Data Usage Report (Overview + Trends + Top Devices)
Scenario: Comprehensive understanding of data usage
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 1,
"FlowType": 1
}
Recipe 2: Get Data Usage Overview Only
Scenario: Quick view of summary statistics
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 4,
"FlowType": 1
}
Recipe 3: Get Data Usage Trend Data
Scenario: Analyze data usage change trends for a specific date range
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 2,
"FlowType": 1
}
Recipe 4: Get Device Traffic Statistics
Scenario: Find devices with the highest data consumption
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 3,
"FlowType": 1
}
Recipe 5: Filter by Data Type (Mobile Data Only)
Scenario: Only count mobile data usage
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 1,
"FlowType": 3
}
1. Overview
1.1 Description
Retrieve multi-dimensional device data usage, including overview statistics, daily trends, and device traffic rankings. Supports filtering by report type, group, and data type.
1.2 When to Use
- Data cost analysis: Understand overall organizational data consumption
- Trend monitoring: Track changes in data usage trends
- Anomaly detection: Identify devices with abnormally high data consumption
- Network planning: Optimize network configuration based on WiFi/mobile data usage ratios
1.3 Execution Mode & Response
This is a synchronous operation that returns results immediately upon invocation.
- Return value: FlowData object containing data usage statistics
- Data scope: Returns different data structures based on ReportType
1.4 Prerequisites
| Condition | Description | How to Verify |
|---|---|---|
| Valid date range | Date range cannot exceed 90 days | Ensure StartDate and EndDate are within limits |
| Account permission | Account must have report viewing permissions | - |
1.5 Prerequisite Tools
| Dependency Tool | Purpose | Necessity |
|---|---|---|
| Get a Group ID by Group Name | Get GroupId by group name | If filtering by group is needed |
2. Inputs
2.1 Parameter List
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| StartDate | string | ✅ | - | Start date, format: YYYY-MM-DD |
| EndDate | string | ✅ | - | End date, format: YYYY-MM-DD |
| ReportType | number | ❌ | 1 | Report type (1/2/3/4) |
| GroupIds | number-array | ❌ | - | Group ID list for filtering |
| FlowType | number | ❌ | 1 | Data type (1/2/3) |
| Keyword | string | ❌ | "" | Search keyword |
2.2 Parameter Details
`StartDate` and `EndDate`
- Type: string
- Format: YYYY-MM-DD (e.g., 2026-01-01)
- Constraints:
- Cannot be a future date
- Date range cannot exceed 90 days
`ReportType`
- Type: number
- Options:
| Value | Meaning | Returned Data |
|---|---|---|
| 1 | All information | title_total + trend_total + top_total |
| 2 | Trend data only | trend_total |
| 3 | Device traffic statistics only | top_total |
| 4 | Overview statistics only | title_total |
- Example:
1
`GroupIds`
- Type: number-array
- How to obtain: Via the Get a Group ID by Group Name tool
- Example:
[100, 101]
`FlowType`
- Type: number
- Options:
| Value | Meaning |
|---|---|
| 1 | All data (WiFi + Mobile data) |
| 2 | WiFi data only |
| 3 | Mobile data only |
- Example:
1
2.3 Parameter Combination Logic
- ReportType determines the returned data structure
- GroupIds and FlowType are independent filter conditions
3. Outputs
3.1 Response Examples
Success response (ReportType=1, full data):
{
"FlowData": {
"title_total": {
"total_flow": "2506.89",
"avg_flow": "2506.89"
},
"trend_total": {
"total": "856.32",
"list": {
"2025-01-01": {
"wifi_count": "45.25",
"mobile_count": "12.30",
"avg_count": "1.15",
"total_count": "57.55"
},
"2025-01-02": {
"wifi_count": "52.10",
"mobile_count": "8.45",
"avg_count": "1.21",
"total_count": "60.55"
}
}
},
"top_total": {
"device": [
{
"device_id": "abc123def456ghi789jkl012mno345pq",
"device_name": "Test Device 01",
"total_count": "125.50",
"wifi_count": "100.25",
"mobile_count": "25.25",
"tags": [
{
"tag_id": 1,
"name": "Sales"
}
]
}
]
}
},
"StatusCode": 200,
"ErrorMessage": ""
}
Error response:
{
"FlowData": {},
"StatusCode": -1,
"ErrorMessage": "Invalid start_date. Must be a non-empty string."
}
3.2 Field Descriptions
| Field Path | Type | Description |
|---|---|---|
| StatusCode | number | Status code. See 5.1 AB Three-Layer Error Codes |
| ErrorMessage | string | Error message. Empty string on success |
| FlowData | object | Data usage object |
title_total (Overview statistics — returned when ReportType=1 or 4):
| Field Path | Type | Description |
|---|---|---|
| FlowData.title_total.total_flow | string | Total data usage for the specified date range (MB) |
| FlowData.title_total.avg_flow | string | Average daily data usage per device for the specified date range (MB) |
trend_total (Trend data — returned when ReportType=1 or 2):
| Field Path | Type | Description |
|---|---|---|
| FlowData.trend_total.total | string | Total data usage for the date range (MB) |
| FlowData.trend_total.list | object | Daily data usage, key is date YYYY-MM-DD |
| FlowData.trend_total.list[date].wifi_count | string | WiFi data usage for the day (MB) |
| FlowData.trend_total.list[date].mobile_count | string | Mobile data usage for the day (MB) |
| FlowData.trend_total.list[date].avg_count | string | Average data usage per device for the day (MB) |
| FlowData.trend_total.list[date].total_count | string | Total data usage for the day (MB) |
top_total (Device traffic statistics — returned when ReportType=1 or 3):
| Field Path | Type | Description |
|---|---|---|
| FlowData.top_total.device | object | Device traffic data container |
| FlowData.top_total.device.list | array | Device traffic record array |
| FlowData.top_total.device.list[].device_id | string | Device unique identifier |
| FlowData.top_total.device.list[].device_name | string | Device display name |
| FlowData.top_total.device.list[].total_count | string | Total data usage (MB) |
| FlowData.top_total.device.list[].wifi_count | string | WiFi data usage (MB) |
| FlowData.top_total.device.list[].mobile_count | string | Mobile data usage (MB) |
| FlowData.top_total.device.list[].tags | array | Tag object array |
| FlowData.top_total.device.pagination | object | Pagination info object |
3.3 Data Unit Notes
Important: All data usage values are in MB (megabytes) and are string type.
Conversion formulas:
- To GB: parseFloat(value) / 1024
- To KB: parseFloat(value) * 1024
4. Examples
4.1 Basic Example: Get Full Data Usage Report
Request parameters:
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 1,
"FlowType": 1
}
4.2 Advanced Example: Filter by Group for Mobile Data Only
Request parameters:
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"ReportType": 1,
"GroupIds": [100],
"FlowType": 3
}
4.3 Error Example: Empty Dates When ReportType=2
Request parameters:
{
"StartDate": "",
"EndDate": "",
"ReportType": 2
}
Response:
{
"FlowData": {},
"StatusCode": -1,
"ErrorMessage": "Invalid start_date. Must be a non-empty string."
}
5. Error Handling
5.1 AB Three-Layer Error Codes
| StatusCode | Meaning | Usage Scenario | Agent Response |
|---|---|---|---|
| -1 | Parameter validation error | Local validation failed (missing required params, format errors) | ❌ Do not retry; fix parameters and call again |
| 200 | Business success or business error | HTTP request succeeded; check ErrorMessage | Empty ErrorMessage = success; non-empty = business error |
| 500 | Network/request exception | Timeout, connection failure, DNS resolution failure | ⚠️ May retry (up to 2 times, 5-second intervals) |
5.2 Common Errors
| StatusCode | ErrorMessage Example | Cause | Fix Suggestion |
|---|---|---|---|
| -1 | Invalid start_date. Must be a non-empty string. | StartDate is empty | Provide a valid date |
| -1 | Invalid end_date. Must be a non-empty string. | EndDate is empty | Provide a valid date |
| 500 | Request timeout after 60 seconds. | Request timeout | Retry later |
5.3 Agent Self-Healing Decision Table
| StatusCode | Auto Retry | Retry Strategy | Manual Intervention |
|---|---|---|---|
| -1 | ❌ | - | Fix parameters and call again |
| 200 (non-empty ErrorMessage) | ❌ | - | Fix based on error message |
| 500 | ⚠️ | Up to 2 retries, 5-second intervals | Escalate if persistent failure |
6. Best Practices
6.1 Performance Optimization
- Choose the appropriate ReportType: Only retrieve the data type you need
- Overview only: Use ReportType=4
- Trends only: Use ReportType=2
- Device statistics only: Use ReportType=3
- Use group filtering: Reduce data volume for faster response
- Set reasonable date ranges: Smaller date ranges yield faster responses
6.2 Security Notes
🟢 Read operation: No special security requirements
6.3 Data Interpretation Tips
- All data usage values are string type and need to be converted to numbers for calculations
- trend_total.list is an object with date strings as keys
- top_total.device returns a list of devices sorted by total data usage
7. Related Tools
7.1 Prerequisite Tools
| Tool Name | Purpose |
|---|---|
| Get a Group ID by Group Name | Get GroupId by group name |
7.2 Follow-up Tools
| Tool Name | Purpose |
|---|---|
| Get Top 10 Data Usage Apps | View specific app data consumption |
| Get All Devices | Get detailed info for top devices |
7.3 Similar Tools Comparison
| Tool Name | Use Case | Difference |
|---|---|---|
| Get Data Usage Overview and Trends | Device-level data usage statistics | Statistics by device; returns overview/trends/top devices |
| Get Top 10 Data Usage Apps | App-level data usage statistics | Statistics for Top 10 by app |
8. Tool Chains
8.1 Data Usage Anomaly Analysis Pattern
Scenario: Identify devices and apps with abnormal data consumption
Tool chain:
Get Data Usage Overview and Trends (ReportType=3) → Get Top 10 Data Usage Apps → Comparative analysis
Steps:
- Call this tool to get device traffic statistics
- Call Get Top 10 Data Usage Apps to get Top 10 data usage apps
- Analyze whether data consumption is concentrated on specific devices or apps
8.2 Data Usage Trend Monitoring Pattern
Scenario: Monitor data usage trend changes
Tool chain:
Get Data Usage Overview and Trends (ReportType=2) → Data visualization/alerting
Steps:
- Periodically call this tool to get trend data
- Analyze the daily data in trend_total.list
- Set threshold alerts (e.g., daily data usage exceeding 2x the average)
Leave a Reply.