curl --request POST \
--url https://api.mixpeek.com/v1/collections/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"limit": 500,
"page_size": 500,
"offset": 5000,
"page": 2,
"filters": {},
"sort": {
"field": "created_at",
"direction": "desc"
},
"sorts": [
{}
],
"search": "<string>",
"case_sensitive": false
}
'import requests
url = "https://api.mixpeek.com/v1/collections/list"
payload = {
"limit": 500,
"page_size": 500,
"offset": 5000,
"page": 2,
"filters": {},
"sort": {
"field": "created_at",
"direction": "desc"
},
"sorts": [{}],
"search": "<string>",
"case_sensitive": False
}
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({
limit: 500,
page_size: 500,
offset: 5000,
page: 2,
filters: {},
sort: {field: 'created_at', direction: 'desc'},
sorts: [{}],
search: '<string>',
case_sensitive: false
})
};
fetch('https://api.mixpeek.com/v1/collections/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/collections/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([
'limit' => 500,
'page_size' => 500,
'offset' => 5000,
'page' => 2,
'filters' => [
],
'sort' => [
'field' => 'created_at',
'direction' => 'desc'
],
'sorts' => [
[
]
],
'search' => '<string>',
'case_sensitive' => false
]),
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/collections/list"
payload := strings.NewReader("{\n \"limit\": 500,\n \"page_size\": 500,\n \"offset\": 5000,\n \"page\": 2,\n \"filters\": {},\n \"sort\": {\n \"field\": \"created_at\",\n \"direction\": \"desc\"\n },\n \"sorts\": [\n {}\n ],\n \"search\": \"<string>\",\n \"case_sensitive\": false\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/collections/list")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"limit\": 500,\n \"page_size\": 500,\n \"offset\": 5000,\n \"page\": 2,\n \"filters\": {},\n \"sort\": {\n \"field\": \"created_at\",\n \"direction\": \"desc\"\n },\n \"sorts\": [\n {}\n ],\n \"search\": \"<string>\",\n \"case_sensitive\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/collections/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 \"limit\": 500,\n \"page_size\": 500,\n \"offset\": 5000,\n \"page\": 2,\n \"filters\": {},\n \"sort\": {\n \"field\": \"created_at\",\n \"direction\": \"desc\"\n },\n \"sorts\": [\n {}\n ],\n \"search\": \"<string>\",\n \"case_sensitive\": false\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"collection_name": "<string>",
"feature_extractor": {
"feature_extractor_name": "<string>",
"version": "<string>",
"feature_extractor_id": "<string>",
"params": {},
"parameters": {
"extractor_type": "audio_fingerprint_extractor",
"normalize_embeddings": true,
"sample_rate": 48000,
"segment_duration_sec": 5,
"segment_hop_sec": 2.5
},
"input_mappings": {
"image": "product_image",
"text": "title"
},
"field_passthrough": [
{
"source_path": "<string>",
"target_path": "title",
"default": "Unknown",
"required": false
}
],
"include_all_source_fields": false
},
"source": {
"bucket_ids": [
"bkt_marketing_videos"
],
"source_namespace_id": "<string>",
"collection_id": "col_video_frames",
"collection_ids": [
"col_us_products",
"col_eu_products"
],
"inherited_bucket_ids": [
"bkt_marketing_videos"
],
"source_filters": {
"filters": {
"AND": [
{
"field": "blobs.type",
"operator": "eq",
"value": "video"
}
]
}
}
},
"collection_id": "<string>",
"description": "Video frames extracted at 1 FPS with CLIP embeddings",
"input_schema": {
"properties": {
"title": {
"type": "string"
},
"content": {
"type": "text"
}
}
},
"output_schema": {
"properties": {
"title": {
"type": "string"
},
"text_extractor_v1_embedding": {
"type": "array"
}
}
},
"source_bucket_schemas": null,
"source_lineage": [
{
"source_config": {
"bucket_ids": [
"bkt_marketing_videos"
],
"source_namespace_id": "<string>",
"collection_id": "col_video_frames",
"collection_ids": [
"col_us_products",
"col_eu_products"
],
"inherited_bucket_ids": [
"bkt_marketing_videos"
],
"source_filters": {
"filters": {
"AND": [
{
"field": "blobs.type",
"operator": "eq",
"value": "video"
}
]
}
}
},
"feature_extractor": {
"feature_extractor_name": "<string>",
"version": "<string>",
"feature_extractor_id": "<string>",
"params": {},
"parameters": {
"extractor_type": "audio_fingerprint_extractor",
"normalize_embeddings": true,
"sample_rate": 48000,
"segment_duration_sec": 5,
"segment_hop_sec": 2.5
},
"input_mappings": {
"image": "product_image",
"text": "title"
},
"field_passthrough": [
{
"source_path": "<string>",
"target_path": "title",
"default": "Unknown",
"required": false
}
],
"include_all_source_fields": false
},
"output_schema": {
"properties": {}
}
}
],
"vector_indexes": [
"<unknown>"
],
"payload_indexes": [
"<unknown>"
],
"embedding_task": "<string>",
"enabled": true,
"metadata": {
"environment": "production",
"project": "Q4_campaign",
"team": "data-science"
},
"schedule": {
"trigger_type": "<string>",
"schedule_config": {},
"description": "<string>"
},
"trigger_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"lifecycle_state": "active",
"s3_vector_index": "<string>",
"last_lifecycle_transition": "2023-11-07T05:31:56Z",
"tiering_rules": [
{
"enabled": false,
"threshold_days": 123
}
],
"document_count": 123,
"schema_version": 1,
"last_schema_sync": "2023-11-07T05:31:56Z",
"schema_sync_enabled": true,
"document_schema": null,
"schema_validation": "off",
"taxonomy_applications": null,
"cluster_applications": null,
"alert_applications": null,
"retriever_enrichments": null,
"vector_count": 123,
"taxonomy_count": 123,
"retriever_count": 123
}
],
"pagination": {
"total": 123,
"page": 123,
"page_size": 123,
"total_pages": 123,
"next_page": "<string>",
"previous_page": "<string>",
"next_cursor": "<string>"
},
"total_count": 123,
"stats": {
"total_documents": 0,
"avg_documents_per_collection": 0,
"collections_with_taxonomies": 0,
"total_feature_extractors": 0,
"total_taxonomies": 0,
"total_retrievers": 0
}
}{
"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 Collections
This endpoint allows you to list collections.
curl --request POST \
--url https://api.mixpeek.com/v1/collections/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"limit": 500,
"page_size": 500,
"offset": 5000,
"page": 2,
"filters": {},
"sort": {
"field": "created_at",
"direction": "desc"
},
"sorts": [
{}
],
"search": "<string>",
"case_sensitive": false
}
'import requests
url = "https://api.mixpeek.com/v1/collections/list"
payload = {
"limit": 500,
"page_size": 500,
"offset": 5000,
"page": 2,
"filters": {},
"sort": {
"field": "created_at",
"direction": "desc"
},
"sorts": [{}],
"search": "<string>",
"case_sensitive": False
}
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({
limit: 500,
page_size: 500,
offset: 5000,
page: 2,
filters: {},
sort: {field: 'created_at', direction: 'desc'},
sorts: [{}],
search: '<string>',
case_sensitive: false
})
};
fetch('https://api.mixpeek.com/v1/collections/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/collections/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([
'limit' => 500,
'page_size' => 500,
'offset' => 5000,
'page' => 2,
'filters' => [
],
'sort' => [
'field' => 'created_at',
'direction' => 'desc'
],
'sorts' => [
[
]
],
'search' => '<string>',
'case_sensitive' => false
]),
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/collections/list"
payload := strings.NewReader("{\n \"limit\": 500,\n \"page_size\": 500,\n \"offset\": 5000,\n \"page\": 2,\n \"filters\": {},\n \"sort\": {\n \"field\": \"created_at\",\n \"direction\": \"desc\"\n },\n \"sorts\": [\n {}\n ],\n \"search\": \"<string>\",\n \"case_sensitive\": false\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/collections/list")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"limit\": 500,\n \"page_size\": 500,\n \"offset\": 5000,\n \"page\": 2,\n \"filters\": {},\n \"sort\": {\n \"field\": \"created_at\",\n \"direction\": \"desc\"\n },\n \"sorts\": [\n {}\n ],\n \"search\": \"<string>\",\n \"case_sensitive\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/collections/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 \"limit\": 500,\n \"page_size\": 500,\n \"offset\": 5000,\n \"page\": 2,\n \"filters\": {},\n \"sort\": {\n \"field\": \"created_at\",\n \"direction\": \"desc\"\n },\n \"sorts\": [\n {}\n ],\n \"search\": \"<string>\",\n \"case_sensitive\": false\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"collection_name": "<string>",
"feature_extractor": {
"feature_extractor_name": "<string>",
"version": "<string>",
"feature_extractor_id": "<string>",
"params": {},
"parameters": {
"extractor_type": "audio_fingerprint_extractor",
"normalize_embeddings": true,
"sample_rate": 48000,
"segment_duration_sec": 5,
"segment_hop_sec": 2.5
},
"input_mappings": {
"image": "product_image",
"text": "title"
},
"field_passthrough": [
{
"source_path": "<string>",
"target_path": "title",
"default": "Unknown",
"required": false
}
],
"include_all_source_fields": false
},
"source": {
"bucket_ids": [
"bkt_marketing_videos"
],
"source_namespace_id": "<string>",
"collection_id": "col_video_frames",
"collection_ids": [
"col_us_products",
"col_eu_products"
],
"inherited_bucket_ids": [
"bkt_marketing_videos"
],
"source_filters": {
"filters": {
"AND": [
{
"field": "blobs.type",
"operator": "eq",
"value": "video"
}
]
}
}
},
"collection_id": "<string>",
"description": "Video frames extracted at 1 FPS with CLIP embeddings",
"input_schema": {
"properties": {
"title": {
"type": "string"
},
"content": {
"type": "text"
}
}
},
"output_schema": {
"properties": {
"title": {
"type": "string"
},
"text_extractor_v1_embedding": {
"type": "array"
}
}
},
"source_bucket_schemas": null,
"source_lineage": [
{
"source_config": {
"bucket_ids": [
"bkt_marketing_videos"
],
"source_namespace_id": "<string>",
"collection_id": "col_video_frames",
"collection_ids": [
"col_us_products",
"col_eu_products"
],
"inherited_bucket_ids": [
"bkt_marketing_videos"
],
"source_filters": {
"filters": {
"AND": [
{
"field": "blobs.type",
"operator": "eq",
"value": "video"
}
]
}
}
},
"feature_extractor": {
"feature_extractor_name": "<string>",
"version": "<string>",
"feature_extractor_id": "<string>",
"params": {},
"parameters": {
"extractor_type": "audio_fingerprint_extractor",
"normalize_embeddings": true,
"sample_rate": 48000,
"segment_duration_sec": 5,
"segment_hop_sec": 2.5
},
"input_mappings": {
"image": "product_image",
"text": "title"
},
"field_passthrough": [
{
"source_path": "<string>",
"target_path": "title",
"default": "Unknown",
"required": false
}
],
"include_all_source_fields": false
},
"output_schema": {
"properties": {}
}
}
],
"vector_indexes": [
"<unknown>"
],
"payload_indexes": [
"<unknown>"
],
"embedding_task": "<string>",
"enabled": true,
"metadata": {
"environment": "production",
"project": "Q4_campaign",
"team": "data-science"
},
"schedule": {
"trigger_type": "<string>",
"schedule_config": {},
"description": "<string>"
},
"trigger_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"lifecycle_state": "active",
"s3_vector_index": "<string>",
"last_lifecycle_transition": "2023-11-07T05:31:56Z",
"tiering_rules": [
{
"enabled": false,
"threshold_days": 123
}
],
"document_count": 123,
"schema_version": 1,
"last_schema_sync": "2023-11-07T05:31:56Z",
"schema_sync_enabled": true,
"document_schema": null,
"schema_validation": "off",
"taxonomy_applications": null,
"cluster_applications": null,
"alert_applications": null,
"retriever_enrichments": null,
"vector_count": 123,
"taxonomy_count": 123,
"retriever_count": 123
}
],
"pagination": {
"total": 123,
"page": 123,
"page_size": 123,
"total_pages": 123,
"next_page": "<string>",
"previous_page": "<string>",
"next_cursor": "<string>"
},
"total_count": 123,
"stats": {
"total_documents": 0,
"avg_documents_per_collection": 0,
"collections_with_taxonomies": 0,
"total_feature_extractors": 0,
"total_taxonomies": 0,
"total_retrievers": 0
}
}{
"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.
Query Parameters
1 <= x <= 10001 <= x <= 10000 <= x <= 10000x >= 1Body
Request model for listing collections.
Inherits body-level limit/page_size/offset/page (BACKE-2846) — body values win over query pagination via merge_body_pagination.
To filter by taxonomy, use dot notation in filters: filters.AND = [{"field": "taxonomy_applications.taxonomy_id", "operator": "eq", "value": "tax_123"}]
Page size. A body value wins over the limit query param.
1 <= x <= 1000Alias for limit (page size). If both are given, limit wins.
1 <= x <= 1000Number of results to skip (legacy, use cursor instead). A body value wins over the offset query param.
0 <= x <= 100001-indexed page number. Folds to offset = (page-1) * limit. If both page and offset are given, offset wins.
x >= 1Filters to apply when listing collections. Supports nested field filtering like 'taxonomy_applications.taxonomy_id'. Format: {"AND": [{"field": "field_name", "operator": "eq", "value": "value"}]}
Sort options for the results (single-column, legacy)
Show child attributes
Show child attributes
Sort options as a list of {field, direction} — the shape Studio datatables and the retriever list send. The first entry is the primary sort. Takes precedence over the singular sort.
Search term for wildcard search across collection_id, collection_name, description, and other text fields
If True, filters and search will be case-sensitive
Response
Successful Response
Response model for listing collections.
List of collections
Show child attributes
Show child attributes
Pagination information
Show child attributes
Show child attributes
Total number of collections matching the query
Aggregate statistics across all collections in the result
Show child attributes
Show child attributes
Was this page helpful?

