curl --request POST \
--url https://api.mixpeek.com/v1/templates/collections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"filters": {},
"sort": {},
"search": "<string>",
"category": "<string>",
"is_active": true,
"tags": [
"<string>"
]
}
'import requests
url = "https://api.mixpeek.com/v1/templates/collections"
payload = {
"filters": {},
"sort": {},
"search": "<string>",
"category": "<string>",
"is_active": True,
"tags": ["<string>"]
}
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({
filters: {},
sort: {},
search: '<string>',
category: '<string>',
is_active: true,
tags: ['<string>']
})
};
fetch('https://api.mixpeek.com/v1/templates/collections', 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/templates/collections",
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([
'filters' => [
],
'sort' => [
],
'search' => '<string>',
'category' => '<string>',
'is_active' => true,
'tags' => [
'<string>'
]
]),
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/templates/collections"
payload := strings.NewReader("{\n \"filters\": {},\n \"sort\": {},\n \"search\": \"<string>\",\n \"category\": \"<string>\",\n \"is_active\": true,\n \"tags\": [\n \"<string>\"\n ]\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/templates/collections")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {},\n \"sort\": {},\n \"search\": \"<string>\",\n \"category\": \"<string>\",\n \"is_active\": true,\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/templates/collections")
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 \"filters\": {},\n \"sort\": {},\n \"search\": \"<string>\",\n \"category\": \"<string>\",\n \"is_active\": true,\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"template_id": "<string>",
"internal_id": "<string>",
"name": "<string>",
"description": "<string>",
"configuration": {},
"mode": "config",
"category": "<string>",
"tags": [
"<string>"
],
"is_active": true,
"is_public": false,
"use_cases": [
"<string>"
],
"requirements": [
"<string>"
],
"created_by": "<string>",
"source_resource_id": "<string>",
"sample_namespace_id": "<string>",
"example_queries": [
"<string>"
],
"whats_inside": "<string>",
"materialize_estimate": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"total_count": 123
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}List Collection Templates
List collection templates (system + organization + user).
Supports filtering, sorting, and search like other list operations.
curl --request POST \
--url https://api.mixpeek.com/v1/templates/collections \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"filters": {},
"sort": {},
"search": "<string>",
"category": "<string>",
"is_active": true,
"tags": [
"<string>"
]
}
'import requests
url = "https://api.mixpeek.com/v1/templates/collections"
payload = {
"filters": {},
"sort": {},
"search": "<string>",
"category": "<string>",
"is_active": True,
"tags": ["<string>"]
}
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({
filters: {},
sort: {},
search: '<string>',
category: '<string>',
is_active: true,
tags: ['<string>']
})
};
fetch('https://api.mixpeek.com/v1/templates/collections', 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/templates/collections",
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([
'filters' => [
],
'sort' => [
],
'search' => '<string>',
'category' => '<string>',
'is_active' => true,
'tags' => [
'<string>'
]
]),
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/templates/collections"
payload := strings.NewReader("{\n \"filters\": {},\n \"sort\": {},\n \"search\": \"<string>\",\n \"category\": \"<string>\",\n \"is_active\": true,\n \"tags\": [\n \"<string>\"\n ]\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/templates/collections")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {},\n \"sort\": {},\n \"search\": \"<string>\",\n \"category\": \"<string>\",\n \"is_active\": true,\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/templates/collections")
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 \"filters\": {},\n \"sort\": {},\n \"search\": \"<string>\",\n \"category\": \"<string>\",\n \"is_active\": true,\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"template_id": "<string>",
"internal_id": "<string>",
"name": "<string>",
"description": "<string>",
"configuration": {},
"mode": "config",
"category": "<string>",
"tags": [
"<string>"
],
"is_active": true,
"is_public": false,
"use_cases": [
"<string>"
],
"requirements": [
"<string>"
],
"created_by": "<string>",
"source_resource_id": "<string>",
"sample_namespace_id": "<string>",
"example_queries": [
"<string>"
],
"whats_inside": "<string>",
"materialize_estimate": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"total_count": 123
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"success": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"status": 123,
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>",
"details": {}
},
"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
Request model for listing templates.
Provides the same filtering, sorting, and search capabilities as other list operations (list collections, list buckets, etc.).
Filters to apply when listing templates. Format: {"AND": [{"field": "field_name", "operator": "eq", "value": "value"}]}
Sort options for the results. Format: {'field': 'name', 'direction': 'asc'}
Show child attributes
Show child attributes
Search term for wildcard search across template_id, name, description, and tags
Filter by scope (system, organization, or user)
system, organization, user, public Filter by category
Show only active templates
Filter by tags (templates must have ALL specified tags)
Was this page helpful?

