Update an App
Partially update an App configuration (saved as draft).
All fields are optional — only the fields you provide are updated.
Updates are draft by default. Set publish: true to apply and publish
in a single call.
Headers
Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.
"Bearer YOUR_MIXPEEK_API_KEY"
Path Parameters
App ID (e.g. app_abc123def456)
Body
Request to update an existing App (all fields optional).
For deploy-based apps, typically only auth_config, build_config,
meta, and slug are updated here. Code changes go through the
deploy pipeline.
Legacy page-builder fields are accepted for backward compatibility but deprecated.
3 - 60^[a-z0-9][a-z0-9-]*[a-z0-9]$Page-level metadata (REQUIRED when creating a page).
This object is separate from the optional seo field.
meta controls the visible page chrome (browser tab title, logo, favicon),
while seo controls search-engine tags (og:title, og:description, etc.).
End-user authentication configuration for an App.
Supported modes:
public: No authentication required (default)clerk: Managed auth via Clerk Organizations — handles Google, GitHub, email/password signup/login. Each canvas app maps to a Clerk Organization. Users are synced to canvas_users via Clerk webhooks.password: Simple password gate — visitors must enter a password to access the app. The password is hashed (bcrypt) before storage.api_key,jwt,sso_oidc,sso_saml: Advanced modes retained for future use.
JSX build configuration for an App.
Phase 1: schema only. Phase 3: used by the build pipeline Celery task.
Opt-in monitoring configuration for a Canvas app.
All monitoring is off by default except error_boundary_enabled, which
is a client-side UX safety net (shows fallback UI instead of blank page)
and sends no data externally.
When sentry_enabled or posthog_enabled are turned on, monitoring
data is sent to Mixpeek-internal Sentry/PostHog — never to the
customer's own observability stack. PII is stripped via beforeSend /
mask_all_text, and session replay is always off.
When true, applies the update and immediately publishes.
Hero section configuration for a page.
Theme configuration for public retriever UI.
Defines colors, fonts, and visual styling for the public search interface.
SEO configuration for public retriever discoverability.
Auto-generated during publishing with sensible defaults inferred from the retriever's display_config. All fields can be overridden manually.
This configuration controls how the public retriever appears in:
- Search engine results (Google, Bing, etc.)
- Social media shares (Twitter, Facebook, LinkedIn)
- Link previews in messaging apps
{
"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"
}Configuration for the featured gallery section.
Response
Updated App configuration
Response model for an App.
Deploy-based apps use versions, environments, build_config,
and auth_config. Legacy page-builder fields (template,
sections, custom_html, hero, theme, seo, stats,
featured_gallery, tabs, password_protected) are included
for backward compatibility but deprecated.
Canonical published URL (https://{slug}.mxp.co)
Page-level metadata (REQUIRED when creating a page).
This object is separate from the optional seo field.
meta controls the visible page chrome (browser tab title, logo, favicon),
while seo controls search-engine tags (og:title, og:description, etc.).
End-user authentication configuration for an App.
Supported modes:
public: No authentication required (default)clerk: Managed auth via Clerk Organizations — handles Google, GitHub, email/password signup/login. Each canvas app maps to a Clerk Organization. Users are synced to canvas_users via Clerk webhooks.password: Simple password gate — visitors must enter a password to access the app. The password is hashed (bcrypt) before storage.api_key,jwt,sso_oidc,sso_saml: Advanced modes retained for future use.
JSX build configuration for an App.
Phase 1: schema only. Phase 3: used by the build pipeline Celery task.
Hero section configuration for a page.
Theme configuration for public retriever UI.
Defines colors, fonts, and visual styling for the public search interface.
SEO configuration for public retriever discoverability.
Auto-generated during publishing with sensible defaults inferred from the retriever's display_config. All fields can be overridden manually.
This configuration controls how the public retriever appears in:
- Search engine results (Google, Bing, etc.)
- Social media shares (Twitter, Facebook, LinkedIn)
- Link previews in messaging apps
{
"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"
}Configuration for the featured gallery section.
Opt-in monitoring configuration for a Canvas app.
All monitoring is off by default except error_boundary_enabled, which
is a client-side UX safety net (shows fallback UI instead of blank page)
and sends no data externally.
When sentry_enabled or posthog_enabled are turned on, monitoring
data is sent to Mixpeek-internal Sentry/PostHog — never to the
customer's own observability stack. PII is stripped via beforeSend /
mask_all_text, and session replay is always off.
Deploy version history with timestamps and environment info

