Dash0 Query Telemetry API

The Query Telemetry API from Dash0 — 4 operation(s) for query telemetry.

Operations 4

POST /api/logs Returns OTLP logs records #
POST /api/spans Returns OTLP spans #
POST /api/trace/details Returns the OTLP spans and log records (if any) associated with the trace ID. #
POST /api/trace/ids Returns unique trace IDs matching the given filters. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dash0-query-telemetry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dash0-query-telemetry-api-openapi.yml Raw ↑
openapi: 3.2.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:
    LogRecord:
      type: object
      properties:
        id:
          type: string
          description: 'The ID of the log record. This is a non-standard OTLP field. The property is only included when

            `includeOTLPSchemaExtensions` is `true`.

            '
        timeUnixNano:
          type: string
          format: uint64
        observedTimeUnixNano:
          type: string
          format: uint64
        eventName:
          type: string
        dash0EventId:
          type: string
          description: 'The ID of the log record. This is a non-standard OTLP field. The property is only included when

            `includeOTLPSchemaExtensions` is `true`.

            '
        severityNumber:
          $ref: '#/components/schemas/SeverityNumber'
        severityText:
          type: string
        body:
          $ref: '#/components/schemas/AnyValue'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/KeyValue'
        droppedAttributesCount:
          type: integer
          format: int64
        flags:
          type: integer
          format: int64
        traceId:
          type: string
          format: byte
        spanId:
          type: string
          format: byte
      required:
      - timeUnixNano
      - observedTimeUnixNano
      - attributes
    ErrorAssertionSpec:
      properties:
        value:
          $ref: '#/components/schemas/SyntheticHttpErrorType'
      required:
      - value
    HttpResponseStatusCodeAssertion:
      properties:
        kind:
          type: string
          enum:
          - status_code
        spec:
          $ref: '#/components/schemas/HttpResponseStatusCodeAssertionSpec'
      required:
      - kind
      - spec
    Duration:
      type: string
      pattern: (\d+(ms|s|m|h|d|w|M|Q|y))+
    HttpResponseTextBodyAssertionSpec:
      properties:
        operator:
          $ref: '#/components/schemas/StringAssertionOperator'
        value:
          type: string
      required:
      - operator
      - value
    ResourceDeploymentEnvironments:
      type: array
      items:
        $ref: '#/components/schemas/ResourceDeploymentEnvironment'
    ResourceCloud:
      type: string
      description: 'Resource cloud identified based on the `cloud.provider` resource attribute. Some sample values:

        - alibaba_cloud

        - aws

        - azure

        - gcp

        - heroku

        - ibm_cloud

        - tencent_cloud

        '
    AttributeFilterStringValue:
      description: AttributeFilterStringValue may contain a primitive value such as a regex pattern or string.
      type: string
    AttributeFilterKey:
      type: string
      description: The attribute key to be filtered.
    SpanStatus:
      type: object
      properties:
        message:
          type: string
          description: A developer-facing human readable error message.
        code:
          $ref: '#/components/schemas/SpanStatusCode'
      required:
      - code
    ErrorAssertion:
      properties:
        kind:
          type: string
          enum:
          - error
        spec:
          $ref: '#/components/schemas/ErrorAssertionSpec'
      required:
      - kind
      - spec
    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
    AttributeFilterAnyValue:
      description: AttributeFilterAnyValue may contain any AnyValue value.
      $ref: '#/components/schemas/AnyValue'
    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
    GetTraceIdsRequest:
      description: 'Request to retrieve unique trace IDs of traces that contain at least one span matching the

        given filters. This is a lightweight alternative to `GetSpans` for two-step workflows where

        only trace IDs are needed first, and full trace details are subsequently retrieved via

        `GetTrace` (`POST /api/trace/details`).

        '
      properties:
        filter:
          $ref: '#/components/schemas/FilterCriteria'
        timeRange:
          $ref: '#/components/schemas/TimeReferenceRange'
        dataset:
          $ref: '#/components/schemas/Dataset'
        sampling:
          $ref: '#/components/schemas/Sampling'
        ordering:
          $ref: '#/components/schemas/OrderingCriteria'
          description: 'The ordering criteria for the returned trace IDs. Only `otel.trace.start_time` descending

            is supported (this is also the default when omitted). Any other key, ascending direction,

            or multiple criteria will be rejected with a 400 response. A trace''s start time is the

            timestamp of its earliest matching span; trace IDs are returned ordered by that value.

            '
        pagination:
          $ref: '#/components/schemas/CursorPagination'
          description: 'Cursor pagination for trace IDs.

            - Maximum and default limit: 5000 elements per page

            - Multiple pages may be required to retrieve all matching trace IDs

            '
      required:
      - timeRange
    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
    SyntheticHttpErrorType:
      type: string
      enum:
      - unknown
      - dns
      - tcp
      - tls
      - timeout
    ResourceClouds:
      type: array
      items:
        $ref: '#/components/schemas/ResourceCloud'
    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
    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
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
      - error
    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
    TimingAssertionSpec:
      properties:
        type:
          $ref: '#/components/schemas/TimingType'
        operator:
          $ref: '#/components/schemas/NumericAssertionOperator'
        value:
          $ref: '#/components/schemas/Duration'
      required:
      - type
      - operator
      - value
    SamplingMode:
      type: string
      enum:
      - adaptive
      - disabled
    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
    FilterCriteria:
      type: array
      items:
        $ref: '#/components/schemas/AttributeFilter'
      example:
      - key: service.name
        operator: is
        value: foo
    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`

        '
    HttpResponseJsonBodyAssertion:
      properties:
        kind:
          type: string
          enum:
          - json_body
        spec:
          $ref: '#/components/schemas/HttpResponseJsonBodyAssertionSpec'
      required:
      - kind
      - spec
    TimeRange:
      properties:
        from:
          $ref: '#/components/schemas/FixedTime'
        to:
          $ref: '#/components/schemas/FixedTime'
      required:
      - from
      - to
    ScopeLogs:
      type: object
      properties:
        scope:
          $ref: '#/components/schemas/InstrumentationScope'
        logRecords:
          type: array
          items:
            $ref: '#/components/schemas/LogRecord'
          minItems: 1
        schemaUrl:
          type: string
      required:
      - logRecords
    SslCertificateAssertion:
      properties:
        kind:
          type: string
          enum:
          - ssl_certificate
        spec:
          $ref: '#/components/schemas/SslCertificateAssertionSpec'
      required:
      - kind
      - spec
    HttpResponseStatusCodeAssertionSpec:
      properties:
        operator:
          $ref: '#/components/schemas/NumericAssertionOperator'
        value:
          type: string
      required:
      - operator
      - value
    GetSpansRequest:
      properties:
        filter:
          $ref: '#/components/schemas/FilterCriteria'
        timeRange:
          $ref: '#/components/schemas/TimeReferenceRange'
        dataset:
          $ref: '#/components/schemas/Dataset'
        sampling:
          $ref: '#/components/schemas/Sampling'
        ordering:
          $ref: '#/components/schemas/OrderingCriteria'
          description: 'The ordering criteria for the returned spans.

            Supported ordering key: `otel.span.start_time` (span start timestamp, defaults to descending)

            '
        pagination:
          $ref: '#/components/schemas/CursorPagination'
          description: 'Cursor pagination for spans.

            - Maximum and default limit: 200 elements per page

            - We do not guarantee that the requested number of elements will be returned per page

            - Multiple pages may be required to retrieve the requested number of signals

            '
      required:
      - timeRange
    Cursor:
      type: string
      description: 'The cursor to another set of results. The value of this field is opaque to the

        client and may be used as a parameter to the next request to get the another set of results.

        Cursors do not implement any ordering.

        '
    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
    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

        '
    HttpResponseHeaderAssertion:
      properties:
        kind:
          type: string
          enum:
          - response_header
        spec:
          $ref: '#/components/schemas/HttpResponseHeaderAssertionSpec'
      required:
      - kind
      - spec
    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
    ResourceOrchestrations:
      type: array
      items:
        $ref: '#/components/schemas/ResourceOrchestration'
    HttpResponseJsonBodyAssertionSpec:
      properties:
        jsonPath:
          type: string
        operator:
          $ref: '#/components/schemas/StringAssertionOperator'
        value:
          type: string
      required:
      - jsonPath
      - operator
      - value
    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
    GetTraceResponse:
      description: 'Response for the `GetTrace` API. The response contains the spans and logs that match the request.


        This API deliberately reuses the full OTLP JSON format for spans and logs. This is done to aid compatibility

        with existing OTLP consumers.

        '
      properties:
        resourceSpans:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpans'
        resourceLogs:
          type: array
          items:
            $ref: '#/components/schemas/ResourceLogs'
        webEvents:
          type: array
          items:
            $ref: '#/components/schemas/ResourceLogs'
          minItems: 0
          maxItems: 1
        syntheticCheckAttemptDetails:
          $ref: '#/components/schemas/SyntheticCheckAttemptDetails'
        additionalResourceSpans:
          type: array
          description: 'Resource spans from linked traces. Only populated when includeLinkedTraces=true.

            '
          items:
            $ref: '#/components/schemas/ResourceSpans'
      required:
      - resourceSpans
      - resourceLogs
      - webEvents
    TimeReferenceRange:
      description: 'A range of time between two time references.

        '
      properties:
        from:
          $ref: '#/components/schemas/TimeReference'
        to:
          $ref: '#/components/schemas/TimeReference'
      required:
      - from
      - to
      example:
        from: now-30m
        to: now
    ResourceOrchestration:
      type: string
      description: 'Resource orchestration identified based on orchestration related resource attributes, e.g., existence

        of `k8s.*` resource attribute.

        '
      enum:
      - kubernetes
    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'
    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
    SslCertificateAssertionSpec:
      properties:
        value:
          $ref: '#/components/schemas/Duration'
      required:
      - value
    FixedTimeUnix:
      description: The time corresponding to the given unix time in seconds and nanoseconds (as decimal places) since January 1, 1970 UTC.
      type: string
    TimingAssertion:
      properties:
        kind:
          type: string
          enum:
          - timing
        spec:
          $ref: '#/components/schemas/TimingAssertionSpec'
      required:
      - kind
      - spec
    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
    SpanKind:
      type: integer
      format: int32
      description: '// Unspecified. Do NOT use as default.

        // Implementations MAY assume SpanKind to be INTERNAL when receiving UNSPECIFIED.

        SPAN_KIND_UNSPECIFIED = 0;


        // Indicates that the span represents an internal operation within an application,

        // as opposed to an operation happening at the boundaries. Default value.

        SPAN_KIND_INTERNAL = 1;


        // Indicates that the span covers server-side handling of an RPC or other

        // remote network request.

        SPAN_KIND_SERVER = 2;


        // Indicates that the span describes a request to some remote service.

        SPAN_KIND_CLIENT = 3;


        // Indicates that the span describes a producer sending a message to a broker.

        // Unlike CLIENT and SERVER, there is often no direct critical path latency relationship

        // between producer and consumer spans. A PRODUCER span ends when the message was accepted

        // by the broker while the logical processing of the message might span a much longer time.

        SPAN_KIND_PRODUCER = 4;


        // Indicates that the span describes consumer receiving a message from a broker.

        // Like the PRODUCER kind, there is often no direct critical path latency relationship

        // between producer and consumer spans.

        SPAN_KIND_CONSUMER = 5;

        '
      default: 0
    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: '#/compon

# --- 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