Query Telemetry

Download OTLP spans as a file

Returns the spans matching the given query as a downloadable file in the requested format (txt, ndjson, yaml or csv).

A single export is capped at 5000 spans. A limit above that cap is rejected rather than silently clamped: the response is a client error naming the cap. When the query matches more than 5000 spans, the export carries the first 5000 in result-set order. Use the Dash0 CLI (dash0 spans query) to export larger volumes.

The spans are the same ones POST /api/spans returns for the same query, except that adaptive sampling is always disabled for exports: an exported file is never a sample, whatever the query and whatever the data volume. This request accordingly takes no sampling, and one sent anyway is ignored.

The response is streamed as pages are retrieved and therefore carries no Content-Length. Because the response headers are committed before the first span is written, a failure partway through cannot be reported as a status code — it terminates the transfer instead. Clients MUST confirm the body was received completely before treating the download as a successful export.

post/api/spans/download

Request

  • Base URL: https://api.eu-west-1.aws.dash0.com
  • URL: https://api.eu-west-1.aws.dash0.com/api/spans/download
  • Auth: none declared

Request body

datasetstring

Optional dataset to query across. Defaults to whatever is configured to be the default dataset for the organization.

format'txt' | 'ndjson' | 'yaml' | 'csv' required

The serialization format of the exported file.

  • txt: One rendered span line per record, carrying a fixed field set of start timestamp, service, span name, duration, kind, status code, trace ID and span ID. Ignores columns.
  • ndjson: One OTLP JSON payload per line, each carrying a single span inside the same resourceSpans envelope GetSpans returns, so each line is independently parseable by any OTLP JSON consumer.
  • yaml: The same per-span OTLP payloads as ndjson, as a multi-document YAML stream with documents separated by ---.
  • csv: A header row plus one row per span, flattened to the requested columns.
limitinteger

The maximum number of spans to export. Defaults to, and is capped at, 5000. A larger value is rejected rather than silently clamped. Use the Dash0 CLI (dash0 spans query) to export volumes beyond this cap.

columnsstring[]

Attribute keys to emit as columns, in order, for the csv format — resource, scope, or span attributes (e.g. service.name, otel.span.duration). Ignored by the other formats, which have a fixed field set.

Example request

{
  "filter": [
    {
      "key": "service.name",
      "operator": "is",
      "value": "foo"
    }
  ],
  "timeRange": {
    "from": "now-30m",
    "to": "now"
  }
}

Response

The exported spans. The body's actual content type matches the requested format (text/plain for txt, application/x-ndjson for ndjson, application/yaml for yaml, text/csv for csv).

Changes

No recorded changes to this operation across all 1 revision of this API.