Execute a marketplace retriever using its public name. Free tier listings can be accessed without authentication. Paid tier access requires a subscription token.
Documentation Index
Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Public name of the marketplace listing
Generate fresh presigned download URLs for all blobs with S3 storage
Include vector embeddings in response
Request payload for executing a retriever.
Executes a predefined retriever with runtime inputs. The retriever uses the collections it was created with - collection overrides are not supported at execution time to ensure feature_uri and schema validation integrity.
All filtering, pagination, and result shaping is handled by the individual stages based on the inputs provided.
Use Cases: - Execute retriever with its configured collections - Pass inputs that stages use to determine filtering/pagination behavior
Design Philosophy: - Retrievers are validated at creation time against their collections - Feature URIs, input schemas, and stage configs are tightly coupled to collections - 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
Examples: Simple query: {"inputs": {"query": "AI", "top_k": 50}}
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.
Common input keys:
Template Syntax (Jinja2):
Namespaces (uppercase or lowercase):
INPUT / input: Query inputs (e.g., {{INPUT.query}})DOC / doc: Document fields (e.g., {{DOC.payload.title}})CONTEXT / context: Execution contextSTAGE / stage: Stage configurationSECRET / secret: Vault secrets (e.g., {{SECRET.api_key}})Accessing Data:
{{DOC.payload.metadata.title}}{{DOC.payload['special-key']}}{{DOC.items[0]}}, {{DOC.tags[2]}}{{DOC.items | first}}, {{DOC.items | last}}Array Operations:
{% for item in DOC.tags %}{{item}}{% endfor %}{{DOC.items | map(attribute='name') | list}}{{DOC.tags | join(', ')}}{{DOC.items | length}}{{DOC.items[:5]}}Conditionals:
{% if DOC.status == 'active' %}...{% endif %}{% if DOC.score > 0.8 %}high{% else %}low{% endif %}{{'yes' if DOC.enabled else 'no'}}Built-in Functions: max, min, abs, round, ceil, floor
Custom Filters: slugify (URL-safe), bool (truthy coercion), tojson (JSON encode)
S3 URLs: Internal S3 URLs (s3://bucket/key) are automatically presigned when accessed via DOC namespace.
{
"query": "artificial intelligence",
"top_k": 25
}{
"min_score": 0.7,
"query": "customer feedback",
"top_k": 50
}{
"category": "blog",
"embedding": [0.1, 0.2, 0.3],
"top_k": 10
}Offset-based pagination using page number sizing.
Best for: Traditional page UIs with page number navigation
How it works:
Tradeoffs:
Use when:
Example: Page 1: {"method": "offset", "page_size": 25, "page_number": 1} Page 2: {"method": "offset", "page_size": 25, "page_number": 2}
Enable streaming execution to receive real-time stage updates via Server-Sent Events (SSE). NOT REQUIRED - defaults to False for standard execution.
When stream=True:
When stream=False (default):
Use streaming when:
Example streaming client (JavaScript):
const eventSource = new EventSource('/v1/retrievers/ret_123/execute?stream=true');
eventSource.onmessage = (event) => {
const stageEvent = JSON.parse(event.data);
if (stageEvent.event_type === 'stage_complete') {
console.log(`Stage ${stageEvent.stage_name} completed`);
console.log(`Documents: ${stageEvent.documents.length}`);
}
};Example streaming client (Python):
import requests
response = requests.post('/v1/retrievers/ret_123/execute',
json={'inputs': {...}, 'stream': True},
stream=True)
for line in response.iter_lines():
if line.startswith(b'data: '):
event = json.loads(line[6:])
print(f"Stage {event['stage_name']}: {event['event_type']}")false
true
OPTIONAL. List of fields containing document IDs to resolve inline. Referenced documents are fetched and attached under an '_expanded' key in each result document. Supports dot-notation for nested fields (e.g., 'items.product_id'). Max 50 unique references per request. Depth is limited to 1 (no recursive expansion).
["customer_id"]OPTIONAL. Bypass stage result cache for this execution. When True, all stages execute fresh without cache lookup. Useful after corpus updates, retriever config changes, or engine deploys. Results are still written to cache for future requests.
false
true
Generate presigned URLs for S3-backed blobs and url-shaped fields in result documents. Also accepted as a return_presigned_urls query parameter; if either source is true, presigning is enabled.
false
true
Include vector embeddings in result documents. Also accepted as a return_vectors query parameter; if either source is true, vectors are returned.
false
true
Successful Response