Skip to main content
Traceability resources let you document the provenance of your data, the experiments you ran, and the decisions you made during a project. All three resource types follow the same pattern: list, create, and delete. All endpoints require a valid Bearer token and project membership.

Datasets

Datasets record where data came from, how many records it contains, and which CRISP-DM phase it belongs to.

List datasets

GET /projects/:projectId/datasetsReturns all datasets logged for the project. Optionally filter by phase.Auth required: Yes

Path parameters

projectId
string
required
The project ID.

Query parameters

phase
string
Filter by CRISP-DM phase. One of: business, data_understanding, data_preparation, modeling, evaluation, deployment.

Response

Returns an array of Dataset objects.
_id
string
required
Dataset ID.
name
string
required
Dataset name.
source
string
required
Origin of the data, e.g. database name, URL, or file path.
description
string
required
Description of the dataset contents.
records
number
required
Number of records in the dataset.
acquisitionDate
string
required
ISO 8601 date the data was acquired.
phase
string
required
CRISP-DM phase this dataset belongs to.
project
string
required
Parent project ID.
createdBy
object
required
User who created the dataset entry.
createdAt
string
required
ISO 8601 creation timestamp.

Example request

curl --request GET \
  --url 'https://api.example.com/projects/64a1f2c3b4e5d6f7a8b9c0d1/datasets?phase=data_understanding' \
  --header 'Authorization: Bearer <token>'

Example response

[
  {
    "_id": "64b2a3c4d5e6f7a8b9c0d1e2",
    "name": "Customer Transactions Q1-Q8",
    "source": "data-warehouse.prod/transactions",
    "description": "Raw transaction records for the past 24 months.",
    "records": 4200000,
    "acquisitionDate": "2026-03-01T00:00:00.000Z",
    "phase": "data_understanding",
    "project": "64a1f2c3b4e5d6f7a8b9c0d1",
    "createdBy": {
      "_id": "64a1f2c3b4e5d6f7a8b9c0d0",
      "name": "Maria Garcia",
      "email": "[email protected]"
    },
    "createdAt": "2026-03-25T11:00:00.000Z"
  }
]

Create a dataset

POST /projects/:projectId/datasetsLogs a new dataset entry for the project.Auth required: Yes

Path parameters

projectId
string
required
The project ID.

Request body

name
string
required
Dataset name.
source
string
required
Origin of the data.
description
string
required
Description of the dataset contents.
records
number
required
Number of records.
acquisitionDate
string
required
ISO 8601 date the data was acquired.
phase
string
required
CRISP-DM phase. One of: business, data_understanding, data_preparation, modeling, evaluation, deployment.

Example request

curl --request POST \
  --url https://api.example.com/projects/64a1f2c3b4e5d6f7a8b9c0d1/datasets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Customer Transactions Q1-Q8",
    "source": "data-warehouse.prod/transactions",
    "description": "Raw transaction records for the past 24 months.",
    "records": 4200000,
    "acquisitionDate": "2026-03-01T00:00:00.000Z",
    "phase": "data_understanding"
  }'

Errors

StatusDescription
400Missing or invalid fields.
401Missing or invalid token.
403You are not a member of this project.
404Project not found.

Delete a dataset

DELETE /projects/:projectId/datasets/:idPermanently removes a dataset entry. Only the user who created the entry or the project manager can delete it.Auth required: Yes

Path parameters

projectId
string
required
The project ID.
id
string
required
The dataset ID to delete.

Example request

curl --request DELETE \
  --url https://api.example.com/projects/64a1f2c3b4e5d6f7a8b9c0d1/datasets/64b2a3c4d5e6f7a8b9c0d1e2 \
  --header 'Authorization: Bearer <token>'

Example response

{
  "message": "Dataset deleted successfully."
}

Errors

StatusDescription
401Missing or invalid token.
403You did not create this entry and are not the project manager.
404Project or dataset not found.

Build docs developers (and LLMs) love