Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Promotion converts a standalone namespace to managed mode. Existing vectors and documents stay in place. Mixpeek adds auto-embedding for queries and collection-driven processing for new content.
Promotion flow — standalone namespace with vectors becomes managed with inference mappings, no reindexing

Promote

Map existing vector indexes to inference services and optionally add new ones.
requests.post(f"{BASE}/namespaces/product-search/promote", headers=headers, json={
    "vector_mappings": [
        {"existing_index": "text_embedding", "inference_service": "openai_text_3_small"}
    ],
    "add_vectors": [
        {"name": "image_embedding", "dimension": 512, "metric": "cosine", "inference_service": "clip_vit_b32"}
    ]
})

Parameters

vector_mappings
array
Map existing indexes to inference services for auto-embedding queries.
FieldDescription
existing_indexName of an existing vector index
inference_serviceModel to auto-embed queries (e.g., openai_text_3_small)
add_vectors
array
New vector indexes to create during promotion.
FieldDescription
nameNew index name (must not conflict with existing)
dimensionEmbedding dimension
metriccosine, dot, or euclidean
inference_serviceModel for auto-embedding (optional)

Response

{
  "namespace_id": "product-search",
  "previous_mode": "standalone",
  "mode": "managed",
  "status": "active",
  "vector_configs": [
    {"name": "text_embedding", "dimension": 1536, "metric": "cosine"},
    {"name": "image_embedding", "dimension": 512, "metric": "cosine"}
  ],
  "vector_inference_map": {
    "text_embedding": "openai_text_3_small",
    "image_embedding": "clip_vit_b32"
  }
}

What Changes

Before (standalone)After (managed)
Search inputMust provide pre-computed vectorsAlso accepts raw text/URLs — auto-embedded
New contentDirect upsert onlyCollections + extractors auto-process
Existing dataPreserved, no reindexing
Direct upsertStill works alongside collections

Rules

Promotion is one-way. Managed namespaces cannot be demoted.
  • Only standalone namespaces can be promoted
  • existing_index must reference an index that exists — errors list available indexes
  • name in add_vectors must not conflict with existing indexes
  • Promotion is atomic — if validation fails, nothing changes
  • Both vector_mappings and add_vectors are optional (promote with just one or neither)

Full Workflow

1

Start standalone

Create a namespace and upsert your existing embeddings.
curl -X POST "https://api.mixpeek.com/v1/namespaces/standalone" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"namespace_id": "legal-docs", "mode": "standalone", "vector_configs": [{"name": "text_embedding", "dimension": 1536, "metric": "cosine"}]}'
2

Load and validate

Upsert documents and verify search quality before promoting.
# Upsert
curl -X POST "https://api.mixpeek.com/v1/namespaces/legal-docs/documents/direct" ...

# Search to validate
curl -X POST "https://api.mixpeek.com/v1/search" \
  -d '{"namespace_id": "legal-docs", "queries": [{"vector_name": "text_embedding", "vector": [...], "top_k": 5}]}'
3

Promote

Map your embedding to the matching inference service.
curl -X POST "https://api.mixpeek.com/v1/namespaces/legal-docs/promote" \
  -H "Authorization: Bearer $MIXPEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vector_mappings": [{"existing_index": "text_embedding", "inference_service": "openai_text_3_small"}]}'
4

Use managed features

Create collections with extractors for new content. Existing documents coexist with extractor-processed documents. Queries can now send raw text instead of vectors.