Input schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "HTTP status filter. Omit for no filter."
},
"method": {
"type": "string",
"description": "HTTP method filter. Omit for no filter."
},
"pathSearch": {
"type": "string",
"description": "URL path substring filter. Omit for no filter."
},
"dateFrom": {
"type": "string",
"description": "Start date YYYY-MM-DD. Omit for no lower bound."
},
"dateTo": {
"type": "string",
"description": "End date YYYY-MM-DD. Omit for no upper bound."
},
"groupBy": {
"type": "string",
"enum": [
"date",
"status",
"method",
"path",
"country",
"user_agent"
],
"description": "Dimension to group results by."
},
"measure": {
"type": "string",
"enum": [
"count",
"bytes",
"unique_ips"
],
"description": "Metric to compute: count (requests), bytes (bandwidth), or unique_ips."
},
"chartType": {
"type": "string",
"enum": [
"line",
"bar_vertical",
"bar_horizontal",
"table"
],
"description": "Chart type. Use line for trends over time (best with groupBy=date). Use table for raw rows (groupBy/measure ignored)."
}
},
"required": [
"groupBy",
"measure",
"chartType"
]
}