API Reference
API Reference
QANATIX REST API — all endpoints.
Base URL: https://api.qanatix.com/api/v1
All requests require Authorization: Bearer sk_live_... header.
| Method | Path | Description |
|---|
| POST | /search/\{vertical\} | Hybrid search within a vertical |
| GET | /search/\{vertical\}?q=... | Search via query parameters |
| Method | Path | Description |
|---|
| POST | /entities | Create an entity |
| GET | /entities | List entities (cursor-based pagination, FTS query) |
| GET | /entities/\{id\} | Get entity by ID |
| PATCH | /entities/\{id\} | Update an entity |
| DELETE | /entities/\{id\} | Soft-delete (archive) an entity |
| PATCH | /entities/bulk | Bulk update entities |
| POST | /entities/bulk-delete | Bulk soft-delete entities |
| POST | /entities/retry-reset | Reset failed embedding retries |
| Method | Path | Description |
|---|
| POST | /ingest/\{vertical\}/\{entity_type\}/batch | Batch ingest JSON records |
| POST | /ingest/\{vertical\}/\{entity_type\}/upload | Upload CSV/JSON/NDJSON/XML file |
| POST | /ingest/\{vertical\}/\{entity_type\}/pdf | Upload and extract PDF |
| POST | /ingest/\{vertical\}/\{entity_type\}/stream | Stream NDJSON data |
| POST | /webhooks/ingest/\{vertical\}/\{entity_type\} | Webhook push with HMAC verification |
| GET | /ingestions/\{ingestion_id\} | Get ingestion status |
| GET | /ingestions/\{ingestion_id\}/errors | Get dead letter queue entries |
| Method | Path | Description |
|---|
| POST | /schemas | Register a JSON Schema for vertical/entity_type |
| GET | /schemas | List all schemas (filterable by vertical) |
| GET | /schemas/\{vertical\}/\{entity_type\} | Get schema (latest version) |
| Method | Path | Description |
|---|
| GET | /verticals | List verticals with entity counts and schema status |
| Method | Path | Description |
|---|
| POST | /connectors | Create a database connector |
| GET | /connectors | List connectors |
| DELETE | /connectors/\{id\} | Delete a connector |
| POST | /connectors/\{id\}/pull | Trigger a data pull |
| Method | Path | Description |
|---|
| POST | /auth/keys | Generate an API key |
| GET | /auth/keys | List API keys |
| DELETE | /auth/keys/\{key_id\} | Revoke a key |
| POST | /auth/keys/\{key_id\}/rotate | Rotate a key |
| Method | Path | Description |
|---|
| GET | /pipeline/status/\{ingestion_id\} | Get embedding pipeline status |
| POST | /pipeline/trigger/\{ingestion_id\} | Re-trigger embedding pipeline |
| Method | Path | Description |
|---|
| GET | /export?vertical=X&format=csv | Export entities as CSV |
| GET | /export?vertical=X&format=json | Export entities as JSON |
| Method | Path | Description |
|---|
| GET | /usage?month=YYYY-MM | Get usage stats for current period |
Requires admin scope on API key.
| Method | Path | Description |
|---|
| GET | /admin/tenants | List tenants with stats |
| GET | /admin/stats | System-wide statistics |
| POST | /admin/reindex/\{vertical\} | Reindex all entities in a vertical |
| POST | /admin/reindex/entity/\{id\} | Reindex single entity |
| Method | Path | Description |
|---|
| GET | /health | Liveness check |
| GET | /health/ready | Readiness (DB + Redis + Qdrant) |
| GET | /health/worker | SAQ worker status |
| GET | /health/qdrant | Qdrant connectivity |
| GET | /health/search | Search quality metrics |
| GET | /metrics | Prometheus-compatible metrics |
| Path | Description |
|---|
/mcp/ | MCP Streamable HTTP endpoint |
- Content-Type:
application/json for POST/PATCH
- Content-Type:
multipart/form-data for file uploads
- Content-Type:
application/x-ndjson for streaming
All responses are JSON with consistent structure. Errors include a detail field.
See Errors and Rate Limits.