QANATIX
API Reference

API Reference

QANATIX REST API — all endpoints.

API Reference

Base URL: https://api.qanatix.com/api/v1

All requests require Authorization: Bearer sk_live_... header.

Endpoints

MethodPathDescription
POST/search/\{collection\}Full-text search within a collection
GET/search/\{collection\}?q=...Search via query parameters

Records

MethodPathDescription
POST/recordsCreate an record
GET/recordsList records (cursor-based pagination, FTS query)
GET/records/\{id\}Get record by ID
PATCH/records/\{id\}Update an record
DELETE/records/\{id\}Soft-delete (archive) an record
PATCH/records/bulkBulk update records
POST/records/bulk-deleteBulk soft-delete records
POST/records/retry-resetReset failed upload retries
PATCH/records/\{id\}/visibilitySet record visibility
POST/records/bulk-visibilityBulk set visibility

Upload

MethodPathDescription
POST/upload/\{collection\}/\{record_type\}/batchBatch upload JSON records
POST/upload/\{collection\}/\{record_type\}/uploadUpload CSV/JSON/NDJSON/XML file
POST/upload/\{collection\}/\{record_type\}/pdfUpload and extract PDF
POST/upload/\{collection\}/\{record_type\}/streamStream NDJSON data
POST/webhooks/upload/\{collection\}/\{record_type\}Webhook push with HMAC verification
GET/uploads/\{upload_id\}Get upload status
GET/uploads/\{upload_id\}/errorsGet dead letter queue entries

Collections

MethodPathDescription
GET/collectionsList collections with record counts

Connectors

MethodPathDescription
POST/connectorsCreate a database connector
GET/connectorsList connectors
DELETE/connectors/\{id\}Delete a connector
POST/connectors/\{id\}/pullTrigger a data pull

Authentication

MethodPathDescription
POST/auth/keysGenerate an API key
GET/auth/keysList API keys
DELETE/auth/keys/\{key_id\}Revoke a key
POST/auth/keys/\{key_id\}/rotateRotate a key

Export

MethodPathDescription
POST/export?collection=X&format=csvStart async CSV export
POST/export?collection=X&format=jsonStart async JSON export
GET/export/\{id\}/statusCheck export progress
GET/export/\{id\}/downloadDownload completed export
GET/export/activeList active exports

Usage

MethodPathDescription
GET/usage?month=YYYY-MMGet usage stats for current period

Admin

Requires admin scope on API key.

MethodPathDescription
GET/admin/tenantsList tenants with stats
GET/admin/statsSystem-wide statistics
POST/admin/reindex/\{collection\}Reindex all records in a collection
POST/admin/reindex/record/\{id\}Reindex single record

Portal — Data Management

JWT-authenticated. See Portal Records & Collections.

MethodPathDescription
GET/portal/collectionsList collections with record counts and indexing stats
GET/portal/recordsList records (paginated, filterable by collection)
GET/portal/records/\{id\}Get record by ID
PATCH/portal/records/\{id\}Update an record (incl. collection_data, auto re-indexes)
DELETE/portal/records/\{id\}Soft-delete (archive) an record
POST/portal/records/\{id\}/reindexReindex a single record
DELETE/portal/collections/\{name\}Delete a collection and all its records
POST/portal/collections/\{name\}/reindexReindex all records in a collection
POST/portal/search/\{collection\}Search from dashboard (same as /search but JWT auth)
POST/portal/upload/\{collection\}/\{record_type\}/uploadUpload file from dashboard

Portal — Account & Billing

JWT-authenticated. See Portal API and Billing.

MethodPathDescription
GET/portal/accountGet account info
PATCH/portal/accountUpdate profile
GET/portal/usageUsage summary
GET/portal/quickstartQuickstart checklist
POST/portal/keysCreate an API key
GET/portal/keysList API keys
DELETE/portal/keys/\{key_id\}Revoke a key
POST/portal/keys/\{key_id\}/rotateRotate a key
GET/portal/billing/statusGet billing status
POST/portal/billing/checkoutCreate Stripe checkout session
POST/portal/billing/portalCreate Stripe customer portal session

Blue-Green Replace

JWT-authenticated. See Blue-Green Replace.

MethodPathDescription
POST/portal/collections/\{name\}/replaceUpload new dataset into staging generation
GET/portal/collections/\{name\}/replace-statusCheck staging progress and readiness
POST/portal/collections/\{name\}/swapAtomically swap staging into production
POST/portal/collections/\{name\}/cancel-replaceCancel and discard staging generation

Health & Observability

MethodPathDescription
GET/healthLiveness check
GET/health/readyReadiness (DB + Redis)
GET/health/searchSearch quality metrics
GET/metricsPrometheus-compatible metrics

MCP

PathDescription
/mcp/MCP Streamable HTTP endpoint

Request format

  • Content-Type: application/json for POST/PATCH
  • Content-Type: multipart/form-data for file uploads
  • Content-Type: application/x-ndjson for streaming

Response format

All responses are JSON with consistent structure. Errors include a detail field.

See Errors and Rate Limits.

On this page