analytics
POST
/logs/v2/analytics
const url = 'https://api.siteqwality.com/logs/v2/analytics';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"v":1,"signal":"logs","text":"example","filters":["example"],"range":{"from":"example","to":"example"},"tz":"example","analytics":{"group_by":["example"],"measure":{"op":"count","field":"example"},"interval":"example","limit":1,"display":"timeseries"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.siteqwality.com/logs/v2/analytics \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "v": 1, "signal": "logs", "text": "example", "filters": [ "example" ], "range": { "from": "example", "to": "example" }, "tz": "example", "analytics": { "group_by": [ "example" ], "measure": { "op": "count", "field": "example" }, "interval": "example", "limit": 1, "display": "timeseries" } }'Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type application/json
A log, span or trace query: the explorer URL, a saved view, a widget, an
alert rule and an MCP call all carry this. text and filters are AND-combined.
object
v
required
integer format: int32
signal
required
The signal of an [EventQuery].
string
text
The text grammar (6.5.2).
string
filters
The f grammar (6.5.1), parsed for the signal’s scope.
Array<string>
range
required
A window of T2 tokens (now, now-2h) or instants (ISO 8601, epoch milliseconds), resolved
when the query is compiled, so a stored view stays rolling.
object
from
required
string
to
required
string
tz
string | null
analytics
One of:
Group-by analytics over an [EventQuery]: a time series or a top list.
object
group_by
Up to three fields, in the f field syntax (service, @http.route).
Array<string>
measure
object
op
required
string
field
A numeric field (duration, @db.rows); none for count.
string | null
interval
A T2 bucket interval or auto; absent means auto.
string | null
limit
Groups returned, 1 to 100; absent means 10.
integer | null format: int32
display
string
null
Responses
Section titled “ Responses ”OK
Media type application/json
object
data
required
Array<object>
object
groups
required
Array<string | null>
timestamp
string | null
value
number | null format: double
samples
required
integer format: int64
step_seconds
integer | null format: int64
meta
required
object
from
required
string
to
required
string
clamped_from
string | null
partial
required
boolean
slow_terms
required
Array<string>
Example generated
{ "data": [ { "groups": [ "example" ], "timestamp": "example", "value": 1, "samples": 1 } ], "step_seconds": 1, "meta": { "from": "example", "to": "example", "clamped_from": "example", "partial": true, "slow_terms": [ "example" ] }}