Skip to main content
The CSV Export API exposes REST endpoints under /api/export/v1/ that return Validio data as text/csv, for reporting, archival, and ingestion into BI tools or data warehouses. The same endpoints back the Export buttons in the Validio UI. The API is read-only; to create or change resources, use the GraphQL API.

Base URL

Text

Authentication

The CSV Export endpoints use the same Authorization header as the GraphQL API:
Text
For how to create an API key, see Authentication. The API key needs the same per-resource permission you would need in the UI, for example SOURCES_READ to export sources, or INCIDENTS_READ to export incident groups.

Endpoints

Each endpoint has its own reference page, with its parameters and the columns it returns.

Response format

Each response is a CSV download with a header row followed by data rows. The Content-Disposition filename includes the resource, an optional entity name, and the time range (or today’s date if the request has no time bounds), for example incident-groups-2026-03-01_2026-04-01.csv. Responses are capped at 100,000 rows. When you need more, narrow the time range or split a filter into multiple requests. Every response, including an error, carries an x-request-id header with the ID Validio assigned to the request. Include it when you contact Validio support about a failed export. See Request IDs.

Filters and sort

The list endpoints (sources, validators, and incident-groups) accept two URL-encoded JSON query parameters:
  • filter narrows the rows.
  • sort orders the rows.
Both parameters use the same field shapes as the equivalent filter and sort inputs in the Validio UI. The activities endpoint accepts filter only, with the fields namespace, source, validator, and timeRange. Each endpoint’s reference page describes its parameters. A malformed filter or sort returns 400, with a JSON body naming the problem. The glossary endpoints don’t accept filter or sort. Instead, they take an optional URL-encoded JSON array of term IDs (ids on glossary-terms, and termIds on glossary-term-assignments), and export every term or assignment when it’s omitted. This example exports incident groups in the production namespace for March 2026:
Bash

Scheduling

The export endpoints are stateless GET requests, so you can schedule them with any tool that can call a URL with an Authorization header, such as cron, Airflow, GitHub Actions, or your data orchestrator of choice. Pass time bounds in the filter query parameter so that each run downloads only the new rows.

Retention

Validio retains incident, activity, and metric history for a finite window. For metrics, the window depends on the validator’s window size and segment usage. See Segment Usage and Metric Retention. To preserve data beyond that window:
  • Schedule exports more frequently than the retention boundary. If retention is 90 days, run the export at least weekly with a 30-day rolling window, so that a missed run doesn’t lose data.
  • Use overlapping ranges, and deduplicate on the ID column when you stitch consecutive exports together.