openapi: 3.0.3
info:
title: Jaeger Collector API (api_v2) CollectorService QueryService API
version: '2.0'
description: 'Jaeger Collector ingest API. The Collector accepts span batches over gRPC
on port 14250 (`jaeger.api_v2.CollectorService`) and over the HTTP gateway
at `/api/v2/spans`. Jaeger v2 (since November 2024) also accepts OTLP
natively on ports 4317 (gRPC) and 4318 (HTTP) and Zipkin on 9411; this
spec documents the native legacy api_v2 surface.'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: http://localhost:14268
description: Jaeger Collector legacy HTTP endpoint
tags:
- name: QueryService
paths:
/api/v3/dependencies:
get:
tags:
- QueryService
operationId: QueryService_GetDependencies
parameters:
- name: startTime
in: query
description: Required. The start time for the time range to search dependencies.
schema:
type: string
format: date-time
- name: endTime
in: query
description: Required. The end time for the time range to search dependencies.
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.DependenciesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
/api/v3/operations:
get:
tags:
- QueryService
description: GetOperations returns operation names.
operationId: QueryService_GetOperations
parameters:
- name: service
in: query
description: Required service name.
schema:
type: string
- name: spanKind
in: query
description: Optional span kind.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.GetOperationsResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
/api/v3/services:
get:
tags:
- QueryService
description: GetServices returns service names.
operationId: QueryService_GetServices
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.GetServicesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
/api/v3/trace-summaries:
get:
tags:
- QueryService
description: "FindTraceSummaries searches for traces matching the given query and streams\n back lightweight summary information for each matching trace. Each response\n chunk may contain one or more summaries. Use this instead of FindTraces when\n full span data is not required (e.g. search results page)."
operationId: QueryService_FindTraceSummaries
parameters:
- name: query.serviceName
in: query
description: service_name filters spans generated by a specific service.
schema:
type: string
- name: query.operationName
in: query
description: operation_name filters spans by a specific operation / span name.
schema:
type: string
- name: query.startTimeMin
in: query
description: "start_time_min is the start of the time interval (inclusive) for the query.\n Only traces with spans that started on or after this time will be returned.\n\n The HTTP API uses RFC-3339ns format.\n\n This field is required."
schema:
type: string
format: date-time
- name: query.startTimeMax
in: query
description: "start_time_max is the end of the time interval (exclusive) for the query.\n Only traces with spans that started before this time will be returned.\n\n The HTTP API uses RFC-3339ns format.\n\n This field is required."
schema:
type: string
format: date-time
- name: query.durationMin
in: query
description: "duration_min is the minimum duration of a span in the trace.\n Only traces with spans that lasted at least this long will be returned.\n\n The HTTP API uses Golang's time format (e.g., \"10s\")."
schema:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Represents a a duration between -315,576,000,000s and 315,576,000,000s (around 10000 years). Precision is in nanoseconds. 1 nanosecond is represented as 0.000000001s
- name: query.durationMax
in: query
description: "duration_max is the maximum duration of a span in the trace.\n Only traces with spans that lasted at most this long will be returned.\n\n The HTTP API uses Golang's time format (e.g., \"10s\")."
schema:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Represents a a duration between -315,576,000,000s and 315,576,000,000s (around 10000 years). Precision is in nanoseconds. 1 nanosecond is represented as 0.000000001s
- name: query.searchDepth
in: query
description: "search_depth defines the maximum search depth. Depending on the backend storage implementation,\n this may behave like an SQL `LIMIT` clause. However, some implementations might not support\n precise limits, and a larger value generally results in more traces being returned."
schema:
type: integer
format: int32
- name: query.rawTraces
in: query
description: "If set to true, the response will exclude any enrichments to the trace, such as clock skew adjustments.\n The trace will be returned exactly as stored.\n\n This field is optional."
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.FindTraceSummariesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
post:
tags:
- QueryService
description: "FindTraceSummaries searches for traces matching the given query and streams\n back lightweight summary information for each matching trace. Each response\n chunk may contain one or more summaries. Use this instead of FindTraces when\n full span data is not required (e.g. search results page)."
operationId: QueryService_FindTraceSummaries
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.FindTraceSummariesRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.FindTraceSummariesResponse'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
/api/v3/traces:
get:
tags:
- QueryService
description: "FindTraces searches for traces.\n See GetTrace for JSON unmarshalling."
operationId: QueryService_FindTraces
parameters:
- name: query.serviceName
in: query
description: service_name filters spans generated by a specific service.
schema:
type: string
- name: query.operationName
in: query
description: operation_name filters spans by a specific operation / span name.
schema:
type: string
- name: query.startTimeMin
in: query
description: "start_time_min is the start of the time interval (inclusive) for the query.\n Only traces with spans that started on or after this time will be returned.\n\n The HTTP API uses RFC-3339ns format.\n\n This field is required."
schema:
type: string
format: date-time
- name: query.startTimeMax
in: query
description: "start_time_max is the end of the time interval (exclusive) for the query.\n Only traces with spans that started before this time will be returned.\n\n The HTTP API uses RFC-3339ns format.\n\n This field is required."
schema:
type: string
format: date-time
- name: query.durationMin
in: query
description: "duration_min is the minimum duration of a span in the trace.\n Only traces with spans that lasted at least this long will be returned.\n\n The HTTP API uses Golang's time format (e.g., \"10s\")."
schema:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Represents a a duration between -315,576,000,000s and 315,576,000,000s (around 10000 years). Precision is in nanoseconds. 1 nanosecond is represented as 0.000000001s
- name: query.durationMax
in: query
description: "duration_max is the maximum duration of a span in the trace.\n Only traces with spans that lasted at most this long will be returned.\n\n The HTTP API uses Golang's time format (e.g., \"10s\")."
schema:
pattern: ^-?(?:0|[1-9][0-9]{0,11})(?:\.[0-9]{1,9})?s$
type: string
description: Represents a a duration between -315,576,000,000s and 315,576,000,000s (around 10000 years). Precision is in nanoseconds. 1 nanosecond is represented as 0.000000001s
- name: query.searchDepth
in: query
description: "search_depth defines the maximum search depth. Depending on the backend storage implementation,\n this may behave like an SQL `LIMIT` clause. However, some implementations might not support\n precise limits, and a larger value generally results in more traces being returned."
schema:
type: integer
format: int32
- name: query.rawTraces
in: query
description: "If set to true, the response will exclude any enrichments to the trace, such as clock skew adjustments.\n The trace will be returned exactly as stored.\n\n This field is optional."
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.TracesData'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
post:
tags:
- QueryService
description: "FindTraces searches for traces.\n See GetTrace for JSON unmarshalling."
operationId: QueryService_FindTracesPost
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/jaeger.api_v3.FindTracesRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.TracesData'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
/api/v3/traces/{traceId}:
get:
tags:
- QueryService
description: "GetTrace returns a single trace.\n Note that the JSON response over HTTP is wrapped into result envelope \"{\"result\": ...}\"\n It means that the JSON response cannot be directly unmarshalled using JSONPb.\n This can be fixed by first parsing into user-defined envelope with standard JSON library\n or string manipulation to remove the envelope. Alternatively generate objects using OpenAPI."
operationId: QueryService_GetTrace
parameters:
- name: traceId
in: path
description: Hex encoded 64 or 128 bit trace ID.
required: true
schema:
type: string
- name: startTime
in: query
description: Optional. The start time to search trace ID.
schema:
type: string
format: date-time
- name: endTime
in: query
description: Optional. The end time to search trace ID.
schema:
type: string
format: date-time
- name: rawTraces
in: query
description: "Optional. If set to true, the response will not include any\n enrichments to the trace, such as clock skew adjustment.\n Instead, the trace will be returned exactly as stored."
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.TracesData'
default:
description: Default error response
content:
application/json:
schema:
$ref: '#/components/schemas/google.rpc.Status'
components:
schemas:
opentelemetry.proto.trace.v1.Span:
type: object
properties:
traceId:
type: string
description: "A unique identifier for a trace. All spans from the same trace share\n the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR\n of length other than 16 bytes is considered invalid (empty string in OTLP/JSON\n is zero-length and thus is also invalid).\n\n This field is required."
format: bytes
spanId:
type: string
description: "A unique identifier for a span within a trace, assigned when the span\n is created. The ID is an 8-byte array. An ID with all zeroes OR of length\n other than 8 bytes is considered invalid (empty string in OTLP/JSON\n is zero-length and thus is also invalid).\n\n This field is required."
format: bytes
traceState:
type: string
description: "trace_state conveys information about request position in multiple distributed tracing graphs.\n It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header\n See also https://github.com/w3c/distributed-tracing for more details about this field."
parentSpanId:
type: string
description: "The `span_id` of this span's parent span. If this is a root span, then this\n field must be empty. The ID is an 8-byte array."
format: bytes
flags:
type: integer
description: "Flags, a bit field. 8 least significant bits are the trace\n flags as defined in W3C Trace Context specification. Readers\n MUST not assume that 24 most significant bits will be zero.\n To read the 8-bit W3C trace flag, use `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.\n\n When creating span messages, if the message is logically forwarded from another source\n with an equivalent flags fields (i.e., usually another OTLP span message), the field SHOULD\n be copied as-is. If creating from a source that does not have an equivalent flags field\n (such as a runtime representation of an OpenTelemetry span), the high 24 bits MUST\n be set to zero.\n\n [Optional].\n\n See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions."
format: fixed32
name:
type: string
description: "A description of the span's operation.\n\n For example, the name can be a qualified method name or a file name\n and a line number where the operation is called. A best practice is to use\n the same display name at the same call point in an application.\n This makes it easier to correlate spans in different traces.\n\n This field is semantically required to be set to non-empty string.\n Empty value is equivalent to an unknown span name.\n\n This field is required."
kind:
type: integer
description: "Distinguishes between spans generated in a particular context. For example,\n two spans with the same name may be distinguished using `CLIENT` (caller)\n and `SERVER` (callee) to identify queueing latency associated with the span."
format: enum
startTimeUnixNano:
type: string
description: "start_time_unix_nano is the start time of the span. On the client side, this is the time\n kept by the local machine where the span execution starts. On the server side, this\n is the time when the server's application handler starts running.\n Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\n This field is semantically required and it is expected that end_time >= start_time."
endTimeUnixNano:
type: string
description: "end_time_unix_nano is the end time of the span. On the client side, this is the time\n kept by the local machine where the span execution ends. On the server side, this\n is the time when the server application handler stops running.\n Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\n This field is semantically required and it is expected that end_time >= start_time."
attributes:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.KeyValue'
description: "attributes is a collection of key/value pairs. Note, global attributes\n like server name can be set using the resource API. Examples of attributes:\n\n \"/http/user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36\"\n \"/http/server_latency\": 300\n \"example.com/myattribute\": true\n \"example.com/score\": 10.239\n\n The OpenTelemetry API specification further restricts the allowed value types:\n https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute\n Attribute keys MUST be unique (it is not allowed to have more than one\n attribute with the same key)."
droppedAttributesCount:
type: integer
description: "dropped_attributes_count is the number of attributes that were discarded. Attributes\n can be discarded because their keys are too long or because there are too many\n attributes. If this value is 0, then no attributes were dropped."
format: uint32
events:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.Span_Event'
description: events is a collection of Event items.
droppedEventsCount:
type: integer
description: "dropped_events_count is the number of dropped events. If the value is 0, then no\n events were dropped."
format: uint32
links:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.Span_Link'
description: "links is a collection of Links, which are references from this span to a span\n in the same or different trace."
droppedLinksCount:
type: integer
description: "dropped_links_count is the number of dropped links after the maximum size was\n enforced. If this value is 0, then no links were dropped."
format: uint32
status:
allOf:
- $ref: '#/components/schemas/opentelemetry.proto.trace.v1.Status'
description: "An optional final status for this span. Semantically when Status isn't set, it means\n span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0)."
description: "A Span represents a single operation performed by a single component of the system.\n\n The next available field id is 17."
google.rpc.Status:
type: object
properties:
code:
type: integer
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
format: int32
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/google.protobuf.Any'
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
description: 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'
jaeger.api_v3.FindTraceSummariesResponse:
type: object
properties:
summaries:
type: array
items:
$ref: '#/components/schemas/jaeger.api_v3.TraceSummary'
description: "Response chunk for FindTraceSummaries. A single RPC call may yield multiple\n chunks, each carrying one or more summaries, mirroring the chunked streaming\n used by FindTraces / GetTrace."
opentelemetry.proto.common.v1.KeyValueList:
type: object
properties:
values:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.KeyValue'
description: "A collection of key/value pairs of key-value pairs. The list may be empty (may\n contain 0 elements).\n The keys MUST be unique (it is not allowed to have more than one\n value with the same key)."
description: "KeyValueList is a list of KeyValue messages. We need KeyValueList as a message\n since `oneof` in AnyValue does not allow repeated fields. Everywhere else where we need\n a list of KeyValue messages (e.g. in Span) we use `repeated KeyValue` directly to\n avoid unnecessary extra wrapping (which slows down the protocol). The 2 approaches\n are semantically equivalent."
google.protobuf.Any:
type: object
properties:
'@type':
type: string
description: The type of the serialized message.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
opentelemetry.proto.trace.v1.ScopeSpans:
type: object
properties:
scope:
allOf:
- $ref: '#/components/schemas/opentelemetry.proto.common.v1.InstrumentationScope'
description: "The instrumentation scope information for the spans in this message.\n Semantically when InstrumentationScope isn't set, it is equivalent with\n an empty instrumentation scope name (unknown)."
spans:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.Span'
description: A list of Spans that originate from an instrumentation scope.
schemaUrl:
type: string
description: "The Schema URL, if known. This is the identifier of the Schema that the span data\n is recorded in. To learn more about Schema URL see\n https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n This schema_url applies to all spans and span events in the \"spans\" field."
description: A collection of Spans produced by an InstrumentationScope.
opentelemetry.proto.common.v1.AnyValue:
type: object
properties:
stringValue:
type: string
boolValue:
type: boolean
intValue:
type: string
doubleValue:
type: number
format: double
arrayValue:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.ArrayValue'
kvlistValue:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.KeyValueList'
bytesValue:
type: string
format: bytes
description: "AnyValue is used to represent any type of attribute value. AnyValue may contain a\n primitive value such as a string or integer or it may contain an arbitrary nested\n object containing arrays, key-value lists and primitives."
opentelemetry.proto.common.v1.KeyValue:
type: object
properties:
key:
type: string
value:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.AnyValue'
description: "KeyValue is a key-value pair that is used to store Span attributes, Link\n attributes, etc."
opentelemetry.proto.trace.v1.ResourceSpans:
type: object
properties:
resource:
allOf:
- $ref: '#/components/schemas/opentelemetry.proto.resource.v1.Resource'
description: "The resource for the spans in this message.\n If this field is not set then no resource info is known."
scopeSpans:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.trace.v1.ScopeSpans'
description: A list of ScopeSpans that originate from a resource.
schemaUrl:
type: string
description: "The Schema URL, if known. This is the identifier of the Schema that the resource data\n is recorded in. To learn more about Schema URL see\n https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n This schema_url applies to the data in the \"resource\" field. It does not apply\n to the data in the \"scope_spans\" field which have their own schema_url field."
description: A collection of ScopeSpans from a Resource.
opentelemetry.proto.common.v1.InstrumentationScope:
type: object
properties:
name:
type: string
description: An empty instrumentation scope name means the name is unknown.
version:
type: string
attributes:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.KeyValue'
description: "Additional attributes that describe the scope. [Optional].\n Attribute keys MUST be unique (it is not allowed to have more than one\n attribute with the same key)."
droppedAttributesCount:
type: integer
format: uint32
description: "InstrumentationScope is a message representing the instrumentation scope information\n such as the fully qualified name and version."
jaeger.api_v3.DependenciesResponse:
required:
- dependencies
type: object
properties:
dependencies:
type: array
items:
$ref: '#/components/schemas/jaeger.api_v3.Dependency'
jaeger.api_v3.FindTracesRequest:
type: object
properties:
query:
$ref: '#/components/schemas/jaeger.api_v3.TraceQueryParameters'
description: Request object to search traces.
jaeger.api_v3.TraceSummary:
required:
- traceId
type: object
properties:
traceId:
type: string
description: Hex-encoded 128-bit trace ID.
rootServiceName:
type: string
description: Name of the service that owns the root span.
rootOperationName:
type: string
description: Operation name of the root span.
minStartTimeUnixNano:
type: string
description: "Start timestamp of the earliest span in the trace (Unix nanoseconds).\n Named to match the OTLP convention (e.g. startTimeUnixNano in OTLP span JSON).\n proto3 JSON encoding: fixed64/uint64/int64 fields are serialised as decimal\n strings to avoid float64 precision loss in JavaScript for values above 2^53."
maxEndTimeUnixNano:
type: string
description: "End timestamp of the latest span in the trace (Unix nanoseconds).\n The UI may compute duration as BigInt(maxEndTimeUnixNano) - BigInt(minStartTimeUnixNano)."
spanCount:
type: integer
description: Total number of spans in the trace.
format: int32
errorSpanCount:
type: integer
description: Number of spans that carry an error indicator (OTEL StatusCode = ERROR).
format: int32
orphanSpanCount:
type: integer
description: "Number of spans whose parent span ID is not present in this trace.\n A non-zero value indicates an incomplete or partial trace."
format: int32
services:
type: array
items:
$ref: '#/components/schemas/jaeger.api_v3.ServiceSummary'
description: "Per-service breakdown, one entry per distinct service name observed\n across all spans, sorted by name."
description: "TraceSummary contains lightweight summary information about a trace,\n suitable for display in search result lists."
opentelemetry.proto.trace.v1.Span_Event:
type: object
properties:
timeUnixNano:
type: string
description: time_unix_nano is the time the event occurred.
name:
type: string
description: "name of the event.\n This field is semantically required to be set to non-empty string."
attributes:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.KeyValue'
description: "attributes is a collection of attribute key/value pairs on the event.\n Attribute keys MUST be unique (it is not allowed to have more than one\n attribute with the same key)."
droppedAttributesCount:
type: integer
description: "dropped_attributes_count is the number of dropped attributes. If the value is 0,\n then no attributes were dropped."
format: uint32
description: "Event is a time-stamped annotation of the span, consisting of user-supplied\n text description and key-value pairs."
jaeger.api_v3.Operation:
required:
- name
- spanKind
type: object
properties:
name:
type: string
spanKind:
type: string
description: Operation encapsulates information about operation.
jaeger.api_v3.Dependency:
required:
- parent
- child
- callCount
type: object
properties:
parent:
type: string
child:
type: string
callCount:
type: string
opentelemetry.proto.trace.v1.Span_Link:
type: object
properties:
traceId:
type: string
description: "A unique identifier of a trace that this linked span is part of. The ID is a\n 16-byte array."
format: bytes
spanId:
type: string
description: A unique identifier for the linked span. The ID is an 8-byte array.
format: bytes
traceState:
type: string
description: The trace_state associated with the link.
attributes:
type: array
items:
$ref: '#/components/schemas/opentelemetry.proto.common.v1.KeyValue'
description: "attributes is a collection of attribute key/value pairs on the link.\n Attribute keys MUST be unique (it is not allowed to have more than one\n attribute with the same key)."
droppedAttributesCount:
type: integer
description: "dropped_attributes_count is the number of dropped attributes. If the value is 0,\n then no attributes were dropped."
format: uint32
flags:
type: integer
description: "Flags, a bit field. 8 least significant bits are the trace\n flags as defined in W3C Trace Context specification. Readers\n MUST not assume that 24 most significant bits will be zero.\n When creating new spans, the most-significant 24-bits MUST be\n zero. To read the 8-bit W3C trace flag (use flags &\n SPAN_FLAGS_TRACE_FLAGS_MASK). [Optional].\n\n See http
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jaeger-io/refs/heads/main/openapi/jaeger-io-queryservice-api-openapi.yml