Execute a published retriever (public endpoint).
Authentication:
X-Public-API-Key header with the retriever’s public API keyX-Retriever-Password headerRate Limiting:
Response:
exposed_fields configurationexecution_id for interaction trackingExample:
curl -X POST "https://api.mixpeek.com/v1/public/retrievers/video-search/execute" \
-H "X-Public-API-Key: prk_abc123..." \
-H "Content-Type: application/json" \
-d '{
"inputs": {"query": "red car"},
"pagination": {"method": "offset", "page_number": 1, "page_size": 10}
}'
Example with return_urls disabled:
curl -X POST "https://api.mixpeek.com/v1/public/retrievers/video-search/execute?return_urls=false" \
-H "X-Public-API-Key: prk_abc123..." \
-H "Content-Type: application/json" \
-d '{
"inputs": {"query": "red car"},
"pagination": {"method": "offset", "page_number": 1, "page_size": 10}
}'
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Public name of the published retriever
Whether to return signed URLs for media assets (images, videos, audio). Default: True for public retrievers to enable media rendering. Set to False if you only need metadata without URLs.
Request payload for executing a retriever.
Executes a predefined retriever with runtime inputs and optional collection overrides. All filtering, pagination, and result shaping is handled by the individual stages based on the inputs provided.
Use Cases: - Execute retriever with default collections - Override collections at query time (by ID or name) - Pass inputs that stages use to determine filtering/pagination behavior
Collection Resolution: - If collection_identifiers not provided: uses retriever defaults - If provided: OVERRIDES retriever defaults - Can contain collection IDs, names, or both - Names are automatically resolved to IDs before execution - Duplicates are automatically deduplicated
Design Philosophy: - Filters, limits, and offsets are NOT top-level request fields - These are handled by stages when they receive inputs - Example: A stage might read {INPUT.top_k} to determine result limit - This keeps the execution model simple and stage-driven
Examples: Default collections: {"inputs": {"query": "AI", "top_k": 50}}
Override collections with mixed IDs and names:
{"inputs": {"query": "AI", "top_k": 50},
"collection_identifiers": ["col_123", "marketing", "sales"]}
Different inputs for stage behavior:
{"inputs": {
"query": "machine learning",
"top_k": 100,
"min_score": 0.7,
"published_after": "2024-01-01"
}}Runtime inputs for the retriever mapped to the input schema. Keys must match the retriever's input_schema field names. Values depend on field types (text, vector, filters, etc.). REQUIRED unless all retriever inputs have defaults.
Stages read these inputs to determine their behavior:
Common input keys:
Example: {"query": "machine learning", "top_k": 50, "min_score": 0.7}
OPTIONAL. List of collection identifiers to search. Can contain collection IDs, collection names, or both mixed together. When provided, OVERRIDES the retriever's default collections. When NOT provided, uses the retriever's default collections.
Identifier Resolution:
Use cases:
Note: All identifiers must exist in the namespace or request will fail.
1["col_marketing_2024", "sales_materials"]Pagination strategy configuration. Defaults to cursor-based pagination with limit=20. Supported methods: OFFSET, CURSOR, SCROLL, KEYSET. Each method has different tradeoffs for performance and use cases.
Successful Response