Skip to main content
PATCH
Patch 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

Retriever ID or name.

Body

application/json

Request to update a retriever's metadata.

IMPORTANT: Partial Updates with Controlled Mutability

This endpoint allows updating ONLY metadata fields. Core retriever logic is immutable to ensure consistency for dependent resources (taxonomies, cached results, etc.).

✅ Fields You CAN Update (Metadata Only):

  • retriever_name: Rename the retriever
  • description: Update documentation
  • tags: Update organization tags
  • display_config: Update display configuration for publishing

✅ Fields You CAN Also Update (With Re-validation):

  • collection_identifiers: Target collections (re-validates feature URIs in stages)

✅ Fields You CAN Update on UNPUBLISHED retrievers (With Re-validation):

  • stages: Retriever stages/configs (BACKE-1287). Edit a filter/operator/rerank in place instead of clone+repoint+delete. Re-validated as on create; a PUBLISHED retriever's stages stay immutable (clone/unpublish to change).

❌ Fields You CANNOT Update (Immutable Core Logic):

  • input_schema: Input field definitions (breaks dependent taxonomies)
  • budget_limits: Budget constraints (affects execution behavior)

Need to Modify Core Logic? Use POST /retrievers/{retriever_id}/clone instead. Cloning creates a new retriever with a new ID, allowing you to:

  • Fix typos in stage names
  • Add or remove stages
  • Change target collections
  • Modify input schema or budget limits

Behavior:

  • All fields are OPTIONAL - provide only what you want to update
  • Version number automatically increments on each update
  • Empty updates (no fields provided) will be rejected with 400 error
  • Original retriever remains unchanged (no destructive operations)

Why This Design?

  • Taxonomies reference retrievers by ID and expect consistent behavior
  • Cached results remain valid after metadata-only changes
  • Version tracking enables auditing and rollback
  • Published retrievers maintain stable behavior for consumers
retriever_name
string | null

Updated retriever name. OPTIONAL - only provide if you want to rename the retriever.

Minimum string length: 1
Example:

"product_search_v2"

description
string | null

Updated human-readable description. OPTIONAL - only provide if you want to update the description.

Example:

"Enhanced version with better caching"

visibility
enum<string> | null

Updated visibility level. OPTIONAL - only provide if you want to change the visibility.

Available options:
private,
public,
marketplace
marketplace_listing_id
string | null

Updated marketplace listing ID. OPTIONAL - only provide if you want to update the marketplace listing.

requires_subscription
boolean | null

Updated subscription requirement. OPTIONAL - only provide if you want to change the subscription requirement.

tags
string[] | null

Updated tags for organization and filtering. OPTIONAL - replaces existing tags if provided.

Example:
metadata
Metadata · object | null

Updated custom key-value metadata. OPTIONAL - replaces existing metadata if provided.

Example:
display_config
DisplayConfig · object | null

Updated display configuration for public retriever UI rendering. OPTIONAL - only provide if you want to update the display settings. Defines how the search interface should appear when published.

Example:
collection_identifiers
string[] | null

Updated target collection IDs or names. OPTIONAL - provide to re-point the retriever at different collections. Feature URIs in stages will be re-validated against the new collections.

Example:
stages
StageConfig · object[] | null

BACKE-1287: edit the retriever's stages IN PLACE (change a filter, operator, rerank params, etc.) without a clone+repoint+delete. OPTIONAL. The full stage list is REPLACED and re-validated exactly as on create (feature URIs resolved against the retriever's collections). Only allowed on UNPUBLISHED retrievers — a published retriever's stages stay immutable for consumer stability; clone or unpublish to change it.

Response

Successful Response

Response after updating a retriever.

retriever
RetrieverConfig · object
required

Updated retriever configuration.

Example: