curl --request GET \
--url https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish', 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/retrievers/{retriever_id}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"retriever_id": "<string>",
"public_id": "<string>",
"public_name": "<string>",
"display_config": {
"title": "<string>",
"inputs": [
{
"field_name": "<string>",
"field_schema": {
"default": null,
"items": null,
"properties": {},
"examples": [
"<unknown>"
],
"description": "<string>",
"enum": [
"<unknown>"
],
"required": false
},
"label": "<string>",
"input_type": "text",
"placeholder": "Enter search terms...",
"helper_text": "Describe the aesthetic, outfit, or vibe you're looking for",
"suggestions": [
"streetwear urban",
"clean girl minimal",
"summer haul bright"
],
"required": true,
"order": 0
}
],
"exposed_fields": [
"<string>"
],
"description": "Search through thousands of products",
"logo_url": "https://example.com/logo.png",
"icon_base64": "data:image/png;base64,iVBORw0KGgoAAAANS...",
"seo": {
"author": "Mixpeek",
"favicon_url": "https://example.com/favicon.ico",
"keywords": [
"fitness",
"yoga",
"workout",
"exercise videos"
],
"locale": "en_US",
"logo_url": "https://example.com/logo.png",
"meta_description": "Search and discover fitness videos using AI-powered semantic search.",
"meta_title": "Fitness Video Search | Mixpeek",
"og_image_alt": "Fitness video search interface",
"og_image_url": "https://mixpeek-public-pages.s3.amazonaws.com/og.png",
"og_type": "website",
"robots": "index, follow",
"site_name": "Mixpeek",
"structured_data": {
"additional_properties": {
"applicationCategory": "Search"
},
"type": "WebApplication"
},
"twitter_card": "summary_large_image",
"twitter_site": "@mixpeek"
},
"markdowns": [
{
"title": "<string>",
"content": "<string>"
}
],
"theme": {
"primary_color": "#007AFF",
"secondary_color": "#FF6B6B",
"font_family": "system-ui, -apple-system, sans-serif",
"background_color": "#FFFFFF",
"text_color": "#374151",
"heading_font_family": "Georgia, serif",
"surface_color": "#F9FAFB",
"muted_color": "#6B7280",
"border_color": "#E5E7EB",
"border_radius": "8px",
"card_style": "elevated",
"card_hover_effect": "lift"
},
"layout": {
"mode": "grid",
"columns": 3,
"gap": "16px",
"full_width": false
},
"components": {
"show_hero": true,
"show_search": true,
"show_filters": false,
"show_results_header": true,
"result_layout": "grid",
"result_card": {
"card_click_action": "viewDetails",
"card_style": "default",
"field_order": [
"title",
"description",
"category",
"created_at"
],
"layout": "vertical",
"show_find_similar": true,
"show_score": true,
"show_thumbnail": true,
"thumbnail_aspect_ratio": "16/9",
"thumbnail_field": "image_url",
"thumbnail_fit": "cover",
"title_field": "title",
"truncate_description": 120,
"truncate_title": 60
}
},
"field_config": {},
"custom_cta": {
"label": "Search Tips",
"markdown_content": "# Search Tips\n\n- Use quotes for exact phrases\n- Filter by date using 'after:2024'"
},
"external_links": [
{
"name": "<string>",
"url": "<string>"
}
],
"template_type": "portrait-gallery",
"field_mappings": {
"boundingBox": "ocr_bbox",
"extractedText": "ocr_text",
"thumbnail": "page_thumbnail_url",
"title": "document_title"
},
"extensions": {
"show_timestamps": true,
"video_autoplay": true
},
"retriever_config": {}
},
"rate_limit_config": {
"enabled": true,
"tier": "standard",
"requests_per_minute": 2,
"requests_per_hour": 2,
"requests_per_day": 2,
"max_results_per_query": 100,
"enable_ip_limits": false,
"max_requests_per_ip_hour": 2
},
"password_protected": true,
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"icon_base64": "<string>",
"public_api_key": "<string>",
"retriever_metadata": {
"stages": [
{}
],
"collections": [
{}
],
"capabilities": {}
},
"tags": [
"<string>"
],
"category": "<string>"
}{
"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
}Get Published Retriever
Get published retriever details.
Returns configuration including public URL, display settings, and rate limits. The public API key is not returned (it was shown only once during publishing).
A retriever that simply hasn’t been published yet is a normal state (the
Studio Publish tab opens this on every visit), not an error — so this
returns 200 with a null body rather than 404, which previously
logged a console error for every unpublished retriever.
curl --request GET \
--url https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish', 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/retrievers/{retriever_id}/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/retrievers/{retriever_id}/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"retriever_id": "<string>",
"public_id": "<string>",
"public_name": "<string>",
"display_config": {
"title": "<string>",
"inputs": [
{
"field_name": "<string>",
"field_schema": {
"default": null,
"items": null,
"properties": {},
"examples": [
"<unknown>"
],
"description": "<string>",
"enum": [
"<unknown>"
],
"required": false
},
"label": "<string>",
"input_type": "text",
"placeholder": "Enter search terms...",
"helper_text": "Describe the aesthetic, outfit, or vibe you're looking for",
"suggestions": [
"streetwear urban",
"clean girl minimal",
"summer haul bright"
],
"required": true,
"order": 0
}
],
"exposed_fields": [
"<string>"
],
"description": "Search through thousands of products",
"logo_url": "https://example.com/logo.png",
"icon_base64": "data:image/png;base64,iVBORw0KGgoAAAANS...",
"seo": {
"author": "Mixpeek",
"favicon_url": "https://example.com/favicon.ico",
"keywords": [
"fitness",
"yoga",
"workout",
"exercise videos"
],
"locale": "en_US",
"logo_url": "https://example.com/logo.png",
"meta_description": "Search and discover fitness videos using AI-powered semantic search.",
"meta_title": "Fitness Video Search | Mixpeek",
"og_image_alt": "Fitness video search interface",
"og_image_url": "https://mixpeek-public-pages.s3.amazonaws.com/og.png",
"og_type": "website",
"robots": "index, follow",
"site_name": "Mixpeek",
"structured_data": {
"additional_properties": {
"applicationCategory": "Search"
},
"type": "WebApplication"
},
"twitter_card": "summary_large_image",
"twitter_site": "@mixpeek"
},
"markdowns": [
{
"title": "<string>",
"content": "<string>"
}
],
"theme": {
"primary_color": "#007AFF",
"secondary_color": "#FF6B6B",
"font_family": "system-ui, -apple-system, sans-serif",
"background_color": "#FFFFFF",
"text_color": "#374151",
"heading_font_family": "Georgia, serif",
"surface_color": "#F9FAFB",
"muted_color": "#6B7280",
"border_color": "#E5E7EB",
"border_radius": "8px",
"card_style": "elevated",
"card_hover_effect": "lift"
},
"layout": {
"mode": "grid",
"columns": 3,
"gap": "16px",
"full_width": false
},
"components": {
"show_hero": true,
"show_search": true,
"show_filters": false,
"show_results_header": true,
"result_layout": "grid",
"result_card": {
"card_click_action": "viewDetails",
"card_style": "default",
"field_order": [
"title",
"description",
"category",
"created_at"
],
"layout": "vertical",
"show_find_similar": true,
"show_score": true,
"show_thumbnail": true,
"thumbnail_aspect_ratio": "16/9",
"thumbnail_field": "image_url",
"thumbnail_fit": "cover",
"title_field": "title",
"truncate_description": 120,
"truncate_title": 60
}
},
"field_config": {},
"custom_cta": {
"label": "Search Tips",
"markdown_content": "# Search Tips\n\n- Use quotes for exact phrases\n- Filter by date using 'after:2024'"
},
"external_links": [
{
"name": "<string>",
"url": "<string>"
}
],
"template_type": "portrait-gallery",
"field_mappings": {
"boundingBox": "ocr_bbox",
"extractedText": "ocr_text",
"thumbnail": "page_thumbnail_url",
"title": "document_title"
},
"extensions": {
"show_timestamps": true,
"video_autoplay": true
},
"retriever_config": {}
},
"rate_limit_config": {
"enabled": true,
"tier": "standard",
"requests_per_minute": 2,
"requests_per_hour": 2,
"requests_per_day": 2,
"max_results_per_query": 100,
"enable_ip_limits": false,
"max_requests_per_ip_hour": 2
},
"password_protected": true,
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"icon_base64": "<string>",
"public_api_key": "<string>",
"retriever_metadata": {
"stages": [
{}
],
"collections": [
{}
],
"capabilities": {}
},
"tags": [
"<string>"
],
"category": "<string>"
}{
"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
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the retriever
Response
Successful Response
Response model for GET published retriever.
Returns the full published retriever config including the public API key since the user already has access to it.
ID of the underlying retriever
Public identifier for this published retriever
Public URL-safe name
Display configuration for UI rendering
Show child attributes
Show child attributes
{
"components": {
"result_card": {
"card_click_action": "viewDetails",
"field_order": ["title", "description", "price"],
"layout": "vertical",
"show_find_similar": true,
"show_thumbnail": true
},
"result_layout": "grid",
"show_hero": true,
"show_results_header": true,
"show_search": true
},
"custom_cta": {
"label": "Search Tips",
"markdown_content": "# Search Tips\n\n- Use quotes for exact phrases\n- Try descriptive terms"
},
"description": "Search through our product catalog",
"exposed_fields": [
"title",
"description",
"price",
"image_url"
],
"external_links": [
{
"name": "GitHub Repository",
"url": "https://github.com/mixpeek/product-search"
},
{
"name": "Blog Post",
"url": "https://blog.mixpeek.com/building-product-search"
}
],
"field_config": {
"price": {
"format": "number",
"format_options": {
"decimals": 2,
"label": "Price",
"prefix": "$"
}
},
"title": {
"format": "text",
"format_options": {
"label": "Product Name",
"truncate_chars": 60
}
}
},
"field_mappings": {
"thumbnail": "image_url",
"title": "title"
},
"inputs": [
{
"field_name": "query",
"field_schema": {
"description": "Search query",
"examples": ["wireless headphones", "laptop"],
"type": "string"
},
"input_type": "text",
"label": "Search Products",
"order": 0,
"placeholder": "What are you looking for?",
"required": true
}
],
"layout": {
"columns": 3,
"gap": "16px",
"mode": "grid"
},
"logo_url": "https://example.com/logo.png",
"markdowns": [
{
"content": "# AI-Powered Product Search\n\nOur search uses **machine learning** to understand your queries and find the most relevant products.\n\n## Features\n\n- **Semantic Search**: Understands meaning, not just keywords\n- **Visual Search**: Upload images to find similar products\n- **Smart Filters**: Automatically suggests relevant filters",
"title": "How it Works"
},
{
"content": "## Tips for Better Results\n\n1. Use descriptive terms (e.g., \"wireless noise-canceling headphones\")\n2. Try different keywords if you don't find what you're looking for\n3. Use filters to narrow down results\n\n*Happy searching!*",
"title": "Search Guide"
}
],
"template_type": "media-search",
"theme": {
"border_radius": "12px",
"card_style": "elevated",
"font_family": "Inter, sans-serif",
"primary_color": "#007AFF"
},
"title": "Product Search"
}
Rate limiting configuration
Show child attributes
Show child attributes
{
"description": "Standard tier (default) - 10/min, 100/hour, 1k/day",
"enabled": true,
"max_results_per_query": 50,
"tier": "standard"
}
{
"description": "Elevated tier - 30/min, 500/hour, 5k/day",
"enable_ip_limits": true,
"enabled": true,
"max_requests_per_ip_hour": 100,
"max_results_per_query": 100,
"tier": "elevated"
}
{
"description": "Enterprise tier - 100/min, 2k/hour, 20k/day",
"enable_ip_limits": true,
"enabled": true,
"max_requests_per_ip_hour": 500,
"max_results_per_query": 200,
"tier": "enterprise"
}
{
"description": "Custom limits overriding standard tier",
"enabled": true,
"max_results_per_query": 100,
"requests_per_hour": 200,
"requests_per_minute": 20,
"tier": "standard"
}
Whether password protection is enabled
Whether the published retriever is active
Timestamp when published
Timestamp when last updated
Description of this public retriever
Base64 encoded icon/favicon for this retriever
DEPRECATED: Public API key (prk_). API keys are no longer required for public retriever access. For SDK access, use ret_sk_ keys.
Optional technical metadata about the retriever
Show child attributes
Show child attributes
Tags for categorizing this retriever
Primary category for this retriever
Was this page helpful?

