Skip to main content
POST
Create Namespace

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request schema for creating a new namespace.

namespace_name
string
required

Name of the namespace to create

Required string length: 3 - 64
Example:

"product-search"

namespace_id
string | null

Optional namespace ID override. Used for recovery/migration when recreating a namespace with a known ID. If not provided, a new ID is auto-generated.

mode
string | null
default:managed

Namespace mode. 'managed' (default) uses Mixpeek feature extractors. 'standalone' allows BYO vectors without extractors. If omitted and ONLY vector_configs is provided (no features/feature_extractors), standalone is inferred.

namespace_type
enum<string> | null
default:standard

Type of namespace. STANDARD for regular namespaces, MARKETPLACE for curated datasets.

Available options:
standard,
marketplace
scope
enum<string> | null
default:org

Ownership scope. ORG (default) creates an org-scoped namespace. SYSTEM requires Mixpeek admin privileges and creates a namespace visible read-only to every org — used for curated sample corpora.

Available options:
org,
system
description
string | null

Description of the namespace

Example:

"This namespace contains playlists from Spotify"

features
string[] | null

Modality+features config (contract v2 §6.2, D9): feature keys from GET /v1/collections/features (e.g. ['image_search', 'faces'] or ['custom:']). Resolved server-side to the UNION of feature extractors the namespace needs — the preferred alternative to feature_extractors (extractor names are internal implementation). A namespace hosts many collections, so multiple features spanning multiple extractors are fine here. May be combined with feature_extractors (the two merge as a union). If neither is provided, the namespace gets the standard baseline (same as the scaffolded default namespace). Managed mode only.

Example:
feature_extractors
BaseFeatureExtractorModel · object[] | null

List of feature extractors to configure for this namespace. DEPRECATED for direct use: prefer features: [...] (contract v2 §6.2, D9) — extractor names are internal implementation. Not used for standalone mode. If neither features nor feature_extractors is provided, the namespace defaults to the standard baseline. Each extractor requires 'feature_extractor_name' and 'version'. Optional 'params' can be specified for extractors with configurable settings (e.g., model selection) that affect vector dimensions. These params are locked at namespace creation time. Example: [{"feature_extractor_name": "multimodal_extractor", "version": "v1"}]

Example:
vector_configs
VectorConfigSpec · object[] | null

Optional vector index configurations for standalone mode. Each entry defines a named vector index with dimension and distance metric. If omitted, indexes are auto-created on first upsert (schema-on-write).

Example:
payload_indexes
PayloadIndexConfig · object[] | null

Optional list of custom payload index configurations. Indexes required by selected feature extractors will be added automatically.

Example:
auto_create_indexes
boolean | null

Enable automatic creation of Qdrant payload indexes based on filter usage patterns. When enabled, the system tracks which fields are most frequently filtered (>100 queries/24h) and automatically creates indexes to improve query performance. Background task runs every 6 hours. Expected performance improvement: 50-90% latency reduction for filtered queries. Defaults: managed namespaces off, standalone namespaces on. Set explicitly to false to opt out (including for standalone, so an agent can manage indexes itself).

Example:

true

ttl_seconds
integer | null

Time-to-live in seconds. Namespace will be auto-deleted after this duration.

Required range: x >= 60
infrastructure
NamespaceInfrastructure · object | null

Optional dedicated infrastructure configuration for this namespace. Required for custom plugins and custom models (Enterprise tier). If None, uses shared infrastructure or organization-level infrastructure.

Example:

Response

Successful Response

Namespace model.

namespace_name
string
required

Name of the namespace

Maximum string length: 64
Example:

"product-search"

object
string
default:namespace
read-only

Resource type identifier, always 'namespace'.

namespace_id
string

Unique identifier for the namespace. Format: ns_.

namespace_type
enum<string>
default:standard

Type of namespace. STANDARD for regular namespaces, MARKETPLACE for curated datasets that can be subscribed to.

Available options:
standard,
marketplace
scope
enum<string>
default:org

Ownership scope. ORG (default) is org-scoped — only visible to members of the owning organization. SYSTEM is Mixpeek-owned and visible read-only to every authenticated org; used for curated sample corpora. Mutations on SYSTEM namespaces require admin auth.

Available options:
org,
system
infrastructure
NamespaceInfrastructure · object | null

Infrastructure configuration for the namespace.

Example:
cluster_id
string | null

Infrastructure cluster ID for this namespace (Enterprise only). When set, this namespace uses a dedicated compute and vector cluster. If None, uses shared infrastructure or organization-level infrastructure. Format: iclstr_xxx

Example:

"iclstr_abc123xyz"

description
string | null

Description of the namespace

feature_extractors
BaseFeatureExtractorModel · object[]

List of feature extractors configured for this namespace

payload_indexes
PayloadIndexConfig · object[] | null

Custom payload indexes configured for this namespace

document_count
integer | null

Total number of documents in this namespace

bucket_count
integer | null

Total number of buckets in this namespace

collection_count
integer | null

Total number of collections in this namespace

object_count
integer | null

Total number of objects across all buckets in this namespace

auto_create_indexes
boolean
default:false

Enable automatic creation of Qdrant payload indexes based on filter usage patterns. When enabled, the system tracks which fields are most frequently filtered (>100 queries/24h) and automatically creates indexes to improve query performance. Background task runs every 6 hours. Expected performance improvement: 50-90% latency reduction for filtered queries.

vector_inference_map
Vector Inference Map · object | null

Mapping of vector index names to inference service names. Built at namespace creation based on extractor configurations. Used by feature search to determine correct inference service for queries. Example: {'image_extractor_v1_embedding': 'google_siglip_base_v1'}

dynamic_vector_indexes
boolean | null

Creation-time marker for BYO vector-name handling (SP-263). False = the namespace was created with EXPLICIT vector_configs, so upserting a vector name outside those configs is rejected (422) instead of silently auto-indexed under a name nothing searches. True = fully dynamic BYO namespace (created without vector_configs): new vector names keep being inferred on first upsert. Null (namespaces that predate the marker) behaves as True so existing flows are unchanged.

mode
string | null

Namespace mode: 'managed' (Mixpeek manages vector schemas and inference) or 'standalone' (bring-your-own vectors). Populated from the stored mvs_mode; null for namespaces that predate BYOV.

vector_configs
Vector Configs · object[] | null

For standalone / promoted (BYO-vector) namespaces, the per-vector configs: name, dimension, metric. Populated from the stored mvs_vector_configs; null for managed namespaces with no BYO vectors.

qdrant_status
Qdrant Status · object | null

Live vector collection status. Populated when retrieving a namespace. Includes: status (green/yellow/red), points_count, indexed_vectors_count, segments_count. None if vector collection does not exist or is unreachable.

clone_status
string | null

Deep-clone / scaffold sample-data progress: 'cloning' (in flight), 'ready' (completed), 'failed' (see clone_error). Null for namespaces that were never cloned. Poll this after a scaffold instantiate with include_sample_data=true.

clone_error
string | null

Error detail when clone_status='failed'; null otherwise.

source_namespace_id
string | null

For a cloned namespace, the source (golden/sample) namespace id it was cloned from.

created_at
string<date-time> | null

When the namespace was created

updated_at
string<date-time> | null

When the namespace was last updated

expires_at
string<date-time> | null

UTC timestamp after which the namespace is auto-deleted by the hourly cleanup_expired_namespaces reaper. Computed at create time from CreateNamespaceRequest.ttl_seconds; null means the namespace never expires.