Docs cloud
Cloud traces
Send OTLP/HTTP JSON spans to RetrySight Cloud staging and bind them to an existing task.
On this page
The laptop collector does not export traces. It tails IDE logs and pushes tasks to /api/v1/ingest. Traces are a separate signal: your app or an OpenTelemetry Collector POSTs resourceSpans to the manager.
Claude Cowork uses OTLP logs, not this traces path. See Claude Cowork.
Cloud’s default profile includes trace search (TIER_4_CLOUD).
Endpoint
| Item | Value |
|---|---|
| URL | https://cloud-staging.retrysight.com/api/v1/otel/v1/traces |
| Method | POST |
| Content-Type | application/json (OTLP/HTTP JSON) |
| Auth | X-Agent-Api-Key: rk_live_… or Authorization: Bearer rk_live_… |
POST /api/v1/otel/ingest with a body that contains resourceSpans is the same ingest.
Dashboard Traces → How to send traces shows the URL for the current environment.
Bind spans to a task
Spans without task.id (aliases task_id, retrysight.task_id) or a session.id that matches an existing task are dropped (mappedSpans: 0).
| ID | Used for traces? |
|---|---|
| Account ID | No |
| Agent API key | Auth header only |
| Agent ID | Filter in the Traces UI via the linked task — do not put it on the OTLP payload |
| Task ID | Required on the resource/span (task.id) |
Copy Task ID from task detail after the collector has created a session.
Optional resource attribute: source.tool (for example CURSOR).
Smoke outline
- Enroll a collector and wait until Collectors shows the machine.
- Produce a task in Cursor/Claude and copy Task ID.
- POST one span to the traces URL with
task.idset to that UUID and yourrk_live_*key.
Duplicate (external_trace_id, external_span_id) pairs are skipped. Prompt/completion attributes are redacted on store.