SDK Overview
Three SDKs: Node.js, Python, Go. Pick whichever matches your backend.
What gets captured
Every request is recorded with its URL, method, status code, headers, request and response bodies (capped at 64KB), response time, and client IP. No extra code needed.
Errors are captured too. Uncaught exceptions, unhandled rejections, panics, and 5xx responses are recorded automatically with full stack traces. You can also manually capture errors with captureException() / capture_exception().
Here’s what a captured event looks like after redaction:
{ "url": "/api/users/42", "endpoint": "/api/users/42", "method": "GET", "status_code": 200, "request_headers": { "content-type": "application/json", "authorization": "[REDACTED]" }, "request_body": null, "response_headers": { "content-type": "application/json" }, "response_body": { "id": 42, "name": "Jane Doe", "email": "ja***@example.com" }, "duration_ms": 23, "client_ip": "203.0.113.42"}authorization is redacted automatically. email is partially masked. The original values never leave your server. See security & privacy for the full list of redacted fields.
Wizard
The fastest way to get set up:
npx @kohicorp/wizardIt detects your framework, installs the right SDK, and configures your credentials. Works with Express, Next.js, FastAPI, Flask, net/http, and fasthttp.