REST API for Curation
The Live Capture API streams data in. The REST API lets you programmatically manage it. Review, rate, approve, reject — connect external tools, automation scripts, or AI agents to reduce human involvement in the curation loop.
Full-cycle automation
AI Curator isn't just a tool where a human clicks "approve" on every sample. The REST API lets you connect external tools, automation scripts, and even other AI systems to review, rate, approve, and reject datasets and samples. Reduce human involvement to the edges — humans set the rules, automation handles the volume.
| Stage | Ingest | Curate | Export |
|---|---|---|---|
| Interface | Live Capture API | Web UI / REST API | CLI / REST API |
| Automation | Full — POST JSON, done | Configurable — AI, rules, or human | Full — scheduled, filtered |
| Human role | Minimal | As much or as little as you want | Minimal |
Live Capture API streams data in. REST API manages curation out. Together, they close the loop. Data comes in, gets curated with as much or as little human involvement as you want, and gets exported — all automatable.
Planned Endpoints
The REST API for curation is under active development. These endpoints represent the planned API surface. The base URL is the same as AI Curator's web UI — local or your own server.
Datasets
| Method | Endpoint | Description |
|---|---|---|
GET | /api/datasets | List all datasets |
GET | /api/datasets/:id | Get dataset details, sample counts, status breakdown |
POST | /api/datasets | Create a new dataset |
DELETE | /api/datasets/:id | Delete a dataset |
POST | /api/datasets/:id/export | Export dataset with format and filter options |
Samples
| Method | Endpoint | Description |
|---|---|---|
GET | /api/datasets/:id/samples | List samples with filtering (status, category, quality) |
GET | /api/samples/:id | Get sample details |
PATCH | /api/samples/:id | Update sample — change status, rating, category, tags |
POST | /api/samples/:id/approve | Approve a sample |
POST | /api/samples/:id/reject | Reject a sample |
POST | /api/datasets/:id/samples/bulk | Bulk update samples — approve/reject/rate by filter |
Automation Patterns
The REST API enables several automation patterns — from simple rule-based filters to full AI-assisted curation pipelines.
Example: Auto-approve above quality threshold
import requests BASE = "http://localhost:3333/api" # Get all pending samples in dataset 1 samples = requests.get(f"{BASE}/datasets/1/samples", params={ "status": "draft", "minQuality": 3 }).json() # Auto-approve quality 4+ with categories for sample in samples: if sample["qualityRating"] >= 4 and sample.get("category"): requests.post(f"{BASE}/samples/{sample['id']}/approve") else: # Flag for human review requests.patch(f"{BASE}/samples/{sample['id']}", json={ "status": "in_review", "tags": ["needs-review"] })Example: AI-assisted pre-review
import requests BASE = "http://localhost:3333/api" # Get draft samples samples = requests.get(f"{BASE}/datasets/1/samples", params={ "status": "draft" }).json() for sample in samples: # Send to your LLM for pre-review review = your_llm_review(sample["instruction"], sample["output"]) requests.patch(f"{BASE}/samples/{sample['id']}", json={ "qualityRating": review["quality"], "category": review["category"], "tags": review.get("flags", []) }) # Human spot-checks "in_review" only if review["quality"] >= 4: requests.post(f"{BASE}/samples/{sample['id']}/approve")Who is this for?
| Audience | What they do with the REST API |
|---|---|
| ML Engineers | Script review-and-approve workflows. Filter by category and quality before export. Automate the entire pipeline end-to-end. |
| Dev Teams | Hook CI/CD into curation. Auto-approve above quality threshold. Flag low-quality for human review only. |
| Enterprise | Connect internal tools to the curation pipeline. Integrate with ticketing systems, content management, compliance workflows. |
| AI Curation | Send samples to another LLM for pre-review. Rate quality, suggest categories, flag duplicates. Human spot-checks results. |
Roadmap
The REST API for curation is under active development. The Live Capture API (data ingestion) is available now. The curation and export endpoints are coming next.