One source of truth.
For every dataset
that matters.
Data Cardinal helps data teams define, govern, and serve authoritative datasets — with versioning, schema enforcement, and instant REST APIs built in.
No credit card required · Free during early access
Datasets
5 datasets · 3 published
| Name | Version | Status | Records | Updated |
|---|---|---|---|---|
country_codesReference | v2.3.1 | active | 249 | 2h ago |
currency_codesReference | v1.8.0 | active | 168 | 1d ago |
iso_languagesReference | v3.1.2 | active | 7,908 | 3d ago |
market_segmentsTaxonomy | v0.9.4 | draft | 42 | 5d ago |
risk_categoriesReference | v2.0.0 | active | 15 | 1w ago |
Centralized Data Registry
Define and manage all your datasets in one governed place. No more spreadsheets scattered across drives — every canonical list lives in Data Cardinal, tagged, searchable, and owned.
- ✦Dataset catalog with ownership & tagging
- ✦Search and filter across all datasets
- ✦Workspace-scoped access
Versioned Records
Every change to a dataset is tracked. Roll back to any prior version, compare diffs between releases, and understand exactly what changed and when.
- ✦Full version history per dataset
- ✦Side-by-side diff view
- ✦One-click rollback to any version
REST API Serving
Auto-generated, versioned REST endpoints are ready the moment you publish. Any service can consume governed data without querying a database or sharing spreadsheets.
- ✦Auto-generated per dataset
- ✦Version-pinned endpoints
- ✦Filterable & paginated responses
{ "data": [{ "code": "US", "name": "United States", "iso3": "USA" }, ...], "meta": { "version": "v2.3.1", "total": 249 }}
Schema Validation
Define the shape of your data once. Data Cardinal enforces types, required fields, value constraints, and enum lists at write time — bad data never gets in.
- ✦Per-column types and constraints
- ✦Enum & allowed-values lists
- ✦Real-time validation on edit
Access Control
Role-based permissions at the dataset and record level. Grant teams viewer or steward access, require approval workflows, and audit every change.
- ✦Admin / Steward / Viewer roles
- ✦Per-dataset permission grants
- ✦Change approval workflows
From schema to API in minutes
Define your schema
Set column names, types, required fields, and allowed values. Data Cardinal validates every write against this spec.
schema.create("country_codes", { code: { type: "text", required: true }, name: { type: "text", required: true }, numeric: { type: "integer" }})
Add records
Import from CSV or add rows in the UI. Validation runs on every change — bad data never reaches production.
dataset.import("country_codes", "countries.csv")// ✓ 249 rows validated// ✗ 2 rows rejected (schema error)
Publish a version
When the dataset is ready, publish it. Data Cardinal snapshots the records and increments the version.
dataset.publish("country_codes")// Published: v2.3.1// Endpoint: /api/v2/datasets/country_codes
Consume via API
Any service calls the auto-generated REST endpoint. Pin a version to freeze behaviour across deployments.
GET /api/v2/datasets/country_codes/records ?version=v2.3.1&filter=region:EU→ 200 OK { data: [...], meta: { total: 44 } }
Govern changes
Stewards propose edits, admins approve. Every change is logged with who, what, and when.
change #42 by raj@co → pending approval+ XK · Kosovo · XKX~ GB · UK → United KingdomApproved by sarah@co — v2.4.0 published
From spreadsheet chaos to governed data
Start governing your
data today
Join data teams who stopped wrangling spreadsheets and started shipping governed, versioned datasets that every service trusts.
Free during early access · No credit card required