Ingest OTLP logs (Bearer-authenticated)
Accepts one OTLP ExportLogsServiceRequest (protobuf or its JSON mapping) and enqueues the agent events it carries: Claude Code's documented events (user_prompt, assistant_response, tool_result, tool_decision, api_request, api_error), Codex's documented events and Cursor's error events. A record whose event.name LastPing does not keep is counted in dropped and discarded; the rest of the request is kept. A record's own timestamp counts when it is within seven days before, or an hour after, the moment ingest received it; otherwise it counts at that moment. A redelivered record is stored once.
Content: the monitor's trace_content applies. At dropped (the default) prompt, response and tool content is removed; at redacted it is stored with every secret-shaped value replaced by [REDACTED:<class>]. Either way every value is redacted before anything is queued. A change of trace_content reaches ingest within 60 seconds.
Auth: exactly as POST /v1/traces (Bearer key scoped ingest, write or admin; lastping.monitor_id names the monitor unless the key is bound to one; 404 for a monitor outside the key's project).
Content-Type: application/x-protobuf or application/json (415 otherwise). Content-Encoding: gzip is accepted.
Caps: body ≤ 1 MiB decompressed (413 over); ≤ 500 log records per request (400 over). Rate limit: 3,600 requests/hour/project, its own bucket. Log records count against the project's daily span budget, and against a daily log event cap inside it (default 200,000 per UTC day).
Durability: 202 only after the enqueue succeeds; a queue failure is 503, never a silent ack.
Request
- Base URL: https://ping.lastping.dev
- URL: https://ping.lastping.dev/v1/logs
- Auth: HTTP bearer
Request body
The OTLP JSON mapping of ExportLogsServiceRequest.
Response
Accepted and enqueued.
Example response
{
"accepted": 3,
"dropped": 1
}Changes
No recorded changes to this operation across all 2 revisions of this API.