Command Logs API¶
The Command Logs API provides access to command execution history, statistics, and export capabilities. This API offers enhanced analytics capabilities not available in the web interface, making it ideal for monitoring, reporting, and operational insights.
API-Exclusive Features¶
📊 Advanced Statistics: Comprehensive execution analytics including success rates, trending, and performance metrics 📈 Operational Insights: Identify top commands, common errors, and usage patterns 📅 Flexible Export: Advanced export options with date filtering and multiple formats
All web interface functionality is also fully supported via API for complete feature parity.
Endpoints Overview¶
| Method | Endpoint | Description |
|---|---|---|
| GET | /command-logs/ |
List all command logs |
| GET | /command-logs/{id}/ |
Retrieve a specific log |
| GET | /command-logs/statistics/ |
Get execution statistics |
| GET | /command-logs/export/ |
Export logs (CSV/JSON) |
Note
Command logs are created automatically when commands are executed. Manual creation via POST is generally not needed.
Command Log Object¶
{
"id": 456,
"url": "/api/plugins/toolkit/command-logs/456/",
"display": "Show Version on switch01 - 2025-06-13 10:30:45",
"command": {
"id": 1,
"name": "Show Version",
"command_type": "show",
"url": "/api/plugins/toolkit/commands/1/"
},
"device": {
"id": 123,
"name": "switch01",
"url": "/api/dcim/devices/123/"
},
"output": "Cisco IOS Software, Version 15.1(4)M12a...",
"username": "admin",
"execution_time": "2025-06-13T10:30:45.123Z",
"success": true,
"error_message": null,
"execution_duration": 1.23,
"parsed_data": {
"version": "15.1(4)M12a",
"hostname": "switch01",
"uptime": "1 year, 23 weeks, 4 days"
},
"parsing_success": true,
"parsing_template": "cisco_ios_show_version.textfsm",
"created": "2025-06-13T10:30:45.123Z",
"last_updated": "2025-06-13T10:30:45.123Z"
}
Statistics¶
API-Exclusive Feature: Get comprehensive statistics about command executions for operational insights and monitoring.
Use Cases¶
- Performance Monitoring: Track success rates and identify problematic commands
- Usage Analytics: Understand which commands are used most frequently
- Error Analysis: Identify common failure patterns and troubleshoot issues
- Capacity Planning: Monitor execution volumes and trends over time
Get comprehensive statistics about command executions:
Response:
{
"total_logs": 1000,
"success_rate": 85.5,
"last_24h": {
"total": 50,
"successful": 45,
"failed": 5
},
"top_commands": [
{
"command_name": "show interfaces",
"count": 150
},
{
"command_name": "show version",
"count": 120
}
],
"common_errors": [
{
"error": "Connection timeout",
"count": 10
},
{
"error": "Invalid command",
"count": 5
}
]
}
Export¶
Export command logs in CSV or JSON format:
Export Parameters¶
| Parameter | Description | Example |
|---|---|---|
format |
Export format (csv/json) | format=csv |
start_date |
Start date filter (YYYY-MM-DD) | start_date=2025-06-01 |
end_date |
End date filter (YYYY-MM-DD) | end_date=2025-06-30 |
Export Limits
Exports are limited to 10,000 records for performance. Use date filters to reduce result size.
Filtering Command Logs¶
| Filter | Description | Example |
|---|---|---|
command |
Command ID | ?command=1 |
device |
Device ID | ?device=123 |
username |
Exact username | ?username=admin |
username__icontains |
Username contains | ?username__icontains=adm |
success |
Execution success | ?success=true |
parsing_success |
Parsing success | ?parsing_success=true |
has_parsed_data |
Has parsed data | ?has_parsed_data=true |
execution_time__gte |
Executed after | ?execution_time__gte=2025-06-01 |
execution_time__lte |
Executed before | ?execution_time__lte=2025-06-30 |
device__name__icontains |
Device name contains | ?device__name__icontains=switch |
command__name__icontains |
Command name contains | ?command__name__icontains=version |