---
title: "Get Cluster Trigger"
method: GET
path: "/v1/clusters/triggers/{trigger_id}"
tags: ["Cluster Triggers"]
---

# Get Cluster Trigger

`GET /v1/clusters/triggers/{trigger_id}`

Get a cluster trigger by ID.

## Path parameters

- `trigger_id` string, required — Trigger ID

## Response `200`

Successful Response

- SharedClustersTriggersModelsTriggerModel — Model for cluster trigger.
  - `trigger_id` string — Unique trigger ID
  - `cluster_id` string, nullable — Optional link to cluster definition
  - `namespace_id` string, required — Namespace ID
  - `internal_id` string, required — Organization internal ID
  - `execution_config` TriggerExecutionConfig, required — Configuration for cluster execution when trigger fires. Defines what clustering algorithm and parameters to use when the trigger executes. Examples: K-means clustering on 3 collections: { "collection_ids": ["col_abc123", "col_def456", "col_ghi789"], "config": { "algorithm": "kmeans", "n_clusters": 5, "min_cluster_size": 2 } } HDBSCAN clustering on single collection: { "collection_ids": ["col_products"], "config": { "algorithm": "hdbscan", "min_cluster_size": 10, "min_samples": 5 } }
    - `collection_ids` string[], required — REQUIRED. List of collection IDs to cluster when trigger fires. Must contain at least one collection ID. All collections will be clustered together using the specified algorithm.
    - `config` object, required — REQUIRED. Clustering algorithm configuration. Must include 'algorithm' field ('kmeans', 'hdbscan', 'hierarchical'). Additional fields depend on algorithm choice. K-means requires 'n_clusters'. HDBSCAN requires 'min_cluster_size'.
  - `trigger_type` 'cron' | 'interval' | 'event' | 'conditional', required — Type of trigger for automated cluster execution. Supported trigger types: - **cron**: Schedule-based execution using cron expressions (e.g., daily at 2am) - **interval**: Fixed-interval execution (e.g., every 6 hours) - **event**: Event-driven execution (e.g., after 100 documents added) - **conditional**: Condition-based execution (e.g., when drift exceeds threshold)
  - `schedule_config` object, required — Type-specific schedule configuration
  - `status` 'active' | 'paused' | 'disabled' | 'failed' — Status of a cluster trigger.
  - `last_triggered_at` string, date-time, nullable — Last time trigger fired
  - `last_execution_job_id` string, nullable — Job ID of last execution
  - `next_scheduled_at` string, date-time, nullable — Next scheduled execution time
  - `execution_count` integer — Total executions
  - `consecutive_failures` integer — Consecutive execution failures
  - `last_execution_status` string, nullable — Status of last execution
  - `last_execution_error` string, nullable — Error from last execution
  - `event_counter` integer — Current event count since last trigger
  - `last_cooldown_at` string, date-time, nullable — Last time cooldown was applied
  - `created_at` string, date-time — Creation timestamp
  - `updated_at` string, date-time — Last update timestamp
  - `created_by` string, nullable — User who created trigger
  - `description` string, nullable — Trigger description

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/mixpeek/apis/mixpeek-api.md) · [All operations](https://skmtc.net/mixpeek/apis/mixpeek-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixpeek/mixpeek-api/versions/23e05292e326/schema)
