update_application
Apply a partial update. body.capabilities is a map of capability_id to ‘enabled’|‘disabled’, accepted only for capabilities OPTIONAL for the application and allowed by the registry. ‘disabled’ clears the override to the profile default. The app_builder profile’s OPTIONAL ids are files_assets, content_publishing, and public_api. public_api cannot be disabled through this tool, and it cannot be enabled through update_application while it is disabled, because a disabled public_api refuses this tool too: change it in the application’s settings in the console.
body.trustedImageOrigins (list of https origins) governs images on page-builder pages. body.siteCsp governs a hosted bring-your-own front-end site: a directive-keyed map of https origin lists (img, script, style, connect, font, media, frame, frame_ancestors) plus the booleans style_unsafe_inline (adds ‘unsafe-inline’ to style-src) and script_wasm (adds ‘wasm-unsafe-eval’ to script-src so the bundle may compile WebAssembly it ships). The two are separate; enabling a site seeds siteCsp.img from trustedImageOrigins only when siteCsp was never set.
body.structuredData is the application’s JSON-LD for SEO: a JSON object or an array of JSON objects, at most 16384 bytes after compact UTF-8 serialization. null removes it; omitting the key preserves the stored value.
body.allowedOrigins lists the origins that may call the application’s API cross-origin with credentials on its own hosts, such as a Capacitor shell’s capacitor://localhost: at most 20 unique scheme://host[:port] values with no path, stored lowercase. Accepted schemes are https, capacitor, ionic, and http only for localhost. Every write, [] included, requires the mobile_distribution capability to be enabled for the application. [] clears the list; omitting the key keeps it.
See https://docs.merofoundry.app/recipes/tool-update-application for the capability ids and the siteCsp directives.
Input schema
Section titled “Input schema”{ "additionalProperties": false, "properties": { "application_id": { "title": "Application Id", "type": "string" }, "body": { "additionalProperties": true, "title": "Body", "type": "object" }, "idempotency_key": { "title": "Idempotency Key", "type": "string" } }, "required": [ "application_id", "body", "idempotency_key" ], "title": "update_applicationArguments", "type": "object"}Output schema
Section titled “Output schema”{ "description": "Schema for application data in responses.", "properties": { "allowedOrigins": { "items": { "type": "string" }, "title": "Allowedorigins", "type": "array" }, "auditRetentionDays": { "default": 91, "title": "Auditretentiondays", "type": "integer" }, "componentPack": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Componentpack" }, "createdAt": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Createdat" }, "createdBy": { "format": "uuid", "title": "Createdby", "type": "string" }, "customDomain": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Customdomain" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "googleAnalyticsMeasurementId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Googleanalyticsmeasurementid" }, "icon": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Icon" }, "id": { "format": "uuid", "title": "Id", "type": "string" }, "identityModelId": { "anyOf": [ { "format": "uuid", "type": "string" }, { "type": "null" } ], "title": "Identitymodelid" }, "identitySettings": { "additionalProperties": true, "title": "Identitysettings", "type": "object" }, "mcpSettings": { "additionalProperties": true, "title": "Mcpsettings", "type": "object" }, "modelsWithoutApiKeyAccess": { "items": { "format": "uuid", "type": "string" }, "title": "Modelswithoutapikeyaccess", "type": "array" }, "name": { "title": "Name", "type": "string" }, "previewOrigin": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "HTTPS origin of the preview host (`<label>--preview.<parent>`) of the assigned platform subdomain, or null when no platform subdomain is assigned, no parent is configured, or the label cannot carry the preview suffix.", "title": "Previeworigin" }, "pushRegistrations": { "anyOf": [ { "description": "Active registrations per platform; the application read shapes carry it.", "properties": { "apns": { "default": 0, "title": "Apns", "type": "integer" }, "fcm": { "default": 0, "title": "Fcm", "type": "integer" } }, "title": "PushRegistrationCountsResponse", "type": "object" }, { "type": "null" } ], "description": "Active push device registrations of this application per platform (`apns`, `fcm`). Counts only, never tokens. Present on single-application reads, admin updates and imports; null elsewhere." }, "settings": { "additionalProperties": true, "title": "Settings", "type": "object" }, "slug": { "title": "Slug", "type": "string" }, "status": { "title": "Status", "type": "string" }, "tenantId": { "format": "uuid", "title": "Tenantid", "type": "string" }, "trustedImageOrigins": { "items": { "type": "string" }, "title": "Trustedimageorigins", "type": "array" }, "updatedAt": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "title": "Updatedat" }, "warnings": { "description": "Notices about this update that the caller must surface. Enabling `mcpSettings.allow_anonymous` returns: 'This endpoint now serves tools to unauthenticated callers; tools currently flagged anonymous: {tools}.'", "items": { "type": "string" }, "title": "Warnings", "type": "array" }, "workspaceId": { "format": "uuid", "title": "Workspaceid", "type": "string" } }, "required": [ "id", "tenantId", "workspaceId", "name", "slug", "status", "createdBy" ], "title": "ApplicationResponse", "type": "object"}