Documentation
Build on the DataMeadaw API.
Ingest, transform, validate and prepare enterprise data programmatically. Everything you can do in the dashboard is available through the API.
Getting Started
From zero to your first pipeline run.
Create a workspace
Open the dashboard and create a workspace for your organization — it holds your connections, pipelines and API keys.
Generate an API key
From Workspace Settings → API Keys, create a scoped key for ingestion, transformation or read-only access.
Install a client
Use the REST API directly, or install the Python or Node SDK to get typed helpers and pagination built in.
Make your first call
Register a source, trigger a pipeline run, and poll its status — or subscribe to a webhook for completion events.
Authentication
Every request is authenticated with a bearer token issued from your workspace. Scope keys to the minimum access a service needs — ingestion, transformation or read-only.
curl https://api.datameadaw.com/v1/sources \
-H "Authorization: Bearer $DATAMEADAW_API_KEY"Data Ingestion API
Register and sync enterprise sources — databases, warehouses, APIs, object storage and streaming feeds.
| POST | /v1/sources | Register a new source connection |
| GET | /v1/sources/{id} | Get source status & schema |
| POST | /v1/sources/{id}/sync | Trigger a manual sync |
| GET | /v1/sources/{id}/runs | List ingestion run history |
curl -X POST https://api.datameadaw.com/v1/sources \
-H "Authorization: Bearer $DATAMEADAW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "postgres",
"name": "orders-db",
"connection": { "host": "db.internal", "database": "orders" }
}'Transformation API
Define versioned transformation pipelines — normalization, cleaning, enrichment — and schedule or trigger runs.
| POST | /v1/pipelines | Create a transformation pipeline |
| POST | /v1/pipelines/{id}/run | Trigger a pipeline run |
| GET | /v1/pipelines/{id}/runs/{runId} | Get run status & logs |
| PATCH | /v1/pipelines/{id} | Update pipeline definition |
curl -X POST https://api.datameadaw.com/v1/pipelines/orders-clean/run \
-H "Authorization: Bearer $DATAMEADAW_API_KEY"Data Quality API
Attach contracts to datasets, run validations and read continuous quality scores.
| POST | /v1/datasets/{id}/contract | Define a quality contract |
| GET | /v1/datasets/{id}/quality | Get current quality score |
| GET | /v1/datasets/{id}/issues | List quality issues & duplicates |
curl https://api.datameadaw.com/v1/datasets/orders-clean/quality \
-H "Authorization: Bearer $DATAMEADAW_API_KEY"AI Data Preparation API
Produce training-ready and retrieval-ready datasets — splits, feature sets and embedding-ready exports.
| POST | /v1/datasets/{id}/features | Generate a feature set |
| POST | /v1/datasets/{id}/splits | Create train/val/test splits |
| GET | /v1/datasets/{id}/export | Export an AI-ready dataset |
curl -X POST https://api.datameadaw.com/v1/datasets/orders-clean/splits \
-H "Authorization: Bearer $DATAMEADAW_API_KEY" \
-d '{ "train": 0.8, "val": 0.1, "test": 0.1 }'Pipeline Webhooks
Subscribe to pipeline.completed, pipeline.failed and quality.regressed events instead of polling — configure endpoints from Workspace Settings → Webhooks.
{
"event": "pipeline.completed",
"pipeline_id": "orders-clean",
"run_id": "run_8f2a1c",
"status": "success",
"records_processed": 184213,
"quality_score": 0.997
}SDKs & Client Libraries
Python SDK
pip install datameadaw
Node.js SDK
npm install @datameadaw/sdk
REST API
https://api.datameadaw.com/v1
Rate Limits & Errors
Standard workspaces are limited to 300 requests/minute per key. The API returns standard HTTP status codes with a JSON error body.
Bad Request
Malformed request body or invalid parameters.
Unauthorized
Missing or invalid API key.
Forbidden
Key does not have the required scope.
Not Found
Source, pipeline or dataset does not exist.
Conflict
A run is already in progress for this resource.
Rate Limited
Too many requests — see Retry-After header.
Need an API key or a higher rate limit?
Generate keys directly from the dashboard, or talk to our team about enterprise rate limits and dedicated deployments.