Skip to main content
PATCH
Partially Update Cluster

Authorizations

Authorization
string
header
required

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

Path Parameters

cluster_identifier
string
required

Cluster ID or name

Body

application/json

Request model for partially updating a cluster (PATCH operation).

cluster_name
string | null

Updated name for the cluster

description
string | null

Updated description for the cluster

metadata
Metadata · object | null

Updated metadata for the cluster

llm_labeling
LLMLabeling · object | null

Updated LLM labeling configuration. Takes effect on the next POST /v1/clusters/{id}/execute — use this to correct a null labeling_inputs mapping that produced schema-metadata labels, without re-embedding or re-running HDBSCAN.

Example:
filters
Filters · object | null

Updated pre-filter for clustering input documents. Overrides the cluster's stored filter on subsequent execute calls.

face_cluster_merge
FaceClusterMergeConfig · object | null

Updated post-HDBSCAN face-identity merge configuration. Takes effect on the next POST /v1/clusters/{id}/execute. Pass an object with enabled=false to turn the merge pass off without removing the config; pass null in the patch to leave the stored value untouched.

sample_size
integer | null

Updated per-execution document cap. Takes effect on the next POST /v1/clusters/{id}/execute. Omit to leave the stored value untouched; set to an integer to change it. KMeans supports up to 1M; O(N²) algorithms are capped at 100K by the engine.

Required range: x <= 1000000
algorithm_params
Algorithm Params · object | null

Updated algorithm parameters (e.g. min_cluster_size, min_samples for HDBSCAN). Takes effect on the next POST /v1/clusters/{id}/execute.

layout_stability
enum<string> | null

Updated layout-stability mode (LS-5): 'align' keeps the map stable across runs (default behavior), 'transform' reuses the previous run's saved projection when compatible, 'none' re-layouts every run. Takes effect on the next POST /v1/clusters/{id}/execute. Omit to leave the stored value untouched.

Available options:
none,
transform,
align

Response

Successful Response

Cluster metadata stored in MongoDB.

collection_ids
string[] | null

Collections to cluster together

Minimum array length: 1
cluster_name
string | null

Optional human-friendly name for the clustering job

cluster_type
enum<string>
default:vector

Vector or attribute clustering

Available options:
vector,
attribute
vector_config
VectorBasedConfig · object | null

Required when cluster_type is 'vector'

Example:
attribute_config
AttributeBasedConfig · object | null

Required when cluster_type is 'attribute'

Example:
filters
LogicalOperator · object | null

Optional filters to pre-filter documents before clustering (same format as list documents). Applied during Qdrant scroll before parquet export. Useful for clustering subsets like: status='active', category='electronics', etc.

llm_labeling
LLMLabeling · object | null

Optional configuration for LLM-based cluster labeling. When provided with enabled=True, clusters will have semantic labels generated by LLM instead of generic labels like 'Cluster 0'. When not provided or enabled=False, uses fallback labels.

Example:
enrich_source_collection
boolean
default:false

If True, cluster results are written back to source collection(s) in-place instead of creating new output collections. Documents will be enriched with cluster_id, cluster_label, distance_to_centroid, and optionally other metadata. Similar to taxonomy enrichment pattern.

source_enrichment_config
SourceEnrichmentConfig · object | null

Configuration for source collection enrichment (only used if enrich_source_collection=True). Controls which fields are added to source documents and field naming conventions.

Example:
auto_execute_on_batch
boolean
default:false

Automatically execute this cluster whenever a batch completes on any of its input collections. When True, a ClusterApplicationConfig entry is added to each input collection's cluster_applications field at creation time. The cluster will then auto-trigger after each batch completion (subject to cooldown and document threshold). When False (default), the cluster must be executed manually via the API.

auto_execute_min_documents
integer | null

Minimum number of documents required before auto-executing cluster. Only used when auto_execute_on_batch=True. If the collection has fewer documents than this threshold, clustering is skipped.

auto_execute_cooldown_seconds
integer
default:3600

Minimum time (in seconds) between automatic cluster executions. Only used when auto_execute_on_batch=True. Default: 3600 (1 hour).

cluster_id
string

Unique cluster identifier

parquet_path
string | null

S3 path to parquet files with cluster data

members_key
string | null

S3 key to members.parquet (if saved)

num_clusters
integer | null

Number of clusters found

cluster_stats
ClusterStats · object | null

Clustering quality metrics

status
enum<string>
default:PENDING

Clustering job status

Available options:
PENDING,
QUEUED,
IN_PROGRESS,
PROCESSING,
COMPLETED,
COMPLETED_WITH_ERRORS,
FAILED,
CANCELED,
INTERRUPTED,
UNKNOWN,
SKIPPED,
DRAFT,
ACTIVE,
ARCHIVED,
SUSPENDED
task_id
string | null

Associated task ID for clustering job

last_run_id
string | null

Run ID of the most recent successful clustering execution. Used to retrieve execution results.

created_at
string<date-time>

When the cluster was created

updated_at
string<date-time>

When the cluster was last updated

metadata
Metadata · object

Additional user-defined metadata for the cluster