---
title: "List datasets with their columns and row counts by state; never row values."
method: GET
path: "/v1/datasets"
---

# List datasets with their columns and row counts by state; never row values.

`GET /v1/datasets`

## Request

- Base URL: `http://127.0.0.1:10108`
- URL: `http://127.0.0.1:10108/v1/datasets`
- Auth: HTTP bearer

Lists every dataset with its mode, columns, row counts by state and how many profiles use it. No row values are returned.

## Response `200`

Every dataset with its columns and row counts by state; no row values.

- object[]
  - `columns` object[], required
    - `name` string, required
    - `secret` boolean, required
  - `counts` object, required
    - `assigned` integer, required
    - `available` integer, required
    - `reserved` integer, required
    - `total` integer, required
    - `used` integer, required
  - `createdAt` string, required
  - `id` string, uuid, required
  - `mode` 'fixed' | 'consume', required
  - `name` string, required
  - `profileCount` integer, required
  - `rowsPerRun` integer, nullable, required
  - `updatedAt` string, required

## Other responses

- `401`: No bearer token, or not a token this app issued. The body is empty: it never says which.
- `403`: Refused by the plan: it no longer includes the local API (checked on every request), or it does not allow this action (profile or schedule limit, parallel runs). A request whose Host header is not loopback is also 403, with an empty body.
- `500`: Veilus failed: storage could not be read or written, or a task panicked. The message says what failed; retrying rarely helps.

---

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