---
title: "List Datasets Endpoint"
method: GET
path: "/api/v2/datasets"
tags: ["APPS_V2"]
---

# List Datasets Endpoint

`GET /api/v2/datasets`

List datasets visible on the requesting tenant's platform.

## Headers

- `x-tenant` string, required
- `x-user-group-id` string, nullable
- `x-timezone` string, nullable

## Response `200`

Successful Response

- DatasetDescriptor[]
  - `name` string, required
  - `label` string, required
  - `platform` string, required
  - `filters` FilterDescriptor[], required
    - `key` string, required
    - `label` string, required
    - `listable` boolean, required
    - `options` OptionDescriptor[], nullable
      - `value` string, required
      - `label` string, nullable
  - `columns` ColumnDescriptor[], required
    - `key` string, required
    - `label` string, required
    - `type` string, required
    - `unit` string, nullable
    - `sortable` boolean, required
    - `filterable` boolean, required
    - `searchable` boolean, required
    - `hideable` boolean, required
    - `hidden_by_default` boolean, required
    - `info` string, nullable
    - `edit` EditDescriptor
      - `action` string, required
      - `options_from` string, nullable
    - `header` boolean, required
    - `link` LinkDescriptor — Wire form of `apps.specs.links.LinkSpec` — the in-app route template a header (or other) column's row value resolves into, per that module's docstring.
      - `template` string, required
    - `icon` string, nullable
    - `decoration` DecorationDescriptor — Wire form of `apps.specs.decorations.Decoration` — see that module's docstring for the core design rule (semantic `Tone`, never a colour) this descriptor carries onto the wire unchanged.
      - `display` string, required
      - `tone` string, nullable
      - `values` ValueStyleDescriptor[], required
        - `value` string, required
        - `tone` string, required
        - `label` string, nullable
        - `icon` string, nullable
      - `thresholds` ThresholdDescriptor[], required
        - `tone` string, required
        - `min` number, nullable
        - `max` number, nullable
    - `compose` ComposeDescriptor — Wire form of `apps.specs.compose.ComposeSpec` — the stacked-cell declaration on a composed column. `show_value` renders the composed column's own value as the leading line; `badge` names a sibling BADGE-decorated column whose badge renders under the lines.
      - `lines` ComposeLineDescriptor[], required
        - `parts` ComposePartDescriptor[], required
          - `column` string, required
          - `tone` string, nullable
        - `label` string, nullable
        - `separator` string
        - `when` ComposeWhenDescriptor — Wire form of `apps.specs.compose.ComposeWhen` — render the line only when the row's `column` value equals `equals` (string comparison).
          - `column` string, required
          - `equals` string, required
      - `badge` string, nullable
      - `show_value` boolean
    - `internal` boolean
    - `order` integer, required
  - `row_key` string[], required
  - `paginated` boolean, required
  - `time_bounded` boolean, required
  - `searchable` boolean, required
  - `downloadable` boolean, required
  - `related` RelatedDescriptor, required — Wire form of `apps.catalog.relations.RelatedNames` — the symmetrised page-affinity edges of one dataset/chart/summary, split by kind. This module owns no catalog lookups (see the module docstring's import rules), so nothing here builds a `RelatedDescriptor` from a `RelatedNames` — that projection lives in `apps.api.serializers`, the layer that already resolves `apps.catalog.RELATIONS`.
    - `datasets` string[], required
    - `charts` string[], required
    - `summaries` string[], required

## Other responses

- `403` — Not supported for public user
- `422` — Validation Error

---

[API](https://skmtc.net/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.net/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/myaltimate/fastapi/revisions/a71fce1f5c26/schema)
