> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/ai-dlc-insights/3.0/use-ai-dlc-insights/api/export-insights/sprint.md).

# Sprint Export API

The Sprint Export API exports [Sprint Metrics](/software-engineering-insights/use-software-engineering-insights/analytics-and-reporting/efficiency.md#sprint-metrics) analytics and sprint-level reporting data in CSV format.

Use sprint exports to analyze sprint completion trends, work distribution, throughput, and sprint health metrics across teams and organization trees.

```mermaid
graph LR
    A[Create export job] --> B[Receive <code>exportId</code> in Base36 format]
    B --> C[Poll export status]
    C --> D[Download CSV export]
```

#### Authentication <a href="#authentication" id="authentication"></a>

All requests require the following headers:

| Header          | Value                       |
| --------------- | --------------------------- |
| `authorization` | `ApiKey <YOUR_SEI_API_KEY>` |
| `Content-Type`  | `application/json`          |

You must also include the following query parameters on all requests:

| Parameter           | Description                     |
| ------------------- | ------------------------------- |
| `projectIdentifier` | Harness project identifier      |
| `orgIdentifier`     | Harness organization identifier |

### Export workflow <a href="#export-workflow" id="export-workflow"></a>

{% tabs %}
{% tab title="Create Export" %}
Creates a new asynchronous sprint export job.

```bash
# Replace BASE_URL with your Harness cluster URL <a href="#replace-baseurl-with-your-harness-cluster-url" id="replace-baseurl-with-your-harness-cluster-url"></a>
POST {BASE_URL}/v2/insights/sprint/exports
```

```json
{
  "scope": {
    "teamId": "team_abc123",    // String identifier; use either teamId OR orgTreeName (not both)
    "orgTreeName": "string",
    "orgIdentifier": "string",  // Required when using orgTreeName
    "projectIdentifier": "string"
  },
  "dateRange": {
    "start": "2026-01-01", // Required
    "end": "2026-03-31" // Required
  },
  "options": {
    "granularity": "MONTHLY" // Required
  },
  "metricGroups": ["work", "delivery", "analysis"],
  "metric": ["Sprint_Commit", "Total_Work_Delivered", "Churn_Rate"]
}
```

The following request fields are available:

| Field                 | Description                                                                                                                                                                                                         |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scope.teamId`        | Export data for a specific team.                                                                                                                                                                                    |
| `scope.orgTreeName`   | Export data for an organization tree.                                                                                                                                                                               |
| `dateRange.start`     | Export start date (`yyyy-MM-dd`).                                                                                                                                                                                   |
| `dateRange.end`       | Export end date (`yyyy-MM-dd`).                                                                                                                                                                                     |
| `options.granularity` | Reporting interval (`WEEKLY`, `MONTHLY`, `QUARTERLY`).                                                                                                                                                              |
| `metricGroups`        | High-level business groups, i.e. `work`, `delivery`, or `analysis`.                                                                                                                                                 |
| `metrics`             | [Sprint Metrics](/software-engineering-insights/use-software-engineering-insights/analytics-and-reporting/efficiency.md#sprint-details-drilldown) such as `Sprint_Commit`, `Total_Work_Delivered`, or `Churn_Rate`. |

#### Available metric groups <a href="#available-metric-groups" id="available-metric-groups"></a>

The following Sprint metric groups are available:

| Metric Group       | Sprint-level Metrics                                                                                                                     | Team-level Metrics                                                                                                                                          |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `work`             | `SPRINT_COMMIT`, `SPRINT_CREEP`, `SPRINT_SIZE`, `SCOPE_CREEP_PERCENT`                                                                    | `SPRINT_COMMIT`, `SPRINT_CREEP`, `SPRINT_SIZE`, `SCOPE_CREEP_PERCENT`                                                                                       |
| `delivery`         | `TOTAL_WORK_DELIVERED`, `DELIVERED_COMMIT`, `MISSED_COMMIT`, `DELIVERED_CREEP`, `MISSED_CREEP`, `TOTAL_DELIVERED_WORK_VS_COMMITTED_WORK` | `TOTAL_WORK_DELIVERED`, `SPRINT_VELOCITY`, `DELIVERED_COMMIT`, `MISSED_COMMIT`, `DELIVERED_CREEP`, `MISSED_CREEP`, `TOTAL_DELIVERED_WORK_VS_COMMITTED_WORK` |
| `deliveryAnalysis` | `COMMITTED_WORK_DELIVERED_PERCENT`, `CREEP_WORK_DELIVERED_PERCENT`, `TOTAL_WORK_DELIVERED_PERCENT`                                       | `COMMITTED_WORK_DELIVERED_PERCENT`, `CREEP_WORK_DELIVERED_PERCENT`, `TOTAL_WORK_DELIVERED_PERCENT`                                                          |
| `analysis`         | `TICKETS_REMOVED_MID_SPRINT`, `CHURN_RATE`                                                                                               | `CHURN_RATE`, `PREDICTABILITY_DELIVERY_CONSISTENCY`, `PREDICTABILITY_RELIABILITY_OF_COMMITMENT`                                                             |

The following options are available:

| Option            | Description                                                                                         |
| ----------------- | --------------------------------------------------------------------------------------------------- |
| `computationMode` | Export sprint metrics using `STORY_POINTS` or `TICKETS`. This matches the Sprint UI reporting mode. |
| `metricLevel`     | Export metrics grouped by `team` or `sprint`.                                                       |
| `granularity`     | Reporting interval such as `SPRINT` or `MONTHLY`.                                                   |

```bash
curl -X POST "${BASE_URL}/v2/insights/sprint/exports?projectIdentifier=${PROJECT_ID}&orgIdentifier=${ORG_ID}" \
  -H "Content-Type: application/json" \
  -H "authorization: ApiKey <YOUR_SEI_API_KEY>" \
  -d '{
    "scope": {
      "teamId": "1"
    },
    "dateRange": {
      "start": "2026-01-01",
      "end": "2026-03-31"
    },
    "metricGroups": [
      "work",
      "delivery",
      "deliveryAnalysis",
      "analysis"
    ],
    "options": {
      "computationMode": "STORY_POINTS",
      "metricLevel": "team",
      "granularity": "SPRINT"
    }
  }'
