Logs API
Use the logs endpoint to send flat numeric events.
Endpoint
POST /v1.0/logsHosted default:
https://logs.chirpier.co/v1.0/logsRequest body
Send an array of logs.
Each log object supports:
log_idagenteventvalueoccurred_atmeta
Example:
[
{
"event": "task.duration_ms",
"agent": "openclaw.main",
"value": 420,
"occurred_at": "2026-04-08T18:25:43Z",
"meta": {
"task_name": "email_triage",
"result": "success"
}
},
{
"event": "tool.errors.count",
"agent": "openclaw.main",
"value": 1,
"meta": {
"tool_name": "crm.lookup"
}
}
]Field notes
log_id: optional UUID. If omitted, Chirpier generates a UUIDv7.agent: optional producer identity.event: required flat event name.value: required numeric value.occurred_at: optional timestamp. Defaults tonow.meta: optional JSON object or JSON value up to 1KB.
Validation notes
- maximum 100 logs per request
eventis requiredoccurred_atmust be within the last 30 days and no more than 1 day in the futuremetamust be valid JSON- object-shaped
metavalues can have at most 10 top-level keys - blank
log_idvalues are replaced with generated UUIDs valueis numeric
Unknown events are auto-created as event definitions.
Example request
curl -X POST "https://logs.chirpier.co/v1.0/logs" \
-H "Authorization: Bearer $CHIRPIER_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"event": "task.duration_ms",
"agent": "openclaw.main",
"value": 420,
"meta": {"task_name": "email_triage"}
}
]'Responses
200 OKwith an empty body when the batch was accepted400 Bad Requestfor validation failures401 Unauthorizedfor invalid bearer tokens503 Service Unavailableif the publisher queue is overloaded
Use one of the SDKs when you want batching, retry handling, and a single client for both logs and control-plane APIs.
Last updated on