Third-party log ingestion endpoint.
POST/api/v2/telemetry/logs
Public v2 surface for external reporters to push application logs to this agent. Uses the
agent's own third-party DTO contract — decoupled from the internal A2A wire types — and
stores entries locally categorized by deviceId, group (batch bucket) and per-entry
topic. When deviceId is empty, this agent's own device ID is used; when group is
absent it is stored as NULL.
Log priority & level filtering. Severity increases from lowest to highest as
DEBUG < INFO < WARN < ERROR < FATAL (DEBUG lowest/most verbose, FATAL
highest/most critical). Every received entry is accepted and stored locally regardless
of its level. Forwarding upstream is governed by the agent's configured minimum send
level (TELEMETRY_LOG_MIN_LEVEL, default INFO): only entries at or above that
threshold are forwarded. If a log is received whose level is below the configured
threshold, it is still persisted locally but is filtered out of the upstream batch and
never sent — e.g. with the default INFO threshold, incoming DEBUG entries are stored
but not forwarded.
Request
- application/json
Body
required
Array [
]
Device the logs belong to. When empty, this agent's own device ID is used.
Group the logs belong to. A group encapsulates multiple topics.
logs
object[]
required
Log entries to ingest.
Possible values: [DEBUG, INFO, WARN, ERROR, FATAL]
Log severity level accepted from third-party reporters.
Severity increases from lowest to highest in this order:
DEBUG < INFO < WARN < ERROR < FATAL. DEBUG is the lowest
(most verbose) priority and FATAL is the highest (most critical).
All received entries are accepted and stored locally regardless of level.
Forwarding upstream is governed by the agent's configured minimum send
level (TELEMETRY_LOG_MIN_LEVEL, default INFO): only entries whose level
is at or above that threshold are forwarded. Entries below the configured
level are still stored but are filtered out from the upstream batch and are
never sent. For example, with the default INFO threshold a DEBUG entry
is accepted and persisted but not forwarded, while INFO, WARN, ERROR
and FATAL entries are forwarded.
Unique identifier for this log entry to prevent duplicates. Auto-generated when absent.
Log message content.
Additional metadata as key-value pairs.
Timestamp when the log was generated.
Topic/source of the log (e.g. the reporting app name).
Responses
- 200
- 400
Logs ingested successfully
Bad request