Ingest a batch of HTTP request telemetry
Authorization
ApiKeyAuth Raw API key for SDK ingestion endpoints. The backend validates this key and resolves the associated project automatically.
Send the raw key as-is.
Example: seestack_live_abc123xyz...
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:8080/ingest/v1/http-requests" \ -H "Content-Type: application/json" \ -d '{ "projectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "requests": [ { "traceId": "trace-001", "direction": "outbound", "method": "POST", "host": "payments.stripe.com", "path": "/v1/charges", "statusCode": 200, "durationMs": 320, "requestSize": 256, "responseSize": 1024, "userId": "usr_99", "timestamp": "2026-03-31T12:00:00.000Z" }, { "traceId": "trace-002", "direction": "inbound", "method": "GET", "host": "api.myapp.com", "path": "/api/orders", "statusCode": 401, "durationMs": 8, "requestSize": 0, "responseSize": 64, "timestamp": "2026-03-31T12:00:01.000Z" } ] }'{
"ok": true,
"accepted": 2
}{
"success": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or missing API key"
},
"meta": {
"requestId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"timestamp": "2026-03-31T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"details": {
"exceptionClass": "must not be blank",
"level": "must match \"debug|info|warn|error|fatal|warning\""
}
},
"meta": {
"requestId": "8d0e7780-8536-51ef-a55c-f18gd2g01bf8",
"timestamp": "2026-03-31T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred"
},
"meta": {
"requestId": "9e1f8891-9647-62fg-b66d-g29he3h12cg9",
"timestamp": "2026-03-31T12:00:00.000Z"
}
}Logs POST
Ingest structured application logs. Send one log per request. Buffer in-memory and flush on a timer interval.
Session Replay POST
Ingest session replay events (DOM mutations, clicks, scrolls, etc.). Supports batching with no enforced limit. Events within a batch should be sorted by `timestampMillis` ascending.