deploy
Put a website live at a public URL. Use this when the user wants to publish, launch, or get a page online — e.g. 'I need a website', 'put up a page for my business', 'make this live'. Takes static files (HTML, CSS, JS, images) and returns a working URL anyone can open. No build step, no config. First call: omit site_id and edit_token — you get back a url, a site_id, and an edit_token. Keep the edit_token; it's the only way to change this site later. Later calls: pass site_id + edit_token to publish over the same site. deploy REPLACES the whole site — any file you leave out is DELETED. To change just one or a few files, use update_site_file instead. To see what's currently live before editing, use get_site_files first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email to associate with the site. Captured unverified at first deploy; verification only required later for custom domains and recovery. | ||
| files | Yes | Files to publish. Must include an index.html at the root. | |
| site_id | No | Existing site id to update. Omit to create a new site. | |
| edit_token | No | Edit token returned at create time. Required to update. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The live URL of the published site. | |
| created | Yes | true if this call created a new site; false if it updated an existing one. | |
| site_id | Yes | The site's slug / id — pass back to update it later. | |
| edit_token | No | Returned ONLY on first create. Save it — it's the only way to update this site. | |
| total_bytes | Yes | Total size of the site in bytes after this deploy. | |
| email_masked | Yes | The owner email, masked for display (e.g. 'a***@example.com'). | |
| dashboard_url | Yes | Deep link to this site in the owner's dashboard. | |
| email_verified | Yes | Whether the site's owner email is verified right now. New sites are always false. | |
| files_uploaded | Yes | Number of files written in this deploy. | |
| verify_required | Yes | true when the owner still needs to verify their email (keys on !email_verified). |