---
title: "read dataset"
method: GET
path: "/datasets/{id}"
tags: ["Dataset CRUD"]
---

# read dataset

`GET /datasets/{id}`

## Request

- Base URL: `https://api.riveterhq.com/v1`
- URL: `https://api.riveterhq.com/v1/datasets/{id}`
- Auth: HTTP bearer

One dataset: `input_columns`, `index_column`, the bound `enrichment_id` and its `output_columns` (names; prompts and schemas are on [GET /enrichments/{id}](#tag/enrich/get/enrichments/{id})), `row_count`, whether the rows expired (`rows_expired`), whether a CSV import is still landing (`import_in_progress`), and the five newest `runs` (list generation and fills).

## Path parameters

- `id` string, required

## Response `200`

The dataset

- Dataset
  - `id` string: ds_...
  - `name` string, nullable
  - `input_columns` string[]: Input column names, in order (row identity)
  - `index_column` string, nullable: The input column rows are unique on
  - `enrichment_id` string, nullable: The bound enrichment (its output columns are the dataset's)
  - `output_columns` string[]: Output column names, in order (from the bound enrichment; [] without one). Prompts and schemas are on GET /enrichments/{enrichment_id}
  - `row_count` integer
  - `rows_expired` boolean: True once the rows were removed by retention; the structure stays
  - `import_in_progress` boolean: A CSV import accepted with 202 has not landed yet
  - `runs` DatasetRunSummary[]: The five newest runs on the dataset
    - `id` string: run_...
    - `type` 'dataset_build' | 'enrichment': dataset_build = list generation; enrichment = a fill
    - `status` string
    - `created_at` string, date-time
    - `finished_at` string, date-time, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401`: Missing or invalid API key (`request_status` body — see the AuthError schema)
- `403`: The API key's account may not access this resource or endpoint (`forbidden`), or the account has not migrated to Datasets yet (`feature_not_enabled` — open Datasets in the app and click "Migrate to Datasets")
- `404`: No resource with that id on this account

## Changes

- **2026-11-13** `fac56b649559`: 2 info
  - api tag `Dataset CRUD` added
  - api tag `Datasets` removed
- **2026-10-30** `dcb4d45ade1a`: 4 info
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/typical` to the response with the `403` status
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/typical` to the response with the `404` status
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/upfront` to the response with the `403` status
  - added the optional property `error/credit_detail/estimate/oneOf[#/components/schemas/CreditEstimate]/upfront` to the response with the `404` status
- **2026-10-19** `76aabcc5686b`: 2 info
  - api tag `Datasets` added
  - api tag `Datasets (beta)` removed
- **2026-10-14** `e437aec5a98d`: 1 warning, 1 info
  - removed the optional property `dedupe_column` from the response with the `200` status
  - added the optional property `index_column` to the response with the `200` status
- **2026-10-13** `029668894d33`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/riveterhq/apis/riveter-api/changes/datasets/:id/get.md)

---

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