REST API Reference
Complete endpoint reference for the RadMah AI Client API. Base URL: https://api.radmah.ai
Authentication
All endpoints require authentication via API key or JWT bearer token. See Authentication for details.
Authentication headers
# API Key
X-API-Key: sl_live_...
# JWT Bearer
Authorization: Bearer <access_token>Jobs
| Method | Path | Description |
|---|---|---|
| POST | /v1/client/jobs | Create a generation job |
| GET | /v1/client/jobs | List jobs (paginated) |
| GET | /v1/client/jobs/{id} | Get job details and status |
| POST | /v1/client/jobs/{id}/cancel | Cancel a running job |
| POST | /v1/client/jobs/{id}/rerun | Rerun a completed job (same sealed contract) |
Datasets
| Method | Path | Description |
|---|---|---|
| POST | /v1/client/datasets | Upload a dataset (CSV, Parquet) |
| GET | /v1/client/datasets | List datasets |
| GET | /v1/client/datasets/{id} | Get dataset metadata |
| DELETE | /v1/client/datasets/{id} | Delete a dataset |
| POST | /v1/client/mock-data/ | Schema-driven in-memory dataset creation |
| POST | /v1/client/preview/ | Stateless sample-row preview (no storage) |
Artifacts
| Method | Path | Description |
|---|---|---|
| GET | /v1/client/artifacts | List artifacts (filter by job_id) |
| GET | /v1/client/artifacts/{id} | Get artifact metadata and BLAKE3 hash |
| GET | /v1/client/artifacts/{id}/download | Download artifact content |
Seals
| Method | Path | Description |
|---|---|---|
| GET | /v1/client/seals | List provenance seals |
| GET | /v1/client/seals/{id} | Get seal details (sealed contract hash, created_at) |
Chat / Orchestrator
| Method | Path | Description |
|---|---|---|
| POST | /v1/client/chat/sessions | Create a chat session |
| POST | /sessions/{id}/messages | Send a message |
| POST | /sessions/{id}/turns/{tid}/approve | Approve a recipe |
| POST | /sessions/{id}/turns/{tid}/reject | Reject a recipe |
| GET | /sessions/{id}/messages | Get message history (paged) |
| GET | /sessions/{id}/stream | SSE live event stream |
Agentic Data Scientist
| Method | Path | Description |
|---|---|---|
| POST | /v1/client/agent/projects | Create project and trigger planning |
| GET | /v1/client/agent/projects | List projects |
| GET | /projects/{id} | Get project with steps and output |
| POST | /projects/{id}/approve | Approve plan and execute |
| POST | /projects/{id}/cancel | Cancel a project |
| GET | /projects/{id}/stream | SSE progress stream |
Connectors
| Method | Path | Description |
|---|---|---|
| POST | /v1/client/connectors | Create a connector (14 types supported) |
| GET | /v1/client/connectors | List connectors |
| POST | /v1/client/connectors/{id}/test | Test connector connectivity |
| POST | /v1/client/connectors/{id}/import | Import data from source connector |
| POST | /v1/client/connectors/{id}/deliver | Deliver synthetic data to destination connector |
Billing & Usage
| Method | Path | Description |
|---|---|---|
| GET | /v1/client/billing | Subscription info and credit balance |
| POST | /v1/client/billing/topup | Purchase PAYG credits (Sovereign only) |
| GET | /v1/client/estimate | Pre-run credit cost estimate |
| GET | /v1/client/usage | Credit usage history |
Webhooks
| Method | Path | Description |
|---|---|---|
| POST | /v1/client/webhooks | Register a webhook endpoint |
| GET | /v1/client/webhooks | List webhook endpoints |
| GET | /v1/client/webhooks/{id}/deliveries | View delivery log for a webhook |
Error Responses
All error responses use standard HTTP status codes with a consistent JSON body:
Error response format
{
"error": {
"code": "CREDIT_LIMIT_EXCEEDED",
"message": "Monthly credit limit reached. Upgrade plan or purchase PAYG credits.",
"status": 429
}
}See /v1/client/errors for the full error code catalog.