```

```json
{
  "exportId": "exp_7a8b9c0d",
  "createdAt": "2025-12-29T10:00:00Z",
  "createdBy": {
    "userId": "user_123",
    "name": "John Doe",
    "email": "john.doe@company.com"
  },
  "metadata": {
    "scope": {
      "teamId": "1",
      "teamName": "Platform Team"
    },
    "dateRange": {
      "start": "2026-01-01",
      "end": "2026-03-31"
    },
    "metricGroups": [
      "work",
      "delivery",
      "deliveryAnalysis",
      "analysis"
    ],
    "options": {
      "computationMode": "STORY_POINTS",
      "metricLevel": "team",
      "granularity": "SPRINT",
      "format": "csv",
      "compression": "gzip"
    }
  },
  "message": "Export created successfully"
}
```

{% endtab %}

{% tab title="Poll Export Status" %}
Poll the export until the status changes to `COMPLETED`.

```bash
# Replace BASE_URL with your Harness cluster URL <a href="#replace-baseurl-with-your-harness-cluster-url" id="replace-baseurl-with-your-harness-cluster-url"></a>
GET {BASE_URL}/v2/insights/sprints/exports/{exportId}
```

```json
{
  "exportId": "exp_7a8b9c0d",
  "status": "completed",
  "createdAt": "2025-12-29T10:00:00Z",
  "completedAt": "2025-12-29T10:02:15Z",
  "createdBy": {
    "userId": "user_123",
    "name": "John Doe",
    "email": "john.doe@company.com"
  },
  "scope": {
    "teamId": "team_456",
    "teamName": "Platform Team"
  },
  "download": {
    "url": "/v2/insights/sprints/exports/exp_7a8b9c0d/download",
    "filename": "sprint-insights-platform-team-2024.csv.gz",
    "sizeBytes": 245672,
    "contentType": "text/csv",
    "compression": "gzip"
  },
  "metadata": {
    "dateRange": {
      "start": "2024-01-01",
      "end": "2024-12-31"
    },
    "options": {
      "metricLevel": "sprint",
      "granularity": "weekly",
      "format": "csv",
      "compression": "gzip"
    }
  }
}
```

The following export statuses are available:

| Status       | Description        |
| ------------ | ------------------ |
| `QUEUED`     | Export queued      |
| `PROCESSING` | Export in progress |
| `COMPLETED`  | Export ready       |
| `FAILED`     | Export failed      |
| {% endtab %} |                    |

{% tab title="Download Export" %}
Downloads the generated CSV export file.

```bash
# Replace BASE_URL with your Harness cluster URL <a href="#replace-baseurl-with-your-harness-cluster-url" id="replace-baseurl-with-your-harness-cluster-url"></a>
GET {BASE_URL}/v2/insights/sprints/exports/{exportId}/download
```

{% endtab %}
{% endtabs %}

Downloads are gzip-compressed by default and export responses include team hierarchy information where applicable.
