---
title: "Create a dataset"
method: POST
path: "/v1/projects/{project_id}/datasets"
tags: ["Evaluations"]
---

# Create a dataset

`POST /v1/projects/{project_id}/datasets`

## Request

- Base URL: `https://api.naturali.ai`
- URL: `https://api.naturali.ai/v1/projects/{project_id}/datasets`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.naturali.ai/authorize`, token URL `https://api.naturali.ai/token`, scopes: `mcp:access`)

Creates a project-scoped dataset — a named collection of test cases an eval runs an agent against. Names are unique per project.

Datasets are operator-owned **fixtures**. The platform's content purge never deletes or mutates a dataset item, so erasing a generation cannot silently stop a test suite from being runnable.

## Request body

- object
  - `name` string, required: Unique name within the project
  - `description` string, nullable: What this suite covers

## Response `201`

Dataset created successfully

- Dataset
  - `id` string
  - `project_id` string
  - `name` string
  - `description` string, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: Bad request (missing or invalid name)
- `401`: Unauthorized
- `403`: Forbidden
- `409`: A dataset with that name already exists in the project
- `500`: Internal server error

---

[API](https://skmtc.dev/naturali/apis/naturali-ai-api.md) · [All operations](https://skmtc.dev/naturali/apis/naturali-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/naturali/apis/naturali-ai-api/revisions/e4905b78f422?raw)
