Master Data
Space-scoped endpoints for creating and managing version-controlled reference and master datasets. Supports schema editing, row management, draft/publish versioning, import/export, and foreign key relationships.
All master data endpoints require the master_data.enabled feature to be enabled.
Base Path
/spaces/{slug}/master-data
All endpoints are scoped to a space via the {slug} path parameter.
Authentication
All endpoints require an authenticated user session. Mutating operations enforce audit logging and authorization.
Dataset CRUD
Create Dataset
POST /spaces/{slug}/master-data/datasets
Create a new reference or master dataset.
Request Body
{
"name": "Country Codes",
"description": "ISO 3166-1 country codes",
"category": "reference",
"slug": "country-codes"
}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name |
description | string | No | Dataset description |
category | string | No | reference or master |
slug | string | No | URL-friendly identifier |
List Datasets
GET /spaces/{slug}/master-data/datasets
| Parameter | Type | Default | Description |
|---|---|---|---|
category | string | null | Filter by reference or master |
skip | int | 0 | Pagination offset |
limit | int | 100 | Page size (max 500) |
Get Dataset
GET /spaces/{slug}/master-data/datasets/{dataset_id}
Returns the dataset including column definitions.
Get Dataset by Slug
GET /spaces/{slug}/master-data/datasets/by-slug/{dataset_slug}
Alternative lookup by dataset slug instead of UUID.
Update Dataset
PATCH /spaces/{slug}/master-data/datasets/{dataset_id}
Update mutable metadata (name, description, category).
Delete Dataset
DELETE /spaces/{slug}/master-data/datasets/{dataset_id}
Deletes a dataset and all its versions, rows, and drafts.
Schema (Columns)
Add Column
POST /spaces/{slug}/master-data/datasets/{dataset_id}/columns
Request Body
{
"name": "country_code",
"data_type": "string",
"is_primary_key": true,
"is_nullable": false,
"description": "ISO 3166-1 alpha-2 code"
}
Update Column
PATCH /spaces/{slug}/master-data/columns/{column_id}
Delete Column
DELETE /spaces/{slug}/master-data/columns/{column_id}
Rows
Add Row
POST /spaces/{slug}/master-data/datasets/{dataset_id}/rows
List Rows
GET /spaces/{slug}/master-data/datasets/{dataset_id}/rows
Supports filtering, sorting, and pagination.
| Parameter | Type | Description |
|---|---|---|
skip | int | Pagination offset |
limit | int | Page size (max 500) |
sort_column | string | Column name to sort by |
sort_direction | string | asc or desc |
filter_column | string | Column name to filter |
filter_value | string | Filter value |
Update Row
PATCH /spaces/{slug}/master-data/rows/{row_id}
Delete Row
DELETE /spaces/{slug}/master-data/rows/{row_id}
Bulk Import Rows
POST /spaces/{slug}/master-data/datasets/{dataset_id}/rows/import
Import rows from CSV or JSON format. Supports upsert and replace strategies.
Export Rows
GET /spaces/{slug}/master-data/datasets/{dataset_id}/rows/export
Export rows as CSV or JSON.
| Parameter | Type | Default | Description |
|---|---|---|---|
format | string | csv | csv or json |
Versioning
List Versions
GET /spaces/{slug}/master-data/datasets/{dataset_id}/versions
Get Version
GET /spaces/{slug}/master-data/versions/{version_id}
Publish Version
POST /spaces/{slug}/master-data/datasets/{dataset_id}/publish
Creates an immutable point-in-time snapshot of the current dataset state.
Get Version Rows
GET /spaces/{slug}/master-data/versions/{version_id}/rows
Read-only access to rows as they existed at the time of publishing.
Compare Versions
GET /spaces/{slug}/master-data/datasets/{dataset_id}/versions/compare
| Parameter | Type | Description |
|---|---|---|
from_version | UUID | Baseline version |
to_version | UUID | Comparison version |
Drafts
Create Draft
POST /spaces/{slug}/master-data/datasets/{dataset_id}/drafts
Create a working copy for editing before publishing.
List Drafts
GET /spaces/{slug}/master-data/datasets/{dataset_id}/drafts
Get Draft
GET /spaces/{slug}/master-data/drafts/{draft_id}
Update Draft
PATCH /spaces/{slug}/master-data/drafts/{draft_id}
Delete Draft
DELETE /spaces/{slug}/master-data/drafts/{draft_id}
Apply Draft
POST /spaces/{slug}/master-data/drafts/{draft_id}/apply
Apply draft changes to the live dataset.
Foreign Keys
Add Foreign Key
POST /spaces/{slug}/master-data/datasets/{dataset_id}/foreign-keys
Define a relationship between columns across datasets.
List Foreign Keys
GET /spaces/{slug}/master-data/datasets/{dataset_id}/foreign-keys
Delete Foreign Key
DELETE /spaces/{slug}/master-data/foreign-keys/{fk_id}
Related
- Master Data User Guide — End-user documentation
- Data Catalog — Data product management