Query Telemetry

Download OTLP log records as a file

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

A single export is capped at 5000 log records. 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 records, the export carries the first 5000 in result-set order. Use the Dash0 CLI (dash0 logs query) to export larger volumes.

The records are the same ones POST /api/logs 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.

The response is streamed as pages are retrieved and therefore carries no Content-Length. Because the response headers are committed before the first record 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/logs/download

Request

  • Base URL: https://api.eu-west-1.aws.dash0.com
  • URL: https://api.eu-west-1.aws.dash0.com/api/logs/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 log line per record, carrying a fixed field set of timestamp, severity, resource, body and trace ID. Ignores columns.
  • ndjson: One OTLP JSON payload per line, each carrying a single log record inside the same resourceLogs envelope GetLogRecords returns, so each line is independently parseable by any OTLP JSON consumer.
  • yaml: The same per-record OTLP payloads as ndjson, as a multi-document YAML stream with documents separated by ---.
  • csv: A header row plus one row per record, flattened to the requested columns.
limitinteger

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

columnsstring[]

Attribute keys to emit as columns, in order, for the csv format — resource, scope, or log record attributes (e.g. service.name, otel.log.body). 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 log records. 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.