DataPress logo
API Reference

Creating Datasets

Version:  4.1
Updated:  17th August 2026

Overview

Post a partial dataset JSON to create a new dataset.

  • The only required field is title.
  • All other fields are optional.
    • id is automatically assigned.
    • sharing defaults to public.
    • topics not defined in the site settings are silently dropped.
  • You need permission to create datasets: membership of a group with canCreateDatasets. See Permissions.
    • If you are not a dataset manager, you are automatically granted the editor role on the new dataset.
Note
You cannot upload files while creating the dataset.
First, the dataset must be assigned an ID. Then you can use the upload files API.
POST
https://data.website/api/v3/dataset
HTTP Headers
AuthorizationAPI key.stringRequired
Content-TypeMust be "application/json". Most clients will set this automatically.stringRequired
HTTP Return Codes
200Returns the full dataset JSON.
400Returns a JSON object explaining the error.
403API key does not have permission to create datasets.

Example: Minimal dataset

import requests, os, json

api_key = os.getenv("DATAPRESS_API_KEY")

headers = { "Authorization": api_key }
dataset = {
    "title": "My new dataset",
    # Optional:
    "logo": { "title": "My Organisation", "img": None },
    "topics": ["waste-and-recycling"],  # from /api/v3/site
}

url = f"https://data.website/api/v3/dataset"

response = requests.post(url, json=dataset, headers=headers)
print(json.dumps(response.json(), indent=2))