langprobe
Getting Started

Send your first trace

One curl, a 202 Accepted, and a run in the UI within seconds.

langprobe ingests over plain OTLP/HTTP and a native JSON run shape — no proprietary SDK required. The fastest way to see a run land is a single curl.

Set your host and key once, and every curl example on this site fills itself in:

Stored only in your browser (localStorage).

Self-hosting locally? Set the host to your ingest service — http://localhost:7080 — and paste the lt_… key you minted in the Quickstart. The hosted default is https://app.langprobe.com.

Send a run

curl -X POST https://app.langprobe.com/v1/runs \
-H "Authorization: Bearer lt_YOUR_PUBLIC_ID.YOUR_SECRET" \
-H 'content-type: application/json' \
-d '{
  "sdk": "curl",
  "runs": [{
    "run_id": "00000000-0000-0000-0000-000000000001",
    "name": "hello.world",
    "kind": "agent",
    "status": "ok",
    "start_time": "2026-05-25T00:00:00Z",
    "end_time": "2026-05-25T00:00:00.842Z",
    "inputs": "ping",
    "outputs": "pong"
  }],
  "spans": []
}'

You'll get a 202 Accepted. The ingest service enqueues to Redis; the worker drains the queue and writes to ClickHouse. The Overview page in the UI shows the run within seconds. Open it and you'll see a single agent-kind run named hello.world.

Real traces, from your framework

That curl is the shape a stub sends. For real agents you don't hand-write runs — you point an OpenTelemetry exporter (or the langprobe Python SDK) at {{host}}/v1/traces and your framework's spans flow in automatically.

On this page