Tool Name: airdroid_business_get_device_remote_access_report
Risk Level: 🟢 Low Risk
Execution Mode: ⚡ Synchronous
Category: Reports & Analytics
Quick Start (Copy & Use)
In one sentence: Get device remote access records, including remote control, remote view, remote camera, and screen mirroring operation history
What you need: StartDate (start date), EndDate (end date)
Success criteria: StatusCode=200 and ErrorMessage="" and DeviceRemoteAccessReport contains data
What to do next: Analyze remote access patterns, or paginate to get more data
Minimal request example:
{
"StartDate": "2026-01-15",
"EndDate": "2026-01-31"
}
Minimal response example:
{
"DeviceRemoteAccessReport": [
{
"device_id": "abc123def456ghi789jkl012mno345pq",
"device_name": "Test Device 01",
"group_name": "Test Group",
"note": "Office device",
"duration": "00:15:30",
"ip": "203.0.113.100",
"action": "Remote Control",
"from_type": "Web",
"operator": "Admin User",
"email": "admin@example.com",
"from_date": "2026-01-05 10:30:00"
}
],
"Pagination": {
"current_page": 1,
"last_page": 1,
"page_size": 50,
"total": 1
},
"StatusCode": 200,
"ErrorMessage": ""
}
Recipes (Common Recipes)
Recipe 1: Query All Remote Access Records for the Last 30 Days
Scenario: Understand overall remote access activity
{
"StartDate": "2026-01-05",
"EndDate": "2026-02-03",
"Page": 1,
"PageSize": 50,
"Ascending": false
}
Ascending=false means the most recent records come first
Recipe 2: Filter Remote Access Records by Group
Scenario: View remote access history for specific groups only
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"GroupIds": [1, 2, 3],
"Page": 1,
"PageSize": 50
}
Recipe 3: Query by Device ID
Scenario: Query remote access history for a specific device
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"DeviceIds": ["abc123def456ghi789jkl012mno345pq"],
"Page": 1,
"PageSize": 50
}
Recipe 4: Get Extra Fields with Specific Timezone
Scenario: Need device IMEI, model, and other extra info with specific timezone
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"Timezone": "America/New_York",
"SelectedColumns": ["snid", "model", "imei", "mac", "tags", "group_path"],
"Page": 1,
"PageSize": 50
}
1. Overview
1.1 Description
Get device remote access records, including detailed information about remote control, remote view, remote camera, and screen mirroring operations such as operator, operation time, and session duration.
1.2 When to Use
- Security auditing: Track who accessed which devices and when
- Usage statistics: Analyze remote access frequency and patterns
- Troubleshooting: Review remote operation records for specific time periods
- Compliance reporting: Generate remote access audit reports
1.3 Execution Mode & Response
This is a synchronous operation that returns results immediately upon invocation.
- Return value: DeviceRemoteAccessReport array + Pagination pagination info
- Pagination support: Controlled via Page/PageSize parameters, max PageSize=50
1.4 Prerequisites
| Condition | Description | How to Verify |
|---|---|---|
| Valid date range | StartDate cannot be later than EndDate | Ensure date order is correct |
| No future dates | StartDate and EndDate cannot be future dates | - |
| Account permission | Must have report viewing permissions | - |
1.5 Prerequisite Tools
| Dependency Tool | Purpose | Necessity |
|---|---|---|
| Get a Group ID by Group Name | Get GroupIds by group name | If filtering by group is needed |
| Get All Devices | Get DeviceIds list | If filtering by device 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 |
| Timezone | string | ❌ | "UTC" | Timezone for datetime conversion |
| Keyword | string | ❌ | "" | Search keyword |
| DeviceIds | string-array | ❌ | [] | Device ID list |
| GroupIds | number-array | ❌ | [] | Group ID list |
| Page | number | ❌ | 1 | Current page number, starting from 1 |
| PageSize | number | ❌ | 50 | Records per page, max 50 |
| Ascending | bool | ❌ | true | Sort direction: true=ascending, false=descending |
| SelectedColumns | string-array | ❌ | [] | Extra fields to return |
2.2 Parameter Details
`Ascending`
- Type: bool
- Meaning: Sort by access time
- true: Ascending (oldest to newest)
- false: Descending (newest to oldest)
- Default: true
`SelectedColumns`
- Type: string-array
- Purpose: Specify extra fields to return
- Options: snid, model, android_id, imsi, imei, mac, eth_mac, manu, tags, group_path
- Default fields (no need to specify): device_id, device_name, group_name, note, duration, ip, action, from_type, operator, email, from_date
`DeviceIds` and `GroupIds`
- Combination logic: DeviceIds and GroupIds are OR (union) — results are merged
- Keyword is AND with the above filters
3. Outputs
3.1 Response Examples
Success response:
{
"DeviceRemoteAccessReport": [
{
"device_id": "abc123def456ghi789jkl012mno345pq",
"device_name": "Test Device 01",
"group_name": "Test Group",
"note": "Office device",
"duration": "00:15:30",
"ip": "203.0.113.100",
"action": "Remote Control",
"from_type": "Web",
"operator": "Admin User",
"email": "admin@example.com",
"from_date": "2026-01-05 10:30:00"
}
],
"Pagination": {
"current_page": 1,
"last_page": 1,
"page_size": 50,
"total": 1
},
"StatusCode": 200,
"ErrorMessage": ""
}
Error response:
{
"DeviceRemoteAccessReport": [],
"Pagination": {},
"StatusCode": -1,
"ErrorMessage": "Invalid start_date. Must be a non-empty string."
}
3.2 Field Descriptions
Default fields:
| Field | Type | Description |
|---|---|---|
| device_id | string | Device unique identifier |
| device_name | string | Device display name |
| group_name | string | Group name |
| note | string | Device remark/note |
| duration | string | Connection duration, format HH:MM:SS |
| ip | string | Client IP address |
| action | string | Remote operation type |
| from_type | string | Connection platform type |
| operator | string | Operator nickname |
| string | Operator email | |
| from_date | string | Connection start time, format YYYY-MM-DD HH:mm:ss |
3.3 Enum Value Mapping
action (Remote operation type):
| Value | Meaning |
|---|---|
| Remote Control | Remote control |
| Remote View | Remote view |
| Remote Camera | Remote camera |
| Screen Mirroring | Screen mirroring |
from_type (Connection platform type):
| Value | Meaning |
|---|---|
| Web | Web console |
| Windows Client | Windows client |
| Mac Client | Mac client |
| Mobile App | Mobile app |
| Android | Android client |
4. Examples
4.1 Basic Example: Query Last 30 Days Remote Access Records
Request parameters:
{
"StartDate": "2026-01-05",
"EndDate": "2026-02-03",
"Page": 1,
"PageSize": 50,
"Ascending": false
}
4.2 Advanced Example: Filter by Group with Extra Fields
Request parameters:
{
"StartDate": "2026-01-01",
"EndDate": "2026-01-31",
"GroupIds": [1, 2],
"Timezone": "America/New_York",
"SelectedColumns": ["model", "imei", "tags", "group_path"],
"Page": 1,
"PageSize": 50
}
4.3 Error Example: Empty Date
Request parameters:
{
"StartDate": "",
"EndDate": "2026-01-31"
}
Response:
{
"DeviceRemoteAccessReport": [],
"Pagination": {},
"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 format |
| -1 | Invalid end_date. Must be a non-empty string. | EndDate is empty | Provide a valid date format |
| 200 | access_token is invalid. | Token is invalid | Check auth configuration |
| 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
- Use filter conditions: Set DeviceIds or GroupIds to reduce returned data volume
- Set reasonable PageSize: Recommend using the default of 50, which is the maximum
- Request only needed fields: Use SelectedColumns to request only the extra fields you need
- Use descending sort: Ascending=false prioritizes the most recent records
6.2 Security Notes
🟢 Read operation: No special security requirements
Note: Remote access records contain sensitive information such as operator emails and IP addresses; handle with care.
6.3 Data Interpretation Tips
- duration format is HH:MM:SS, representing connection session duration
- from_date time is based on the Timezone specified in the request
- action field reflects the type of remote operation
- from_type field reflects the client type used by the operator
7. Related Tools
7.1 Prerequisite Tools
| Tool Name | Purpose |
|---|---|
| Get a Group ID by Group Name | Get GroupIds |
| Get All Devices | Get DeviceIds |
7.2 Follow-up Tools
| Tool Name | Purpose |
|---|---|
| Get All Devices | Get detailed device information |
| Get an Activity Log | Get more detailed activity logs |
7.3 Similar Tools Comparison
| Tool Name | Use Case | Difference |
|---|---|---|
| Get Device Remote Access Report | Remote access records | Focused on remote control/view operations |
| Get an Activity Log | Activity log | Broader operation logs |
8. Tool Chains
8.1 Security Audit Pattern
Scenario: Audit all remote access records for specific devices
Tool chain:
Get a Device by Name → Get Device Remote Access Report → Generate audit report
Steps:
- Use Get a Device by Name to get the target device's device_id
- Call this tool to get the device's remote access records
- Analyze action, operator, from_date fields to generate audit report
8.2 Access Pattern Analysis
Scenario: Analyze remote access patterns for a specific group
Tool chain:
Get a Group ID by Group Name → Get Device Remote Access Report → Statistical analysis
Steps:
- Get the target group's GroupIds
- Call this tool to get the group's remote access records
- Perform statistical analysis by action, from_type, operator dimensions
- Identify peak access hours and common operation types
8.3 Multi-Group Comparison Pattern
Scenario: Compare remote access activity across different groups
Tool chain:
Get a Group ID by Group Name (A) → Get Device Remote Access Report → Get a Group ID by Group Name (B) → Get Device Remote Access Report → Comparative analysis
Steps:
- Get Group A's GroupId and query remote access records
- Get Group B's GroupId and query remote access records
- Compare access frequency, operation type distribution, etc. between the two groups
Leave a Reply.