Dash0 Query Telemetry API
The Query Telemetry API from Dash0 — 4 operation(s) for query telemetry.
The Query Telemetry API from Dash0 — 4 operation(s) for query telemetry.
openapi: 3.1.0
info:
title: Dash0 Edge Collectors Query Telemetry API
version: 1.0.0
description: '## Request body size limit
Most API endpoints enforce a maximum request body size of 256KB. Bulk
endpoints accept a larger body size per request to accommodate batched
payloads.
Requests exceeding the applicable limit are rejected with a
`413 Content Too Large` response.
'
servers:
- url: https://api.eu-west-1.aws.dash0.com
description: API endpoint for AWS region EU (Ireland)
- url: https://api.eu-central-1.aws.dash0.com
description: API endpoint for AWS region EU (Germany)
- url: https://api.us-west-2.aws.dash0.com
description: API endpoint for AWS region US (Oregon)
- url: https://api.europe-west4.gcp.dash0.com
description: API endpoint for GCP region EU (Netherlands)
tags:
- name: Query Telemetry
paths:
/api/logs:
post:
summary: Returns OTLP logs records
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetLogRecordsRequest'
responses:
'200':
description: Returns log records in OTLP format.
content:
application/json:
schema:
$ref: '#/components/schemas/GetLogRecordsResponse'
default:
description: In case any error happens.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Query Telemetry
operationId: post_api-logs
/api/spans:
post:
summary: Returns OTLP spans
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpansRequest'
responses:
'200':
description: Returns spans in OTLP format.
content:
application/json:
schema:
$ref: '#/components/schemas/GetSpansResponse'
default:
description: In case any error happens.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Query Telemetry
operationId: post_api-spans
/api/trace/details:
post:
summary: Returns the OTLP spans and log records (if any) associated with the trace ID.
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/GetTraceRequest'
responses:
'200':
description: Returns spans and log records (if any) in OTLP format.
content:
application/json:
schema:
$ref: '#/components/schemas/GetTraceResponse'
default:
description: In case any error happens.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Query Telemetry
operationId: post_api-trace-details
/api/trace/ids:
post:
summary: Returns unique trace IDs matching the given filters.
description: 'Lightweight endpoint that returns only the unique trace IDs of traces containing
at least one span matching the request filters. Useful for two-step workflows: first
find matching trace IDs, then fetch full trace details via `GetTrace`
(`POST /api/trace/details`). Significantly faster and lighter-weight than
`GetSpans` (`POST /api/spans`) when only trace IDs are needed.
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetTraceIdsRequest'
responses:
'200':
description: Returns unique trace IDs as hex-encoded strings.
content:
application/json:
schema:
$ref: '#/components/schemas/GetTraceIdsResponse'
default:
description: In case any error happens.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Query Telemetry
operationId: post_api-trace-ids
components:
schemas:
HttpResponseStatusCodeAssertion:
properties:
kind:
type: string
enum:
- status_code
spec:
$ref: '#/components/schemas/HttpResponseStatusCodeAssertionSpec'
required:
- kind
- spec
AttributeFilterAnyValue:
description: AttributeFilterAnyValue may contain any AnyValue value.
$ref: '#/components/schemas/AnyValue'
SpanLink:
type: object
properties:
traceId:
type: string
format: byte
spanId:
type: string
format: byte
traceState:
type: string
attributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
droppedAttributesCount:
type: integer
format: int64
flags:
type: integer
format: int64
required:
- traceId
- spanId
- attributes
ScopeLogs:
type: object
properties:
scope:
$ref: '#/components/schemas/InstrumentationScope'
logRecords:
type: array
items:
$ref: '#/components/schemas/LogRecord'
minItems: 1
schemaUrl:
type: string
required:
- logRecords
HttpCheckAssertion:
anyOf:
- $ref: '#/components/schemas/HttpResponseStatusCodeAssertion'
- $ref: '#/components/schemas/HttpResponseHeaderAssertion'
- $ref: '#/components/schemas/HttpResponseJsonBodyAssertion'
- $ref: '#/components/schemas/HttpResponseTextBodyAssertion'
- $ref: '#/components/schemas/TimingAssertion'
- $ref: '#/components/schemas/ErrorAssertion'
- $ref: '#/components/schemas/SslCertificateAssertion'
GetSpansResponse:
description: 'Response for the `GetSpans` API. The response contains the spans that match the request.
This API deliberately reuses the full OTLP JSON format for spans. This is done to aid compatibility
with existing OTLP consumers.
'
properties:
executionTime:
$ref: '#/components/schemas/FixedTime'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
timeRange:
$ref: '#/components/schemas/TimeRange'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
cursors:
$ref: '#/components/schemas/NextCursors'
description: 'The cursors for the next sets of results. This property is included
to support pagination through the result set when additional pages are available.
'
resourceSpans:
description: 'There is one `ResourceSpan` per resource. This is aligned to the data most OTLP batching algorithms would
produce, where there is one `ResourceSpan` per resource. This is done to aid compatibility with existing
OTLP consumers.
`Spans` nested in `ResourceSpans` are **ONLY** sorted if an explicit ordering has been defined. However,
it is guaranteed that all data is sorted across paged requests.
'
type: array
items:
$ref: '#/components/schemas/ResourceSpans'
required:
- resourceSpans
ResourceLanguages:
type: array
items:
$ref: '#/components/schemas/ResourceLanguage'
ErrorAssertionSpec:
properties:
value:
$ref: '#/components/schemas/SyntheticHttpErrorType'
required:
- value
HttpResponseTextBodyAssertionSpec:
properties:
operator:
$ref: '#/components/schemas/StringAssertionOperator'
value:
type: string
required:
- operator
- value
Resource:
type: object
properties:
attributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
droppedAttributesCount:
type: integer
format: int64
firstSeenUnixNano:
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
type: string
format: uint64
lastSeenUnixNano:
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
type: string
format: uint64
operationTypes:
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
type: array
items:
type: string
deploymentEnvironments:
$ref: '#/components/schemas/ResourceDeploymentEnvironments'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
languages:
$ref: '#/components/schemas/ResourceLanguages'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
orchestrations:
$ref: '#/components/schemas/ResourceOrchestrations'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
clouds:
$ref: '#/components/schemas/ResourceClouds'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
required:
- attributes
AttributeFilterKey:
type: string
description: The attribute key to be filtered.
Span:
type: object
properties:
traceId:
type: string
format: byte
spanId:
type: string
format: byte
traceState:
type: string
parentSpanId:
type: string
format: byte
hasChildren:
type: boolean
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
flags:
type: integer
format: int64
name:
type: string
dash0Name:
type: string
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
dash0TraceOriginType:
type: string
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
dash0TraceOriginParentSpanId:
type: string
format: byte
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
dash0ForwardLinks:
type: array
description: 'Forward links pointing to spans in other traces.
The property is only included when `includeOTLPSchemaExtensions` is `true`.
'
items:
$ref: '#/components/schemas/SpanLink'
kind:
$ref: '#/components/schemas/SpanKind'
startTimeUnixNano:
type: string
format: uint64
endTimeUnixNano:
type: string
format: uint64
attributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
droppedAttributesCount:
type: integer
format: int64
events:
type: array
items:
$ref: '#/components/schemas/SpanEvent'
droppedEventsCount:
type: integer
format: int64
links:
type: array
items:
$ref: '#/components/schemas/SpanLink'
droppedLinksCount:
type: integer
format: int64
status:
$ref: '#/components/schemas/SpanStatus'
required:
- traceId
- spanId
- name
- attributes
- events
- links
- status
- startTimeUnixNano
- endTimeUnixNano
- kind
AttributeFilterOperator:
type: string
enum:
- is
- is_not
- is_set
- is_not_set
- is_one_of
- is_not_one_of
- gt
- lt
- gte
- lte
- matches
- does_not_match
- contains
- does_not_contain
- starts_with
- does_not_start_with
- ends_with
- does_not_end_with
- is_any
description: 'The match operation for filtering attributes.
#### Equality Operators
- `is` - equals (attribute exists and has a matching value)
- `is_not` - not equals (attribute exists and has a different value)
#### Existence Operators
- `is_set` - is set (attribute exists)
- `is_not_set` - is not set (attribute does not exist)
#### Multiple Value Operators
- `is_one_of` - is any of (attribute exists and has a value that is in the specified values)
- `is_not_one_of` - is not any of (attribute exists and has a value that is not in the specified values)
#### Comparison Operators
- `gt` - greater than
- `lt` - less than
- `gte` - greater than or equal
- `lte` - less than or equal
#### Pattern Matching Operators
- `matches` - match regex expression (attribute exists and matches the regular expression)
- `does_not_match` - does not match regex expression (attribute exists and does not match the regular expression)
#### String Operators
- `contains` - contains (attribute exists and contains the specified value)
- `does_not_contain` - does not contain (attribute exists and does not contain the specified value)
- `starts_with` - starts with (attribute exists and starts with the specified value)
- `does_not_start_with` - does not start with (attribute exists and does not start with the specified value)
- `ends_with` - ends with (attribute exists and ends with the specified value)
- `does_not_end_with` - does not end with (attribute exists and does not end with the specified value)
#### Special Operators
- `is_any` - matches any value, ignoring whether the key exists or not
'
GetTraceRequest:
properties:
dataset:
$ref: '#/components/schemas/Dataset'
traceId:
type: string
timeRange:
$ref: '#/components/schemas/TimeReferenceRange'
description: 'Optional time range hint to bound the trace metadata lookup. When provided, the backend
restricts the `AggregatedTraceMetadata` query to this window (with a small buffer) and
will not fall back to a full-table scan. When absent, the backend uses a default short
window with a full-scan fallback for backward compatibility — this fallback can be
expensive on large datasets. API consumers are strongly encouraged to provide a
`timeRange` covering when the trace occurred.
'
includeLinkedTraces:
type: boolean
description: 'If true, recursively fetches all traces referenced via forward links (dash0ForwardLinks)
and returns them in `additionalResourceSpans`. Implies includeOTLPSchemaExtensions=true.
'
default: false
required:
- traceId
SslCertificateAssertion:
properties:
kind:
type: string
enum:
- ssl_certificate
spec:
$ref: '#/components/schemas/SslCertificateAssertionSpec'
required:
- kind
- spec
ResourceOrchestrations:
type: array
items:
$ref: '#/components/schemas/ResourceOrchestration'
AttributeFilter:
type: object
properties:
key:
$ref: '#/components/schemas/AttributeFilterKey'
operator:
$ref: '#/components/schemas/AttributeFilterOperator'
value:
oneOf:
- $ref: '#/components/schemas/AttributeFilterStringValue'
- $ref: '#/components/schemas/AttributeFilterAnyValue'
values:
type: array
description: 'List of values to match against. This parameter is mandatory for the is_one_of and is_not_one_of operators.
'
items:
oneOf:
- $ref: '#/components/schemas/AttributeFilterStringValue'
- $ref: '#/components/schemas/AttributeFilterAnyValue'
required:
- key
- operator
Dataset:
type: string
pattern: ^[a-zA-Z0-9_-]{3,26}$
description: Optional dataset to query across. Defaults to whatever is configured to be the default dataset for the organization.
FilterCriteria:
type: array
items:
$ref: '#/components/schemas/AttributeFilter'
example:
- key: service.name
operator: is
value: foo
HttpResponseJsonBodyAssertionSpec:
properties:
jsonPath:
type: string
operator:
$ref: '#/components/schemas/StringAssertionOperator'
value:
type: string
required:
- jsonPath
- operator
- value
ScopeSpans:
type: object
properties:
scope:
$ref: '#/components/schemas/InstrumentationScope'
spans:
type: array
items:
$ref: '#/components/schemas/Span'
minItems: 1
schemaUrl:
type: string
required:
- spans
SpanEvent:
type: object
properties:
timeUnixNano:
type: string
format: uint64
name:
type: string
attributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
droppedAttributesCount:
type: integer
format: int64
required:
- timeUnixNano
- name
- attributes
ResourceLanguage:
type: string
description: 'Resource language identified based on the `telemetry.sdk.language` resource attribute. Some sample values:
- cpp
- dotnet
- erlang
- go
- java
- nodejs
- php
- python
- ruby
- rust
- swift
- webjs
'
SyntheticCheckAttempt:
properties:
syntheticCheckId:
type: string
description: ID of the synthetic check
syntheticCheckVersion:
type: string
description: Version of the synthetic check
runId:
type: string
description: (Internal) Run ID this attempt belongs to
x-internal: true
location:
$ref: '#/components/schemas/SyntheticCheckLocation'
description: The geographic location from which the check was executed.
attemptId:
type: string
description: (Internal) Unique identifier for the attempt
x-internal: true
isTestRun:
type: boolean
description: (Internal) Whether this attempt was triggered as a test run
x-internal: true
traceId:
type: string
format: byte
description: (Internal) Trace ID associated with this attempt
x-internal: true
spanId:
type: string
format: byte
description: (Internal) Span ID associated with this attempt
x-internal: true
startTime:
$ref: '#/components/schemas/FixedTime'
duration:
type: integer
format: int64
description: duration in nanoseconds
statusCode:
type: integer
description: HTTP status code
errorType:
$ref: '#/components/schemas/SyntheticHttpErrorType'
description: Error type of the synthetic check attempt, if any
errorMessage:
type: string
description: Error message of the synthetic check attempt, if any
failedCriticalAssertions:
type: array
items:
$ref: '#/components/schemas/FailedHttpCheckAssertion'
description: List of critical assertions that failed
failedDegradedAssertions:
type: array
items:
$ref: '#/components/schemas/FailedHttpCheckAssertion'
description: List of degraded assertions that failed
passedCriticalAssertions:
type: array
items:
$ref: '#/components/schemas/HttpCheckAssertion'
description: List of critical assertions that passed
passedDegradedAssertions:
type: array
items:
$ref: '#/components/schemas/HttpCheckAssertion'
description: List of degraded assertions that passed
required:
- syntheticCheckId
- syntheticCheckVersion
- runId
- attemptId
- isTestRun
- location
- traceId
- spanId
- startTime
- duration
- statusCode
- failedCriticalAssertions
- failedDegradedAssertions
- passedCriticalAssertions
- passedDegradedAssertions
ResourceDeploymentEnvironments:
type: array
items:
$ref: '#/components/schemas/ResourceDeploymentEnvironment'
NextCursors:
properties:
before:
$ref: '#/components/schemas/Cursor'
description: 'The cursor for the previous set of results. If there are no more results before, this will be null.
'
after:
$ref: '#/components/schemas/Cursor'
description: 'The cursor for the next set of results. If there are no more results after, this will be null.
'
HttpResponseHeaderAssertion:
properties:
kind:
type: string
enum:
- response_header
spec:
$ref: '#/components/schemas/HttpResponseHeaderAssertionSpec'
required:
- kind
- spec
OrderingDirection:
type: string
enum:
- ascending
- descending
default: ascending
OrderingKey:
type: string
description: Any attribute key to order by.
SeverityNumber:
type: integer
format: int32
description: 'SEVERITY_NUMBER_UNSPECIFIED = 0;
SEVERITY_NUMBER_TRACE = 1;
SEVERITY_NUMBER_TRACE2 = 2;
SEVERITY_NUMBER_TRACE3 = 3;
SEVERITY_NUMBER_TRACE4 = 4;
SEVERITY_NUMBER_DEBUG = 5;
SEVERITY_NUMBER_DEBUG2 = 6;
SEVERITY_NUMBER_DEBUG3 = 7;
SEVERITY_NUMBER_DEBUG4 = 8;
SEVERITY_NUMBER_INFO = 9;
SEVERITY_NUMBER_INFO2 = 10;
SEVERITY_NUMBER_INFO3 = 11;
SEVERITY_NUMBER_INFO4 = 12;
SEVERITY_NUMBER_WARN = 13;
SEVERITY_NUMBER_WARN2 = 14;
SEVERITY_NUMBER_WARN3 = 15;
SEVERITY_NUMBER_WARN4 = 16;
SEVERITY_NUMBER_ERROR = 17;
SEVERITY_NUMBER_ERROR2 = 18;
SEVERITY_NUMBER_ERROR3 = 19;
SEVERITY_NUMBER_ERROR4 = 20;
SEVERITY_NUMBER_FATAL = 21;
SEVERITY_NUMBER_FATAL2 = 22;
SEVERITY_NUMBER_FATAL3 = 23;
SEVERITY_NUMBER_FATAL4 = 24;
'
default: 0
GetTraceIdsResponse:
description: 'Response for the `GetTraceIds` API. Contains an array of unique trace IDs that match the
request filters, ordered by the timestamp of their earliest matching span (descending).
'
properties:
traceIds:
description: 'Array of unique trace IDs as hex-encoded strings, ordered by the timestamp of each
trace''s earliest matching span (descending).
'
type: array
items:
type: string
cursors:
$ref: '#/components/schemas/NextCursors'
description: 'The cursors for the next sets of results. This property is included to support
pagination through the result set when additional pages are available.
'
required:
- traceIds
TimeReference:
x-go-type: any
oneOf:
- $ref: '#/components/schemas/FixedTime'
- $ref: '#/components/schemas/FixedTimeUnix'
- $ref: '#/components/schemas/RelativeTime'
TimeRange:
properties:
from:
$ref: '#/components/schemas/FixedTime'
to:
$ref: '#/components/schemas/FixedTime'
required:
- from
- to
ResourceSpans:
type: object
properties:
resource:
$ref: '#/components/schemas/Resource'
scopeSpans:
type: array
items:
$ref: '#/components/schemas/ScopeSpans'
minItems: 1
schemaUrl:
type: string
required:
- resource
- scopeSpans
KeyValue:
description: KeyValue is a key-value pair that is used to store Span attributes, Link attributes, etc.
type: object
properties:
key:
type: string
value:
$ref: '#/components/schemas/AnyValue'
required:
- key
- value
OrderingCriterion:
description: Any combination of a supported key to order by and a direction.
properties:
key:
$ref: '#/components/schemas/OrderingKey'
direction:
$ref: '#/components/schemas/OrderingDirection'
required:
- key
- direction
ResourceOrchestration:
type: string
description: 'Resource orchestration identified based on orchestration related resource attributes, e.g., existence
of `k8s.*` resource attribute.
'
enum:
- kubernetes
ResourceLogs:
type: object
properties:
resource:
$ref: '#/components/schemas/Resource'
scopeLogs:
type: array
items:
$ref: '#/components/schemas/ScopeLogs'
minItems: 1
schemaUrl:
type: string
required:
- resource
- scopeLogs
Duration:
type: string
pattern: (\d+(ms|s|m|h|d|w|M|Q|y))+
OrderingCriteria:
type: array
description: Any supported attribute keys to order by.
items:
$ref: '#/components/schemas/OrderingCriterion'
FixedTimeUnix:
description: The time corresponding to the given unix time in seconds and nanoseconds (as decimal places) since January 1, 1970 UTC.
type: string
SyntheticHttpErrorType:
type: string
enum:
- unknown
- dns
- tcp
- tls
- timeout
TimingAssertion:
properties:
kind:
type: string
enum:
- timing
spec:
$ref: '#/components/schemas/TimingAssertionSpec'
required:
- kind
- spec
InstrumentationScope:
description: InstrumentationScope is a message representing the instrumentation scope information such as the fully qualified name and version.
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/KeyValue'
description: Additional attributes that describe the scope. [Optional]. Attribute keys MUST be unique (it is not allowed to have more than one attribute with the same key).
droppedAttributesCount:
type: integer
format: int64
required:
- attributes
TimingType:
type: string
enum:
- total
- dns
- connection
- ssl
- request
- response
AnyValue:
description: AnyValue is used to represent any type of attribute value. AnyValue may contain a primitive value such as a string or integer or it may contain an arbitrary nested object containing arrays, key-value lists and primitives.
type: object
properties:
stringValue:
type: string
boolValue:
type: boolean
intValue:
type: string
format: int64
doubleValue:
type: number
format: double
bytesValue:
type: string
format: byte
GetLogRecordsResponse:
description: 'Response for the `GetLogRecords` API. The response contains the log records that match the request.
This API deliberately reuses the full OTLP JSON format for logs. This is done to aid compatibility
with existing OTLP consumers.
'
properties:
executionTime:
$ref: '#/components/schemas/FixedTime'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
timeRange:
$ref: '#/components/schemas/TimeRange'
description: The property is only included when `includeOTLPSchemaExtensions` is `true`.
cursors:
$ref: '#/components/schemas/NextCursors'
description: 'The cursors for the next sets of results. This property is included
to support pagination through the result set when additional pages are available.
'
resourceLogs:
description: 'There is one `ResourceLogs` per resource. This is aligned to the data most OTLP batching algorithms would
produce, where there is one `ResourceLogs` per resource. This is done to aid compatibility with existing
OTLP consumers.
`ResourceLogs` are **NOT** sorted. There is no guarantee that `ResourceLogs` are sorted or that
`LogRecord`s within them are sorted. However, it is guaranteed that all data is sorted across paged
requests.
Clients are advised to implement sorting within a page descending by the `LogRecord`''s `timeUnixNano`,
`observedTimeUnixNano` and then `id`.
'
type: array
items:
$ref: '#/components/schemas/ResourceLogs'
required:
- resourceLogs
SslCertificateAssertionSpec:
properties:
value:
$ref: '#/components/schemas/Duration'
required:
- value
HttpResponseHeaderAssertionSpec:
properties:
key:
type: string
operator:
$ref: '#/components/schemas/StringAssertionOperator'
value:
type: string
required:
- key
- operator
- value
TimingAssertionSpec:
properties:
type:
$ref: '#/components/schemas/TimingType'
operator:
$ref: '#/components/schemas/NumericAssertionOperator'
value:
$ref: '#/components/schemas/Duration'
required:
- type
- operator
- value
FixedTime:
type: string
format: date-time
description: 'A fixed point in time represented as an RFC 3339 date-time string.
**Format**: `YYYY-MM-DDTHH:MM:SSZ` (UTC) or `YYYY-MM-DDTHH:MM:SS±HH:MM` (with timezone offset)
**Examples**:
- `2024-01-15T14:30:00Z`
- `2024-01-15T14:30:00+08:00`
'
SyntheticCheckAttemptDetails:
allOf:
- $ref: '#/components/schemas/SyntheticCheckAttempt'
- type: object
properties:
spanAttributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
description: Span attributes using OTLP KeyValue format
events:
type: array
items:
$ref: '#/components/schemas/SpanEvent'
description: Span events using OTLP SpanEvent format
required:
- spanAttributes
- events
FailedHttpCheckAssertion:
description: Information about a failed HTTP check assertion
properties:
assertion:
$ref: '#/components/schemas/HttpCheckAssertion'
description: The assertion that
actualValue:
type: string
description: The actual value that was received in the response
explanation:
type: string
description: A human-readable message explaining why the assertion failed
required:
- assertion
- explanation
Error:
properties:
code:
type: integer
message:
type: string
traceId:
type: string
required:
- code
- message
HttpResponseJsonBodyAssertion:
properties:
kind:
type: string
enum:
- json_body
spec:
$ref: '#/components/schemas/HttpResponseJsonBodyAssertionSpec'
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dash0/refs/heads/main/openapi/dash0-query-telemetry-api-openapi.yml