The six objects, in one sentence each
If you remember nothing else, remember these:
The flow: you put objects in a bucket, a collection extracts the features you picked to produce searchable documents, and a retriever queries those documents — all inside a namespace.
Entities & Relationships
The full resource model, including the operational and enrichment layers:Dual-ID Multi-Tenancy
Mixpeek separates authentication from authorization by using two IDs per organization:organization_id– Short, user-facing identifier returned in API responsesinternal_id– 24-character key used inside services, task payloads, and database documents
X-Namespace unless your organization has a single shared namespace. Enforced rules:
- All MongoDB collections index on
namespace_id - Each namespace maps to a dedicated MVS namespace (
ns_<namespace_id>) - Redis keys and Ray jobs include namespace prefixes
- Cross-namespace queries are not permitted by design
Object → Document Lineage
Ingestion separates raw objects from processed documents so you can run multiple extraction tiers without duplicating data. Every document tracks:- Tier 0 – Raw object in the bucket
- Tier N – Document produced by another collection (
source_type = "collection") - The
lineage_pathis a denormalized materialized path for fast queries - Collections respect dependency tiers during extraction so downstream collections only execute when inputs are ready
Feature URIs
Every feature a collection produces is addressed with a version-pinned URI that references the internal pipeline that produced it:mixpeek://text_extractor@v1/multilingual_e5_large_instruct_v1mixpeek://image_extractor@v1/google_siglip_base_v1mixpeek://multimodal_extractor@v1/vertex_multimodal_embedding
GET /v1/collections/{collection_id}/features. Feature URIs are referenced by retriever stages (feature_uri), taxonomies, clustering jobs, and analytics. They guarantee query-time model compatibility with the ingestion pipeline.
TaskStatusEnum Standard
All asynchronous operations—batches, clustering jobs, taxonomy materialization, namespace migrations—report status using the sharedTaskStatusEnum:
COMPLETED, COMPLETED_WITH_ERRORS, FAILED, and CANCELED — poll until any of these (see Tasks). Additional lifecycle values include IN_PROGRESS, SKIPPED, UNKNOWN, DRAFT, ACTIVE, ARCHIVED, and SUSPENDED. Use the Tasks API for short-term polling and fall back to the resource (e.g., batch or cluster) for long-running workflows.
Caching Signatures
Mixpeek uses deterministic signatures to avoid stale results:- Collection index signatures hash document count, vector dimensions, and schema state
- Retriever caches incorporate the collection signature to invalidate automatically
- Stage-level caches speed up pipelines that reuse expensive stages (KNN → rerank)
- Inference cache shortcuts repeated embedding requests for identical inputs
Putting It Together
- Documents retain lineage to the original object (
root_object_id) - Enrichment layers (taxonomies, clustering) augment documents in place
- Retrievers run on namespace-scoped data, returning results with presigned URLs, metrics, and cache hints

