Skip to main content
POST
PublishWebsite
Questions or issues? Contact us at api-support@manus.ai.
Auth: API Key or OAuth token. No OAuth scope is required.
Website access: The authorized user must own the website or have write access to its source task. See Website access.
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.Visibility: Use private to limit access to the owner and invited collaborators. Setting team requires a team account. Omitting visibility uses public and replaces the site’s current visibility. The publish response does not echo visibility; read website.status.visibility for the effective value.Metadata-only change? To change title or visibility without redeploying, use website.update instead. See the Website guide.

Headers

x-manus-api-key
string

API key for direct authentication. Provide either this or Authorization, not both. See Authentication.

Authorization
string

OAuth2 access token in Bearer {token} format. No OAuth scope is required. Provide either this or x-manus-api-key, not both. See the Open App guide.

Example:

"Bearer {access_token}"

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. public — anyone. team — current team members only. private — owner and invited collaborators only. Setting team requires a team account. Defaults to public when omitted or sent as empty string, replacing the site's current visibility. Sites may cap the maximum allowed visibility — requests that exceed it return 403 permission_denied.

Available options:
public,
team,
private

Response

Publish triggered successfully. Deployment is still in progress — poll website.status for the final state and effective visibility. This response does not echo visibility.

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.