Skip to main content
Every span TruLayer ingests is embedded server-side and indexed in pgvector. The /v1/search/spans endpoint lets you find spans by semantic similarity instead of substring match — useful for root-causing a regression (“find every span that looks like this failing one”), mining eval datasets (“grab 50 traces that resemble this user complaint”), or driving MCP agents that need to reason over trace history.
Semantic search requires a Pro plan or above (Pro, Team, Business, Enterprise). Calling either search endpoint on a Starter plan returns HTTP 402 with code: "plan_upgrade_required".

Two request shapes

Both accept from/to time bounds and an opaque cursor for pagination.
Response:

Example — precomputed vector

Embedding provider

The GET form embeds the query using the tenant’s BYOK key. Configure one in Dashboard → Settings → Evaluators; without a BYOK key, the GET form returns 502 (upstream embedding provider failed). The POST form works regardless of BYOK config.

See also