Skip to main content

Authentication

Every request requires a Bearer token and namespace header:
Authorization: Bearer sk_live_...
X-Namespace: ns_production
API keys are scoped to an organization. Namespaces provide the authorization boundary — use separate namespaces for dev, staging, and production.

Document Access Control

Apply row-level security to documents with ACL rules. Filter results by user roles or attributes at query time without changing retriever logic. Document ACL API →

Webhooks

Subscribe to events like batch.completed, document.created, or alert.triggered:
curl -X POST "https://api.mixpeek.com/v1/webhooks" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "X-Namespace: $NAMESPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook_name": "batch-notify",
    "url": "https://example.com/webhook",
    "events": ["batch.completed", "batch.failed"]
  }'
Webhook API →

Manifests

Declare your entire namespace configuration as code — buckets, collections, retrievers, taxonomies — and apply it in one request:
# Export current state
curl "https://api.mixpeek.com/v1/manifest/export" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "X-Namespace: $NAMESPACE_ID"

# Apply a manifest
curl -X POST "https://api.mixpeek.com/v1/manifest/apply" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "X-Namespace: $NAMESPACE_ID" \
  -H "Content-Type: application/json" \
  -d @manifest.json
Use POST /v1/manifest/diff to preview changes before applying. Manifest API →

Storage Tiering

Documents automatically tier across storage levels based on access patterns:
TierBackendUse case
HotQdrant (in-memory)Frequently queried data
WarmS3 VectorsOccasional queries, lower cost
ColdS3 rawArchival, rare access
ArchiveMetadata-only lineageCompliance retention
The same feature URI resolves across all tiers — no application code changes needed.

Environment Branching

Clone namespaces to create isolated environments for testing:
curl -X POST "https://api.mixpeek.com/v1/namespaces/$NS_ID/clone" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "namespace_name": "staging-branch" }'
Branched namespaces share no state with the source — safe for experimentation. Clone API →