---
title: "Get workflow data by ID"
method: GET
path: "/v4/workflows/{workflowId}/data"
tags: ["Workflows"]
---

# Get workflow data by ID

`GET /v4/workflows/{workflowId}/data`

## Request

- Base URL: `https://api.kadoa.com`
- URL: `https://api.kadoa.com/v4/workflows/{workflowId}/data`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Path parameters

- `workflowId` string, required

## Query parameters

- `runId` string
- `format` 'json' | 'csv'
- `sortBy` string
- `order` 'asc' | 'desc'
- `filters` string
- `page` integer
- `limit` integer
- `gzip` boolean
- `rowIds` string
- `download` 'stream' | 'link'

## Headers

- `x-api-key` string
- `Authorization` string

## Response `200`

Workflow data returned successfully. The application/json body has two shapes:
the default streaming shape (workflowId, data, pagination), and the download=link
shape (export id pointing at a materialized CSV; fetch via the exports endpoint).

- union
  - object: Default streaming response (download omitted or download=stream).
    - `workflowId` string, required
    - `runId` string, nullable
    - `executedAt` string, date-time, nullable
    - `data` object[], required
    - `pagination` object, required
      - `totalCount` integer
      - `page` integer
      - `totalPages` integer
      - `limit` integer
  - object: Returned when download=link. The CSV is materialized to object storage and fetched via GET /v4/workflows/{workflowId}/data/exports/{exportId}.
    - `workflowId` string, required
    - `runId` string, nullable
    - `executedAt` string, date-time, nullable
    - `format` 'csv', required
    - `totalRows` integer, required
    - `exportId` string, uuid, required: Identifier of the materialized CSV. Pass to the exports endpoint to download.
    - `downloadPath` string, required: Authenticated download path; combine with the API base URL.
    - `expiresAt` string, date-time, required

## Other responses

- `400`: Bad request (invalid parameters)
- `401`: Unauthorized (invalid or missing API key or Bearer token)
- `404`: Workflow or job not found
- `409`: No run is published for a download, or the producing run schema is unavailable
- `500`: Internal server error

---

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