{"name":"Verified Deploy","version":"0.1.0-beta","description":"Use when an agent needs to safely publish or host a generated multi-file HTML/CSS/JS website at a public URL without an account or API key. Verified Deploy checks index.html, linked assets, and required selectors before publishing. Failed checks neither publish nor settle payment. Successful releases are versioned for rollback. Reuse site_id and manage_token to publish paid updates to the same URL. Current price: 0.01 USDC per successful publish.","price":{"amount":"0.01","currency":"USDC","network":"Base","unit":"verified deployment","status":"active"},"endpoint":"https://verified-deploy.road-me-band.chatgpt.site/api/deploy","rollback_endpoint":"https://verified-deploy.road-me-band.chatgpt.site/api/rollback","discovery":{"x402":"https://verified-deploy.road-me-band.chatgpt.site/.well-known/x402","agent":"https://verified-deploy.road-me-band.chatgpt.site/.well-known/agent.json","llms":"https://verified-deploy.road-me-band.chatgpt.site/llms.txt","openapi":"https://verified-deploy.road-me-band.chatgpt.site/openapi.json"},"limits":{"archive_mb":5,"uncompressed_mb":12,"files":100},"input":{"content_type":"application/json","schema":{"type":"object","additionalProperties":false,"required":["files"],"properties":{"files":{"type":"array","description":"Static site files. At least one file is required; the deployment may contain at most 100 files.","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"path":{"type":"string","minLength":1,"description":"Relative file path such as index.html or assets/app.js. Absolute paths and path traversal are rejected."},"content":{"type":"string","description":"UTF-8 text content. Provide exactly one of content or content_base64."},"content_base64":{"type":"string","contentEncoding":"base64","description":"Base64-encoded binary content. Provide exactly one of content or content_base64."},"content_type":{"type":"string","description":"Optional MIME type. When omitted, it is inferred from path."}},"oneOf":[{"required":["content"],"not":{"required":["content_base64"]}},{"required":["content_base64"],"not":{"required":["content"]}}]}},"checks":{"type":"array","description":"Verification checks. entrypoint and linked-assets run automatically; declaring them makes the requested evidence explicit. Up to 20 checks may be supplied.","maxItems":20,"items":{"oneOf":[{"type":"object","additionalProperties":false,"required":["type","path"],"properties":{"type":{"const":"entrypoint"},"path":{"const":"index.html","description":"Required site entrypoint."}}},{"type":"object","additionalProperties":false,"required":["type","path"],"properties":{"type":{"const":"linked-assets"},"path":{"const":"index.html","description":"HTML document whose relative src and href assets must exist."}}},{"type":"object","additionalProperties":false,"required":["type","path","exists"],"properties":{"type":{"const":"selector"},"path":{"type":"string","description":"HTML route to inspect, for example /."},"exists":{"type":"string","minLength":1,"maxLength":100,"description":"Required simple CSS selector: an ID, class, or element selector."}}}]}},"site_id":{"type":"string","minLength":1,"description":"Optional. Include the site_id returned by the first successful deployment to update that site."},"manage_token":{"type":"string","minLength":1,"description":"Optional. Required together with site_id when updating an existing site. It is returned only by the first successful deployment."}},"allOf":[{"if":{"required":["site_id"]},"then":{"required":["manage_token"]}},{"if":{"required":["manage_token"]},"then":{"required":["site_id"]}}]},"example":{"files":[{"path":"index.html","content":"<link rel=\"stylesheet\" href=\"styles.css\"><h1 id=\"ready\">Live</h1>"},{"path":"styles.css","content":"#ready { color: green; }"}],"checks":[{"type":"entrypoint","path":"index.html"},{"type":"linked-assets","path":"index.html"},{"type":"selector","path":"/","exists":"#ready"}]}},"output":{"schema":{"type":"object","additionalProperties":false,"required":["ok","verdict","site_id","version_id","site_url","previous_version_id","checks"],"properties":{"ok":{"type":"boolean","description":"True only when all checks passed and the version was published."},"verdict":{"type":"string","enum":["verified_and_published","rejected_not_published"]},"site_id":{"type":["string","null"],"description":"Stable site identifier. Reuse it with manage_token for updates."},"version_id":{"type":["string","null"],"description":"Immutable version identifier; null when no version was published."},"site_url":{"type":["string","null"],"description":"Absolute public URL for a successfully published site; null on rejection."},"previous_version_id":{"type":["string","null"],"description":"Previously active verified version, when one exists."},"checks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["type","target","passed","detail"],"properties":{"type":{"type":"string","enum":["entrypoint","linked-assets","selector","status","text","asset"]},"target":{"type":"string"},"passed":{"type":"boolean"},"detail":{"type":"string"}}}},"manage_token":{"type":"string","description":"Returned only by the first successful deployment. Never returned again."},"manage_token_note":{"type":"string","description":"Storage warning and update instruction returned with manage_token."},"next_action":{"type":"object","additionalProperties":false,"description":"Present after a successful publish. Gives the agent an exact, machine-readable path to a paid update of the same public site.","required":["type","method","endpoint","include_fields","note"],"properties":{"type":{"const":"update_same_site"},"method":{"const":"POST"},"endpoint":{"type":"string","pattern":"^https?://"},"include_fields":{"type":"array","minItems":3,"maxItems":3,"prefixItems":[{"const":"site_id"},{"const":"manage_token"},{"const":"files"}],"items":false},"note":{"type":"string"}}},"error":{"type":"string","description":"Present when verification fails."}}},"example":{"ok":true,"verdict":"verified_and_published","site_id":"site_demo91c2","version_id":"ver_demoa47f","site_url":"https://verified-deploy.example/s/site_demo91c2","previous_version_id":null,"checks":[{"type":"entrypoint","target":"/","passed":true,"detail":"index.html is present"},{"type":"linked-assets","target":"/","passed":true,"detail":"All relative src/href assets exist"},{"type":"selector","target":"/","passed":true,"detail":"Found selector: #ready"}],"manage_token":"vd_demo_manage_token_not_valid_for_any_site","manage_token_note":"Store this token now. It is never shown again. Reuse it with site_id to publish updates to the same URL.","next_action":{"type":"update_same_site","method":"POST","endpoint":"https://verified-deploy.example/api/deploy","include_fields":["site_id","manage_token","files"],"note":"Call the same paid endpoint with this site_id and manage_token to publish a new verified version to the same site_url."}}},"errors":{"schema":{"type":"object","required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"string"},"detail":{"type":"string"},"verdict":{"type":"string"},"site_id":{"type":["string","null"]},"version_id":{"type":["string","null"]},"site_url":{"type":["string","null"]},"previous_version_id":{"type":["string","null"]},"checks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["type","target","passed","detail"],"properties":{"type":{"type":"string","enum":["entrypoint","linked-assets","selector","status","text","asset"]},"target":{"type":"string"},"passed":{"type":"boolean"},"detail":{"type":"string"}}}}}},"pending_outcome":{"202":"Settlement is indeterminate or confirmed while publication finalization is pending. Retry the exact same signed request. The release is not reported as published until finalization succeeds."},"statuses":{"400":"Invalid request. Nothing is published and payment is not settled.","402":"Payment required. Nothing is published.","422":"Verification checks failed. Nothing is published and payment is not settled.","500":"Internal error. Nothing is published and payment is not settled."}}}