Retrying a telemetry request
The current SDK sends telemetry toPOST /api/otel/v1/traces. The TypeScript 0.6.0
transport serializes a request once and reuses that body for its bounded HTTP
retries. Re-delivery of the same identified spans does not insert another copy of
each event into the same session.
Prefer the SDK’s built-in transport retry over calling the tracking method again
to recreate an already-recorded event. A new tracking call can generate a new
span ID. Sentrial cannot infer that two different span IDs represent the same
telemetry delivery just because their text matches.
For a custom OTLP exporter, retain valid identifiers across network retries and
keep session identity and parent relationships consistent. The database
deduplication key includes the resolved session, trace ID and span ID. It is not a
global content hash or a promise to merge different sessions.
Re-delivery is not an event-edit API
Do not reuse a span ID to replace a previous tool result with different content. Preserve the original result and record a distinct later result or attempt. Re-declaring incompatible retained content references can be rejected. Session completion is a separate supported lifecycle operation. The SDK can repost its root span to finalize a session without inserting another root event. This does not make arbitrary changes to previously ingested child events an update contract.Legacy REST compatibility
Older SDKs can usePOST /api/sdk/sessions and POST /api/sdk/events through
compatibility adapters. Those adapters generate internal trace/span identities
for each new POST. Repeating a session-create or event-append POST must not be
assumed idempotent.
In the legacy event body, caller-supplied traceId and spanId are retained as
client tracing metadata; they do not become the adapter’s internal event
deduplication key. Do not depend on an Idempotency-Key header to change this
behavior. Use the current SDK or a correctly identified OTLP exporter for
retryable telemetry delivery.
See Sessions Ingestion and Events Ingestion for
the supported transports and required scopes.

