v5

latestOpenAPI 3.1.02026-08-025631,1012.8 MB
Namespaces

Partially Update Namespace

Partially updates an existing namespace (PATCH operation)

patch/v1/namespaces/{namespace_identifier}

Path parameters

namespace_identifierstring required

Either the namespace name or namespace ID

Example:my_namespace

Either the namespace name or namespace ID

Request body

namespace_namestring nullable

Updated name for the namespace

descriptionstring nullable

Updated description for the namespace

auto_create_indexesboolean nullable

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. Default: False.

repair_vectorsboolean nullable

When True, verify all registered feature extractors have their corresponding vector indexes in the vector store and add any missing ones. Use this to fix namespaces where vector schema is out of sync with registered extractors.

Example request

{
  "namespace_name": "product-search",
  "payload_indexes": [
    {
      "description": "User-created text index for full-text search",
      "field_name": "metadata.description",
      "is_protected": false,
      "type": "text"
    }
  ],
  "auto_create_indexes": true,
  "infrastructure": {
    "autoscaling_enabled": false,
    "compute_tier": "shared",
    "description": "Shared development namespace",
    "max_concurrent_jobs": 10,
    "qdrant_collection": "ns_dev",
    "ray_head_node_url": "ray://shared-cluster:10001"
  }
}

Response

Successful Response

objectstring

Resource type identifier, always 'namespace'.

namespace_idstring

Unique identifier for the namespace. Format: ns_<random>.

namespace_namestring required

Name of the namespace

namespace_type'standard' | 'marketplace'

Type of namespace defining its access control and billing model.

scope'org' | 'system'

Ownership scope for a namespace.

ORG: owned by a single organization (default). Internal_id-scoped. SYSTEM: owned by Mixpeek, visible read-only to every authenticated user. Used for curated sample corpora that power the onboarding experience. Mutations require MIXPEEK_PRIVATE_TOKEN admin auth.

cluster_idstring nullable

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

descriptionstring nullable

Description of the namespace

payload_index_countinteger nullable

Number of USER (non-protected) payload indexes on this namespace — the same count the Studio Namespaces table shows per row. Populated even in the summary LIST view, which omits the heavy payload_indexes array itself (MS-833: the array is ~75% of the list payload, but its count is a single integer). Without it the table can only show '—'.

document_countinteger nullable

Total number of documents in this namespace

bucket_countinteger nullable

Total number of buckets in this namespace

collection_countinteger nullable

Total number of collections in this namespace

object_countinteger nullable

Total number of objects across all buckets in this namespace

auto_create_indexesboolean

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_mapobject nullable

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_indexesboolean nullable

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.

modestring nullable

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_configsobject[] nullable

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_statusobject nullable

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_statusstring nullable

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_errorstring nullable

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

source_namespace_idstring nullable

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

namespace_readyboolean

ALWAYS PRESENT (BACKE-3008). True only after the server CONFIRMED this namespace is usable: its vector collection exists and is reachable (a served live count, the MI-2947 readiness signal) and no clone is in flight. Never a prediction or timestamp. A wizard-created namespace mid-provision reads false (poll the namespace GET; it flips true on the first confirming read and the flip is persisted). Namespaces created before the feature shipped emit true; post-ship namespaces with no stored value emit false (fail toward not-ready).

created_atstring date-time nullable

When the namespace was created

updated_atstring date-time nullable

When the namespace was last updated

expires_atstring date-time nullable

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.

Example response

{
  "namespace_name": "product-search",
  "infrastructure": {
    "autoscaling_enabled": false,
    "compute_tier": "shared",
    "description": "Shared development namespace",
    "max_concurrent_jobs": 10,
    "qdrant_collection": "ns_dev",
    "ray_head_node_url": "ray://shared-cluster:10001"
  },
  "cluster_id": "iclstr_abc123xyz",
  "payload_indexes": [
    {
      "description": "User-created text index for full-text search",
      "field_name": "metadata.description",
      "is_protected": false,
      "type": "text"
    }
  ]
}