Skip to main content
POST
/
v2
/
website.publish
PublishWebsite
curl --request POST \
  --url https://api.manus.ai/v2/website.publish \
  --header 'Content-Type: application/json' \
  --header 'x-manus-api-key: <api-key>' \
  --data '
{
  "task_id": "<string>",
  "website_id": "<string>",
  "visibility": "public"
}
'
{
  "ok": true,
  "request_id": "<string>",
  "website_id": "<string>",
  "version_id": "<string>"
}
Questions or issues? Contact us at api-support@manus.ai.
Deploys latest: Always deploys the website’s most recent checkpoint — there is no version_id parameter. Use website.listCheckpoints to inspect history.Asynchronous: Poll website.status until publish_status is published or failed.Metadata-only change? To change title or visibility without redeploying, use website.update instead. See the Website guide.

Authorizations

x-manus-api-key
string
header
required

Body

application/json
task_id
string

Session UID. Mutually exclusive with website_id — exactly one must be provided.

website_id
string

Unique website ID. Mutually exclusive with task_id — exactly one must be provided.

visibility
enum<string>

Who can access the published site. Defaults to public when omitted or sent as empty string. team is only available to team accounts. Sites may cap the maximum allowed visibility — requests that exceed it return 403 permission_denied.

Available options:
public,
team

Response

Publish triggered successfully. Deployment is still in progress — poll website.status for the final state.

ok
boolean

Whether the request was successful.

Example:

true

request_id
string

Unique identifier for this API request.

website_id
string

Unique website ID.

version_id
string

version_id of the checkpoint being deployed — always the latest checkpoint of the site.