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.

01

Create a workspace

Open the dashboard and create a workspace for your organization — it holds your connections, pipelines and API keys.

02

Generate an API key

From Workspace Settings → API Keys, create a scoped key for ingestion, transformation or read-only access.

03

Install a client

Use the REST API directly, or install the Python or Node SDK to get typed helpers and pagination built in.

04

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/sourcesRegister a new source connection
GET/v1/sources/{id}Get source status & schema
POST/v1/sources/{id}/syncTrigger a manual sync
GET/v1/sources/{id}/runsList 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/pipelinesCreate a transformation pipeline
POST/v1/pipelines/{id}/runTrigger 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}/contractDefine a quality contract
GET/v1/datasets/{id}/qualityGet current quality score
GET/v1/datasets/{id}/issuesList 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}/featuresGenerate a feature set
POST/v1/datasets/{id}/splitsCreate train/val/test splits
GET/v1/datasets/{id}/exportExport 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.

400

Bad Request

Malformed request body or invalid parameters.

401

Unauthorized

Missing or invalid API key.

403

Forbidden

Key does not have the required scope.

404

Not Found

Source, pipeline or dataset does not exist.

409

Conflict

A run is already in progress for this resource.

429

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.