Collections

Clone Collection

Changed on

Clone a collection with optional modifications.

**Purpose:**
Creates a NEW collection (with new ID) based on an existing one. This is the
recommended way to iterate on collection designs when you need to modify core
configuration that PATCH doesn't allow (source, feature_extractor, field_passthrough).

**Clone vs PATCH vs Template:**
- **PATCH**: Update settings in place (enabled, metadata, schedule, taxonomy_applications, tiering and the other mutable fields)
- **Clone**: Copy and modify core configuration (source, feature_extractor). Everything you do not override is copied, including a retriever_transform, schedule, alert and cluster applications, and tiering
- **Template**: Start from a pre-configured pattern (for new projects)

**Common Use Cases:**
- Change feature extractor configuration (model, parameters)
- Modify field_passthrough to include/exclude fields
- Switch to different source (bucket or collection)
- Test modifications before replacing production collection
- Create variants (e.g., different embedding models)

**How it works:**
1. Source collection is copied
2. You provide a new name (REQUIRED)
3. Optionally override any other fields
4. A new collection is created with a new ID
5. Original collection remains unchanged
post/v1/collections/{collection_identifier}/clone

Request

  • Base URL: https://api.mixpeek.com
  • URL: https://api.mixpeek.com/v1/collections/{collection_identifier}/clone
  • Auth: HTTP bearer and API key in header X-Namespace

Path parameters

collection_identifierstring required

Source collection ID or name to clone.

Request body

collection_namestring required

REQUIRED. Name for the cloned collection. Must be unique and different from the source collection.

descriptionstring nullable

OPTIONAL. Description override. If omitted, copies from source collection.

enabledboolean nullable

OPTIONAL. Override enabled status. If omitted, copies from source collection.

metadataobject nullable

OPTIONAL. Override metadata. If omitted, copies from source collection.

Example request

{
  "collection_name": "product_embeddings_backup",
  "example_desc": "Clone with just a new name (exact copy)"
}

Response

Successful Response

source_collection_idstring required

ID of the source collection that was cloned.

Example response

{
  "collection": {
    "collection_id": "col_a1b2c3d4e5",
    "collection_name": "article_embeddings",
    "description": "Simple text collection: News articles with text embeddings from bucket source",
    "enabled": true,
    "feature_extractor": {
      "feature_extractor_name": "text_extractor",
      "field_passthrough": [
        {
          "source_path": "title"
        }
      ],
      "input_mappings": {
        "text": "content"
      },
      "version": "v1"
    },
    "input_schema": {
      "properties": {
        "title": {
          "type": "string"
        },
        "content": {
          "type": "text"
        }
      }
    },
    "output_schema": {
      "properties": {
        "title": {
          "type": "string"
        },
        "text_extractor_v1_embedding": {
          "type": "array"
        }
      }
    },
    "source": {
      "bucket_id": "bkt_articles",
      "type": "bucket"
    }
  }
}

Changes

    • warning

      added the new markdown enum value to the //// response property for the response status

    • warning

      added the new markdown enum value to the //// response property for the response status

    • warning

      added the new markdown enum value to the ////// response property for the response status

    • warning

      added the new markdown enum value to the ////// response property for the response status

    • info

      added the new optional request property /////

    • info

      added the new markdown enum value to the request property ////

    • info

      added the new markdown enum value to the request property ////

    • 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