---
title: "Automation analysis export"
method: GET
path: "/automations/{id}/export"
tags: ["Automations"]
---

# Automation analysis export

`GET /automations/{id}/export`

## Request

- Base URL: `https://sending.dev/api/v1`
- URL: `https://sending.dev/api/v1/automations/{id}/export`
- Auth: HTTP bearer

Everything needed to analyze a flow in a single document: overview, metrics per node, DAG structure (the node ids the other tables refer to), clicked links with their role, enrolled contacts row by row with the node they are on, and the log of steps traversed. Each table is CSV, with its definition next to it: 'opens' without saying they are human ones, and 'clicks' without saying they exclude the logo, are numbers an analyst reads at random.

Without `dataset` you get a single text file with all tables; with `dataset` you get that raw CSV. Test runs are excluded everywhere. Tables with one row per contact are cut at 10,000 (`enrollments`) and 50,000 rows (`steps`): the cut is declared in the file name and in the document, never silently.

Email addresses appear **only** if the key also carries `contacts:read`: `automations:read` alone returns no personal data anywhere else, and an export must not be the shortcut around that rule. Without it, rows stay identified by `contact_id`. Required scope: `automations:read`.

## Path parameters

- `id` string, required: Automation ID.

## Query parameters

- `dataset` 'overview' | 'nodes' | 'journey' | 'links' | 'enrollments' | 'steps': A single table, as raw CSV.

## Response `200`

Analysis export.

## Other responses

- `401`: Missing or invalid token.
- `403`: Insufficient scope.
- `404`: Resource not found.

---

[API](https://skmtc.dev/sending/apis/sending-dev-api.md) · [All operations](https://skmtc.dev/sending/apis/sending-dev-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sending/apis/sending-dev-api/revisions/9fe78d2918a1?raw)
