curl --request POST \
--url https://api.mixpeek.com/v1/clusters/triggers/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"cluster_id": "<string>",
"offset": 0,
"limit": 50,
"sort_by": "created_at",
"direction": "desc"
}
'import requests
url = "https://api.mixpeek.com/v1/clusters/triggers/list"
payload = {
"cluster_id": "<string>",
"offset": 0,
"limit": 50,
"sort_by": "created_at",
"direction": "desc"
}
headers = {
"Authorization": "Bearer <token>",
"X-Namespace": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Namespace': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cluster_id: '<string>',
offset: 0,
limit: 50,
sort_by: 'created_at',
direction: 'desc'
})
};
fetch('https://api.mixpeek.com/v1/clusters/triggers/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixpeek.com/v1/clusters/triggers/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'cluster_id' => '<string>',
'offset' => 0,
'limit' => 50,
'sort_by' => 'created_at',
'direction' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Namespace: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mixpeek.com/v1/clusters/triggers/list"
payload := strings.NewReader("{\n \"cluster_id\": \"<string>\",\n \"offset\": 0,\n \"limit\": 50,\n \"sort_by\": \"created_at\",\n \"direction\": \"desc\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Namespace", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixpeek.com/v1/clusters/triggers/list")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cluster_id\": \"<string>\",\n \"offset\": 0,\n \"limit\": 50,\n \"sort_by\": \"created_at\",\n \"direction\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/clusters/triggers/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Namespace"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cluster_id\": \"<string>\",\n \"offset\": 0,\n \"limit\": 50,\n \"sort_by\": \"created_at\",\n \"direction\": \"desc\"\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"namespace_id": "<string>",
"internal_id": "<string>",
"execution_config": {
"collection_ids": [
"col_abc123"
],
"config": {
"algorithm": "kmeans",
"min_cluster_size": 2,
"n_clusters": 5
}
},
"trigger_type": "cron",
"schedule_config": {},
"trigger_id": "<string>",
"cluster_id": "<string>",
"status": "active",
"last_triggered_at": "2023-11-07T05:31:56Z",
"last_execution_job_id": "<string>",
"next_scheduled_at": "2023-11-07T05:31:56Z",
"execution_count": 0,
"consecutive_failures": 0,
"last_execution_status": "<string>",
"last_execution_error": "<string>",
"event_counter": 0,
"last_cooldown_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"description": "<string>"
}
],
"total": 123,
"offset": 123,
"limit": 123
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}List Cluster Triggers
List cluster triggers with filters and pagination.
curl --request POST \
--url https://api.mixpeek.com/v1/clusters/triggers/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"cluster_id": "<string>",
"offset": 0,
"limit": 50,
"sort_by": "created_at",
"direction": "desc"
}
'import requests
url = "https://api.mixpeek.com/v1/clusters/triggers/list"
payload = {
"cluster_id": "<string>",
"offset": 0,
"limit": 50,
"sort_by": "created_at",
"direction": "desc"
}
headers = {
"Authorization": "Bearer <token>",
"X-Namespace": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Namespace': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cluster_id: '<string>',
offset: 0,
limit: 50,
sort_by: 'created_at',
direction: 'desc'
})
};
fetch('https://api.mixpeek.com/v1/clusters/triggers/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixpeek.com/v1/clusters/triggers/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'cluster_id' => '<string>',
'offset' => 0,
'limit' => 50,
'sort_by' => 'created_at',
'direction' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Namespace: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mixpeek.com/v1/clusters/triggers/list"
payload := strings.NewReader("{\n \"cluster_id\": \"<string>\",\n \"offset\": 0,\n \"limit\": 50,\n \"sort_by\": \"created_at\",\n \"direction\": \"desc\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Namespace", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixpeek.com/v1/clusters/triggers/list")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cluster_id\": \"<string>\",\n \"offset\": 0,\n \"limit\": 50,\n \"sort_by\": \"created_at\",\n \"direction\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/clusters/triggers/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Namespace"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cluster_id\": \"<string>\",\n \"offset\": 0,\n \"limit\": 50,\n \"sort_by\": \"created_at\",\n \"direction\": \"desc\"\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"namespace_id": "<string>",
"internal_id": "<string>",
"execution_config": {
"collection_ids": [
"col_abc123"
],
"config": {
"algorithm": "kmeans",
"min_cluster_size": 2,
"n_clusters": 5
}
},
"trigger_type": "cron",
"schedule_config": {},
"trigger_id": "<string>",
"cluster_id": "<string>",
"status": "active",
"last_triggered_at": "2023-11-07T05:31:56Z",
"last_execution_job_id": "<string>",
"next_scheduled_at": "2023-11-07T05:31:56Z",
"execution_count": 0,
"consecutive_failures": 0,
"last_execution_status": "<string>",
"last_execution_error": "<string>",
"event_counter": 0,
"last_cooldown_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"description": "<string>"
}
],
"total": 123,
"offset": 123,
"limit": 123
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}Authorizations
Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing header returns 403; an invalid or revoked key returns 401.
Namespace id (ns_...), not the namespace name. This scopes the request rather than authenticating it, and it is required on every operation marked x-mixpeek-namespace-scoped.
Body
Keys this body does not declare are ignored, and the response's warnings name them, until 2026-11-02; from 2026-11-02 they are refused with 422 extra_forbidden naming the accepted keys.
Request to list triggers with filters and pagination.
Filter by cluster ID
Filter by trigger type
cron, interval, event, conditional Filter by status
active, paused, disabled, failed Pagination offset
x >= 0Results per page
1 <= x <= 1000Field to sort by
Sort direction (asc/desc)
Was this page helpful?

