{
 "documentation_revision": 27,
 "api_revision": 73,
 "source": "Endpoints.all + Learn.endpoints + McpTools",
 "operation": {
  "summary": "Dry run: check an applet package and fill its blanks without storing or creating anything; returns exactly what the owner would review",
  "method": "POST",
  "auth": true,
  "mcp_tool": "applets_validate",
  "query": [],
  "developer_only": false,
  "capture": false,
  "body": [
   {
    "name": "package",
    "description": "The applet file itself: a bridgit-template/1 definition with runtime.adapter android.package.v1 (see https://bridgit.cc/learn/builder/applet-packages.md)",
    "type": "object",
    "required": false
   },
   {
    "name": "url",
    "description": "Instead of package: an https://bridgit.cc/\u2026 package file (for example a recipe's applet.json)",
    "type": "string",
    "required": false
   },
   {
    "name": "template",
    "description": "Instead of package: a template registry key (with revision)",
    "type": "string",
    "required": false
   },
   {
    "name": "revision",
    "description": "With template: the immutable revision",
    "type": "integer",
    "required": false
   },
   {
    "name": "config",
    "description": "Values for the applet's blanks (config_schema); the rest use defaults. The owner can still change them on the review screen",
    "type": "object",
    "required": false
   }
  ],
  "example": "POST /v1/applets/validate {\"url\":\"https://bridgit.cc/recipes/room-change-watcher/applet.json\",\"config\":{\"interval_s\":60}}",
  "idempotent": false,
  "path": "/v1/applets/validate",
  "capability": "applet_install",
  "returns": "valid, review{package_id, name, version, parts[] (plain words: what, how often, cost), permissions[{id, words}], blockers[], config, update}, or errors[]",
  "mcp_input_schema": {
   "type": "object",
   "properties": {
    "template": {
     "description": "Instead of package: a template registry key (with revision)",
     "type": "string"
    },
    "package": {
     "description": "The applet file itself: a bridgit-template/1 definition with runtime.adapter android.package.v1 (see https://bridgit.cc/learn/builder/applet-packages.md)",
     "type": "object"
    },
    "config": {
     "description": "Values for the applet's blanks (config_schema); the rest use defaults. The owner can still change them on the review screen",
     "type": "object"
    },
    "url": {
     "description": "Instead of package: an https://bridgit.cc/\u2026 package file (for example a recipe's applet.json)",
     "type": "string"
    },
    "revision": {
     "description": "With template: the immutable revision",
     "type": "integer"
    }
   },
   "required": []
  },
  "errors": ["invalid_parameter"],
  "requires": null
 }
}
