Namespace Clone

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 a config-only copy (no data):** export the namespace with
POST /v1/manifest/export and apply the manifest with POST /v1/manifest/apply.
post/v1/namespaces/{namespace_identifier}/clone

Request

  • Base URL: https://api.mixpeek.com
  • URL: https://api.mixpeek.com/v1/namespaces/{namespace_identifier}/clone
  • Auth: HTTP bearer

Path parameters

namespace_identifierstring required

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).

mode'copy' | 'branch'

'copy' writes every vector into the new namespace. 'branch' will make a copy-on-write fork that shares the source's storage until either side writes; it is not available yet and is refused, naming what it waits on.

ttl_secondsinteger nullable

Time-to-live in seconds for the new namespace, as on namespace create: it is deleted automatically after this duration. Omit for no expiry.

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,
      "description": "Shared development namespace",
      "max_concurrent_jobs": 10
    },
    "trusted_issuers": [
      {
        "jwks": {
          "keys": [
            {
              "alg": "ES256",
              "crv": "P-256",
              "kid": "key-1",
              "kty": "EC",
              "x": "<base64url>",
              "y": "<base64url>"
            }
          ]
        },
        "claim_filters": [
          {
            "claim": "brands",
            "field": "brand_id"
          }
        ],
        "group_claims": [
          {
            "claim": "app_metadata.brands",
            "prefix": "brand:"
          }
        ],
        "admin_claim": {
          "claim": "app_metadata.internal",
          "values": [
            "true"
          ]
        }
      }
    ],
    "cost_cap_override": {
      "daily_usd": 250,
      "reason": "Nightly re-index of the full catalog, about $180/day, approved by finance",
      "owner": "data-platform@example.com"
    },
    "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

    • breaking

      the response property //// became optional for the status

    • breaking

      response property namespace/trusted_issuers/anyOf[subschema #1]/items/jwks_url list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      the //// response property's minLength was decreased from 1 to 0 for the response status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property / to the response with the status