Skip to main content
GET
Search spans with simple filters (no DSL)

Path Parameters

project_identifier
string
required

The project identifier: either project ID or project name. If using a project name, it cannot contain slash (/), question mark (?), or pound sign (#) characters.

Query Parameters

cursor
string | null

Pagination cursor (Span Global ID)

limit
integer
default:100

Maximum number of spans to return

Required range: x <= 1000
start_time
string<date-time> | null

Inclusive lower bound time

end_time
string<date-time> | null

Exclusive upper bound time

trace_id
string[] | null

Filter by one or more trace IDs

span_id
string[] | null

Filter by one or more span IDs

parent_id
string | null

Filter by parent span ID. Use "null" to get root spans only.

name
string[] | null

Filter by span name(s)

status_code
string[] | null

Filter by status code(s). Values: OK, ERROR, UNSET

attribute
string[] | null

Filter spans by key:value. Key is a dot-path (e.g. user.id, metadata.tier). Value is JSON-parsed: k:12345 is int, k:true is bool, otherwise string (k:user-42). To match a numeric- or boolean-looking STRING, JSON-quote it: user.id:"12345" (URL-encoded %2212345%22). Split is on the first : only, so values may contain colons (session.id:sess:abc:123, ISO timestamps). Repeat the param to AND filters. List-valued attributes (e.g. tag.tags) cannot be matched here. Returns 422 on malformed input (missing colon, empty key/value, or list/dict/null value).

Response

Successful Response

Paginated response where each span follows OTLP JSON structure.

data
OtlpSpan · object[]
required
next_cursor
string | null
required