Skip to main content
POST
Clone Retriever

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

retriever_id
string
required

Source retriever ID or name to clone.

Body

application/json

Request to clone a retriever with optional modifications.

Purpose: Cloning creates a NEW retriever (with new ID) based on an existing one, allowing you to make changes that aren't allowed via PATCH (stages, input_schema, collections). This is the recommended way to iterate on retriever designs.

Clone vs Template vs Version:

  • Clone: Copy THIS retriever and modify it (for iteration/fixes)
  • Template: Create retriever from a reusable pattern (for new projects)
  • Version: (Not implemented) - Use clone instead

Use Cases:

  • Fix a typo in a stage name without losing execution history
  • Add/remove stages while keeping the original intact
  • Change collections while preserving the original retriever
  • Test modifications before replacing production retriever
  • Create variants (e.g., "strict" vs "relaxed" versions)

All fields are OPTIONAL:

  • Omit a field to keep the original value
  • Provide a field to override the original value
  • retriever_name is REQUIRED (clones must have unique names)
retriever_name
string
required

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

Minimum string length: 1
Examples:

"product_search_v2"

"semantic_search_strict"

description
string | null

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

Example:

"Cloned from product_search with stricter filters"

collection_identifiers
string[] | null

OPTIONAL. Override target collections. If omitted, copies from source retriever. This allows you to apply the same retriever logic to different collections. Also accepts 'collection_ids' as an alias.

Example:
stages
StageConfig · object[] | null

OPTIONAL. Override stage configurations. If omitted, copies from source retriever. This is where you'd fix typos, add stages, or tweak parameters.

input_schema
Input Schema · object | null

OPTIONAL. Override input schema. If omitted, copies from source retriever.

budget_limits
BudgetLimits · object | null

OPTIONAL. Override budget limits. If omitted, copies from source retriever.

Example:
tags
string[] | null

OPTIONAL. Override tags. If omitted, copies from source retriever.

Example:
display_config
DisplayConfig · object | null

OPTIONAL. Override display configuration. If omitted, copies from source retriever.

Example:

Response

Successful Response

Response after cloning a retriever.

retriever
RetrieverConfig · object
required

Cloned retriever configuration with new retriever_id.

Example:
source_retriever_id
string
required

ID of the source retriever that was cloned.