Save a Private Website Draft
website.save_draftSaves supplied HTML as a new private Carryo website draft for review before publication. Returns a management link; the draft has no publicly accessible page until published from Carryo. Passwords and restricted access are configured in the Carryo web app. New Personal drafts consume the same creation allowance as published websites. Personal is the default destination; workspaceId selects a user-chosen team. Image assets use relative HTML paths and exactly one source: a fileId matching a host-supplied imageFiles attachment, or a fetchable HTTP(S) sourceUrl. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported. Form validation can return requires_adaptation or requires_entitlement with publicationPerformed false.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| forms | No | Optional definitions for JavaScript/React forms using window.CarryoForms.submit(key, values), which resolves on acceptance and rejects on failure. Stable keys and field names identify forms across edits. Static collection forms are inferred from data-carryo-form="key" and named controls without duplicate definitions; placeholder submit handlers can block collection. Local calculator/filter forms use data-carryo-local and do not collect responses. Existing external endpoints retain their destination. Visitor acknowledgement is disabled unless explicitly enabled. | |
| assets | No | Optional image assets to add or replace. Each entry requires a relative HTML path and exactly one of fileId (matching imageFiles[].file_id) or sourceUrl (a fetchable HTTP(S) image URL). Existing images are preserved when omitted. The hosted-image allowance applies to the final website collection; replacing an existing path does not use another slot. Base64 bytes and data URLs are unsupported. | |
| fileName | Yes | Short internal file name, for example client-proposal.html, board-deck.html, report.html, or landing-page.html. | |
| expiresAt | No | Optional ISO-8601 expiration timestamp | |
| customSlug | No | Optional user-chosen URL ending using lowercase letters, numbers, and hyphens. An automatic URL is generated when omitted. | |
| imageFiles | No | Optional image attachments supplied by a compatible host, with file_id and download_url. Each attachment is mapped to a relative HTML path by an assets entry with the matching fileId. Temporary download URLs are import sources, not hosted image URLs. Clients without file input support can omit this field. | |
| htmlContent | Yes | Complete HTML for the private Carryo draft page, presentation, slide deck, proposal, report, landing page, dashboard, invitation, portfolio, or one-page website. | |
| workspaceId | No | Optional exact workspaceId of the Carryo team explicitly selected by the user. The default destination is Personal when omitted. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| forms | No | ||
| status | No | ||
| draftId | No | Carryo private draft identifier | |
| message | No | ||
| guidance | No | ||
| expiresAt | No | Optional ISO-8601 expiration timestamp | |
| manageUrl | No | Carryo URL where the user can review access settings and publish the draft | |
| workspaceId | No | Workspace that owns the draft; omitted for Personal | |
| currentVersionNumber | No | ||
| publicationPerformed | No |