Endpoint
Authentication
Quick Start
Send a test event using curl:202 Accepted
Batch Formats
Send one JSON object for a single event. To send multiple events, use any of these formats:- A top-level JSON array
- An object containing an
eventsarray - Newline-delimited JSON (NDJSON), with one object per non-empty line
events envelope:
Content-Type: application/x-ndjson:
400 Bad Request and
are not forwarded.
Payload Fields
Log Levels
Squasher processes all log levels but treats them differently:
Non-error events provide context for AI triage — when an error occurs, Squasher uses surrounding log entries to build a richer diagnosis.
Examples
Error with Stack Trace
Structured Log Entry
Python
Go
Ruby
Rate Limits
- Edge: 1 MB max payload per request for SDK/drain routes
- OTLP: 5 MB max payload for
/v1/tracesand/v1/logs - Project admission limit — batches that exceed
max_events_per_minutereturn429withRetry-AfterandX-RateLimit-*headers; retry after the advertised reset
Combining with SDKs
The HTTP API accepts the same payload format as Squasher’s SDKs. You can mix and match — use the SDK for your primary language and the HTTP API for auxiliary services. All events appear in the same dashboard and are deduplicated by fingerprint.AI batch ingest
For LLM generations, agent sessions, and tool calls, prefer the Agent telemetry SDK. If you need direct HTTP, send Langfuse-compatible AI batches toPOST /v1/ai/ingest/{project_id}. The OpenRouter integration has a complete curl payload.