Skip to content

Logs reference

POST https://logs.siteqwality.com/v1/ingest
Authorization: Bearer <api-key>
Content-Type: application/json | application/x-ndjson | text/plain

Three body shapes:

Content-TypeBody
application/jsonSingle JSON object or array of objects.
application/x-ndjsonOne JSON object per newline.
text/plainRaw text — runs through the configured parser if a source matches.

Optional headers:

  • X-Log-Source: <name> — applies source to every entry in this request.
  • X-Log-Parser: <parser-id> — applies a specific parser to every entry.
FieldTypeDescription
timestampRFC 3339Defaults to ingest time.
levelstringtrace, debug, info, warn, error, fatal.
messagestringFull-text indexed.
hoststringPod/container/VM identity.
envstringprod, staging, etc.
sourcestringLogical source.
versionstringApp version.
devicestringBrowser/device for client-side logs.
tags{string: string}Filterable map.
metadataobjectArbitrary structured. Searchable via metadata_search.
ParamDescription
start_time, end_timeRFC 3339 window; default last 1h.
levelComma-separated levels (error,warn).
source, env, hostExact-match filters.
searchFull-text in message.
metadata_searchFull-text across metadata values.
tagsJSON-encoded {key: value} to require.
excludedJSON-encoded {key: value} to exclude.
limit (default 100), offsetPagination.
sort_field (timestamp), sort_order (`ascdesc`)

Response:

{
"logs": [
{
"timestamp": "...",
"level": "error",
"message": "...",
"host": "...",
"env": "...",
"source": "...",
"version": "...",
"device": "...",
"tags": { "endpoint": "/api/charge" },
"metadata": { "user_id": "usr_abc" }
}
],
"total": 1234
}
MethodPathPurpose
GET/logs/facetsPer-field value counts for narrowing filters.
GET/logs/fieldsDiscoverable field names + types.
GET/logs/sourcesDistinct source values seen.
GET/logs/statsCounts by level + source for the time window.
GET/logs/timelineBucketed counts by level for charting.
GET/logs/insightsML-derived insights (error spikes, new errors, etc.).
GET/logs/tail/pollPolling tail; pass returned cursor on next call.
MethodPathPurpose
GET/log_parsersList.
POST/log_parsersCreate.
POST/log_parsers/testTest a sample against a parser config.
GET / PUT / DELETE/log_parsers/{parser_id}Detail/update/delete.

parse_type values: json, regex, apache_combined, nginx, syslog, csv, kv.

MethodPathPurpose
GET/log_saved_viewsList (yours + shared).
POST/log_saved_viewsCreate.
GET / PUT / DELETE/log_saved_views/{view_id}Detail/update/delete.

filters is a free-form JSON object; the dashboard treats keys matching LogQueryParams field names as filters.