Collections

Clone Collection

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 metadata only (enabled, metadata, taxonomy_applications)
- **Clone**: Copy and modify core configuration (source, feature_extractor)
- **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

Path parameters

collection_identifierstring required

Source collection ID or name to clone.

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

Changed in 6 of the 34 revisions of this API.23832

  • 7dc0581791b225See the full diff
    • response property collection/feature_extractor/parameters/anyOf[subschema #6: MultimodalExtractorParams]/transcription_language list-of-types was widened by adding types null to media type application/json of response 201

      response-property-list-of-types-widened

    • response property collection/source_lineage/items/feature_extractor/parameters/anyOf[subschema #6: MultimodalExtractorParams]/transcription_language list-of-types was widened by adding types null to media type application/json of response 201

      response-property-list-of-types-widened

    • the request property default value en was removed

      request-property-default-value-removed

    • request property //// list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

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

      response-optional-property-added

    • the response's property default value en was removed for the status

      response-property-default-value-removed

    • the response's property default value en was removed for the status

      response-property-default-value-removed

    • added to the // request property anyOf list

      request-property-any-of-added

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

      response-optional-property-added

    • added to the // response property anyOf list for the response status

      response-property-any-of-added

    • added to the //// response property anyOf list for the response status

      response-property-any-of-added

    • added the new optional request property //

      new-optional-request-property

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

      response-optional-property-added

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

      response-optional-property-added

  • 1c7f3182142421See the full diff
    • added the new signals enum value to the // response property for the response status

      response-property-enum-value-added

    • added the new signals enum value to the //// response property for the response status

      response-property-enum-value-added

    • added the new signals enum value to the request property //

      request-property-enum-value-added

    • the endpoint scheme security BearerAuth AND NamespaceHeader 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

  • 7cb0515333113618See the full diff
    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_polygon enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the //////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_radius enum value to the ////////// response property for the response status

      response-property-enum-value-added

    • added the new geo_bounding_box enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_bounding_box enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_bounding_box enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_bounding_box enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_bounding_box enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_bounding_box enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_polygon enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_polygon enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_polygon enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_polygon enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_polygon enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_polygon enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_radius enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_radius enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_radius enum value to the request property //////////

      request-property-enum-value-added

    • added the new geo_radius enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_radius enum value to the request property /////////

      request-property-enum-value-added

    • added the new geo_radius enum value to the request property /////////

      request-property-enum-value-added

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