Skip to main content

Export Insights Data Using the Harness SEI API

Last updated on

SEI 2.0 provides asynchronous CSV export APIs for exporting data from the out-of-the-box dashboards on the Insights page. Downloads are gzip-compressed by default for large exports. All exports are scoped to the authenticated account, and export responses include team hierarchy fields where applicable.

Export APIs

Export TypeDescription
Efficiency (DORA)Export DORA metrics including Lead Time to Change (LTTC), Deployment Frequency (DF), Mean Time to Restore (MTTR), and Change Failure Rate (CFR) metrics.
SprintExport sprint analytics and sprint metrics.
ProductivityExport Productivity metrics for developers, teams, and orgs.
Business AlignmentExport categorized and uncategorized engineering effort metrics.
Issue Time-in-StatusExport issue lifecycle duration and status transition data.

Harness base URLs

All SEI export APIs are scoped to a region-specific service endpoint. Every API path is a relative URI and must be prefixed with the appropriate SEI base URL for your Harness environment.

EnvironmentBase URL
Prod 1https://app.harness.io/prod1/sei/api/
Prod 2https://app.harness.io/gratis/sei/api/
EUhttps://accounts.eu.harness.io/sei/api/

Export workflow

All export APIs follow a common asynchronous workflow:

  1. Create an export job
  2. Poll export status
  3. Download the generated CSV file

Creates a new asynchronous export job.

# Replace BASE_URL with your Harness cluster URL
POST {BASE_URL}/insights/{EXPORT_TYPE}/exports

If an identical export request is submitted within 30 minutes of a previous request, the API returns the existing export instead of creating a new export job.

Harness recommends using team-scoped exports instead of full organization exports whenever possible, especially for large datasets. For large or scheduled exports, run jobs during off-peak hours to reduce the likelihood of delays or timeouts.

After creating an export job, poll the export status endpoint instead of repeatedly creating new export requests. When supported, you can use metricGroups instead of long lists of individual metrics to simplify request payloads and improve maintainability.