---
title: "Get list of datasets"
method: GET
path: "/workspaces/{workspace_id}/projects/{project_id}/datasets"
tags: ["Datasets"]
---

# Get list of datasets

`GET /workspaces/{workspace_id}/projects/{project_id}/datasets`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/workspaces/{workspace_id}/projects/{project_id}/datasets`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-KEY` and API key in header `X-API-SECRET` and API key in header `X-WORKSPACE-ID`

Returns list of datasets in given project. Query parameters can be used to optimize the response.

## Path parameters

- `project_id` integer, required: Project ID of the workspace
- `workspace_id` integer, required: Workspace refers to a collection of projects. Workspace ID is unique identifier for workspace.

## Query parameters

- `fields` string, nullable: Fields to be returned in a comma-separated format may include id, name, owner_workspace_id, updated_at.
- `id` string: Track multiple dataset ids, comma separated
- `name` string, nullable: Track multiple dataset names, comma separated
- `created_at` string, nullable: Track multiple dataset, which falls under created_at date range
- `updated_at` string, nullable: Track multiple dataset, which falls under updated_at date range
- `created_by` string, nullable: Track multiple dataset created by, comma separated
- `source_type` string, nullable: Track multiple dataset source type, comma separated
- `status` string, nullable: Track multiple dataset status, comma separated
- `limit` integer: Max number of result to return
- `offset` integer: Distance from the beginning of the list of results
- `sort` string, nullable: Sort the datasets based on the fields

## Response `200`

List of datasets

- DatasetsList
  - `datasets` DsInfo[], required
    - `resource_path` string, nullable: Resource Path
    - `id` integer, nullable: Dataset ID
    - `name` string, nullable: Name of the dataset
    - `created_at` string, date-time, nullable: Dataset creation time
    - `created_by` string, nullable: Dataset created by
    - `updated_by` string, nullable: Who last added data to the dataset; None when unknown
    - `updated_at` string, date-time, nullable: Dataset last update time
    - `status` 'ready' | 'processing' | 'deleting' | 'deleted' | 'error' | 'need_action' | 'null', nullable: Dataset status
    - `status_info` object, nullable: Additional Status of the dataset
    - `get_url` string, nullable: Dataset URL
    - `data_schema` ApiDsSchemaColumnSchema[], nullable: Data Schema
      - `c_id` string, nullable: Column ID
      - `c_name` string, nullable: Column Name
      - `c_type` 'text' | 'numeric' | 'date' | 'null', nullable: Column Type
    - `stats` Stats
      - `row_count` integer, nullable: Row Count
      - `column_count` integer, nullable: Column Count
      - `batch_count` integer, required: Batch Count
      - `size` union: Size
        - string
        - integer
    - `sources` union[], nullable: Data Sources
      - union
        - TpSourceInfo
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` ThirdPartySource, required: Details of the cloud ds source
            - `connector_key` string, nullable: Connector Key
            - `identity_key` string, nullable: Identity Key
            - `id` union: Datasource Config Key
              - …
            - `batch_mode` 'replace' | 'combine' | 'append' | 'null', nullable: Batch Mode
            - `schedules` ScheduleDetails[], nullable: Schedules
              - …
            - `query_config` QueryConfig
              - …
            - `batch_ids` integer[], nullable: Batch IDs
        - WebhookInfo
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` WebhookSource, required: Details of the webhook ds source
            - `id` integer, nullable: Webhook ID
            - `key` string, nullable: Webhook Key
            - `url` string, nullable: Webhook URL
            - `origins` string, nullable: Webhook Origins
        - InternalDsInfo
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` InternalDsSource, required: Details of the internal ds source
            - `id` integer, nullable: Dataview ID
            - `trigger_id` integer, nullable: Trigger ID
        - SketchSource
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` object, required: Details of the sketch ds source
        - WebUrlInfo
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` WebUrlSource, required: Details of the web url ds source
            - `id` string, url, nullable: Web URL
        - FileInfo
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` FileSource, required: Details of the file ds source
            - `id` integer, nullable: File ID
            - `file_name` string, uri, nullable: File Name
            - `size` string, nullable: File Size
        - AbstractSource
          - `type` 'file' | 'sketch' | 'cloud' | 'abstract' | 'append': Type of the source
          - `details` object, required: Details of the abstract ds source
    - `display_info` ApiDsSchemaDisplayInfo
      - `format` object, nullable: Column Formats
      - `sort` array[], nullable: Column Sort
        - unknown[]
          - unknown
    - `data_url` string, nullable: Data URL
    - `dependencies` object, nullable: Dataset dependencies
    - `batch_ids` integer[], nullable: Batch IDs
    - `configurations` object, nullable: Configurations
    - `description` string, nullable: What the data is about, written once by the data_summary job at creation. Null until the job has run, or if it failed.
    - `additional_info` object, nullable: Additional info of the datasource
    - `recipe` object, nullable: How this dataset was created: the confirmed interpretation instruction for a messy-origin dataset (editable), or a generated description of the plain parse for a clean-origin dataset. Only computed when explicitly requested via fields=recipe.
    - `recipe_edit` object, nullable: Cached original-data sample and instruction suggestions needed to seed a recipe re-edit. Separate from recipe (can be large, up to 50 sample rows) — only computed when explicitly requested via fields=recipe_edit, for when the user actually opens the re-edit modal.
  - `offset` integer
  - `limit` integer
  - `next` string, required: URI for next page of data

## Other responses

- `400`: Bad Request
- `401`: Authorization error

## Changes

- **2026-10-20** `5dfd1c296ded`: 3 breaking, 3 info
  - added `subschema #1, subschema #2` to the `datasets/items/sources/oneOf[subschema #1]/items/oneOf[subschema #1: TpSourceInfo]/details/id` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `datasets/items/stats/oneOf[subschema #1: Stats]/size` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `datasets/items/display_info/oneOf[subschema #1: DisplayInfo]/sort/oneOf[subschema #1]/items/` response property 'prefixItems' list for the response status `200`
  - removed `subschema #1, subschema #2` from the `datasets/items/sources/oneOf[subschema #1]/items/oneOf[subschema #1: TpSourceInfo]/details/id` response property `oneOf` list for the response status `200`
  - …2 more

[Operation history](https://skmtc.dev/mammoth/apis/mammoth-analytics/changes/workspaces/:workspace_id/projects/:project_id/datasets/get.md)

---

[API](https://skmtc.dev/mammoth/apis/mammoth-analytics.md) · [All operations](https://skmtc.dev/mammoth/apis/mammoth-analytics/llms.txt) · [OpenAPI document](https://skmtc.dev/mammoth/apis/mammoth-analytics/revisions/5dfd1c296ded?raw)
