Namespace Clone

Clone Namespace

Clone a namespace with all its data.

**What gets cloned:**
- Namespace configuration (extractors, payload indexes)
- Buckets (metadata, references same S3 files)
- Collections (full copy of all vectors/embeddings)
- Retrievers (pipeline configuration)

**Use Cases:**
- Create staging environment from production
- Backup namespace with all data
- Fork namespace for experimentation

**For config-only copy (no data), use templates instead:**
- POST /templates/namespaces/from-namespace/{id}
- POST /templates/namespaces/{template_id}/instantiate
post/v1/namespaces/{namespace_identifier}/clone

Path parameters

namespace_identifierstring required

Source namespace ID or name to clone from

Source namespace ID or name to clone from

Request body

namespace_namestring required

Name for the cloned namespace (must be unique)

descriptionstring nullable

Override description. If omitted, copies from source.

source_organization_idstring nullable

Source org ID for cross-org cloning (admin only).

Example request

{
  "description": "Staging clone with all data",
  "namespace_name": "production_staging"
}

Response

Successful Response

source_namespace_idstring required

Source namespace that was cloned

statusstring

Clone status: 'cloning', 'ready', or 'failed'

task_idstring nullable

Task ID for tracking clone progress

primary_retriever_idstring nullable

Pre-allocated retriever ID for the primary cloned retriever. Present immediately so callers can navigate to the retriever detail page while the background task hydrates the rest of the data. None if source namespace has no retrievers.

Example response

{
  "namespace": {
    "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"
      }
    ]
  }
}

Changes

Changed in 4 of the 28 revisions of this API.7

    • added the optional property namespace/clone_dispatched_at to the response with the 200 status

      response-optional-property-added

    • added the optional property namespace/clone_phase to the response with the 200 status

      response-optional-property-added

    • added the optional property namespace/clone_task_id to the response with the 200 status

      response-optional-property-added

    • the endpoint scheme security BearerAuth was added to the API

      api-security-added

    This revision also has 3 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the optional property namespace/namespace_ready to the response with the 200 status

      response-optional-property-added

    • added the optional property namespace/dynamic_vector_indexes to the response with the 200 status

      response-optional-property-added

    • added the optional property namespace/payload_index_count to the response with the 200 status

      response-optional-property-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog