Skip to main content
POST
Publish Retriever

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

retriever_id
string
required

ID of the retriever to publish

Body

application/json

Request to publish a retriever.

Either public_name (slug) or display_name (human-readable) is required. If only display_name is provided, a slug is auto-generated from it. If display_config is not provided, the retriever's stored display_config will be used.

display_name
string | null

Human-readable display name for this retriever (free-form text). Example: 'Peptide Evidence Search'. A URL-safe slug is auto-generated from this if public_name is not provided.

Maximum string length: 100
Example:

"Peptide Evidence Search"

public_name
string | null

URL-safe slug (lowercase letters, digits, hyphens only). Must start and end with an alphanumeric character. Example: 'peptide-evidence-search'. Used in the public URL: mxp.co/r/{public_name}. Auto-generated from display_name if not provided.

Required string length: 3 - 50
Pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
Example:

"video-search"

description
string | null

Description of this public retriever. Explains what the retriever does and what it searches. Displayed in public listings and search results.

Maximum string length: 500
Example:

"AI-powered video search using semantic understanding"

icon_base64
string | null

Base64 encoded icon/favicon for this public retriever. Data URI format recommended. Max size: ~200KB encoded. Displayed in public listings and as the retriever's icon.

Maximum string length: 300000
Example:

"data:image/png;base64,iVBORw0KGgoAAAANS..."

display_config
DisplayConfig · object | null

Display configuration defining how the public UI should be rendered. Includes input fields, theme, layout, and exposed result fields. If not provided, uses the retriever's stored display_config.

Example:
rate_limit_config
RateLimitConfig · object

Rate limiting configuration for public endpoint. Defaults to STANDARD tier (10/min, 100/hour, 1k/day). Use ELEVATED tier for trusted public apps (30/min, 500/hour, 5k/day). Use ENTERPRISE tier for monitored deployments (100/min, 2k/hour, 20k/day). Custom limits override tier defaults.

Examples:
password_secret_name
string | null

OPTIONAL. Name of organization secret containing password for access protection. If provided, users must send password via X-Retriever-Password header.

Example:

"published_retriever_password"

include_metadata
boolean
default:true

Whether to capture and store retriever metadata (stages, collections, capabilities). Recommended: True for better developer experience and debugging. Default: True.

tags
string[]

Tags for categorizing this retriever. Used for filtering in public listings and gallery views.

Examples:
category
string | null

Primary category for this retriever. Examples: 'sandbox', 'marketplace', 'demo', 'production'.

Maximum string length: 50
Example:

"sandbox"

Response

Successful Response

Response after successfully publishing a retriever.

public_id
string
required

Public identifier for this published retriever

retriever_id
string
required

ID of the underlying retriever

public_url
string
required

Full public URL to the retriever page

Example:

"https://mxp.co/r/video-search"

short_url
string
required

Short URL via mxp.co redirect (same as public_url)

Example:

"https://mxp.co/r/video-search"

public_api_key
string | null

DEPRECATED: API keys are no longer required for public retriever access. For programmatic SDK access, create a ret_sk_ key via the retrievers/{id}/keys endpoint.