For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Resources
Get started
ReferenceGuidesExamplesChangelog
ReferenceGuidesExamplesChangelog
  • Data API
    • Introduction
  • Token
    • GETGet Authorization User Info
    • GETGet Authorization Info
  • Sites
    • GETList Sites
    • GETGet Site
    • GETGet Custom Domains
    • POSTPublish Site
  • Pages and Components
  • CMS
  • Forms
  • Custom Code
  • Assets
  • Comments
    • GETList Comment Threads
    • GETGet Comment Thread
    • GETList Comment Replies
  • Ecommerce
  • Webhooks
    • GETList Webhooks
    • GETGet Webhook
    • POSTCreate Webhook
    • DELRemove Webhook
  • Site Configuration
  • Enterprise
LogoLogo
Resources
Get started
Sites

Publish Site

POST
https://api.webflow.com/v2/sites/:site_id/publish
POST
/v2/sites/:site_id/publish
$curl -X POST https://api.webflow.com/v2/sites/580e63e98c9a982ac9b8b741/publish \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "customDomains": [
> "660c6449dd97ebc7346ac629",
> "660c6449dd97ebc7346ac62f"
> ],
> "publishToWebflowSubdomain": false
>}'
1{
2 "customDomains": [
3 {
4 "id": "589a331aa51e760df7ccb89d",
5 "url": "test-api-domain.com",
6 "lastPublished": "2022-12-07T16:51:37.571Z"
7 }
8 ],
9 "publishToWebflowSubdomain": false,
10 "publishScope": "site"
11}
Publishes a site or an individual page to one or more domains. If multiple individual pages are published to staging, publishing from staging to production publishes all staged changes. To publish to a specific custom domain, use the domain IDs from the [Get Custom Domains](/data/reference/sites/get-custom-domain) endpoint. You must include at least one of the `customDomains` or `publishToWebflowSubdomain` properties in the request body. To publish an individual page instead of the entire site, provide the ID of the page in the `pageId` parameter. <Note title="Rate limit: 1 publish per minute">This endpoint has a specific rate limit of one successful publish queue per minute.</Note> Required scope | `sites:write`
Was this page helpful?
Previous

List Pages

Next
Built with

Publishes a site or an individual page to one or more domains. If multiple individual pages are published to staging, publishing from staging to production publishes all staged changes.

To publish to a specific custom domain, use the domain IDs from the Get Custom Domains endpoint.

You must include at least one of the customDomains or publishToWebflowSubdomain properties in the request body.

To publish an individual page instead of the entire site, provide the ID of the page in the pageId parameter.

Rate limit: 1 publish per minute
This endpoint has a specific rate limit of one successful publish queue per minute.

Required scope | sites:write

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

site_idstringRequiredformat: "objectid"
Unique identifier for a Site

Request

This endpoint expects an object.
customDomainslist of stringsOptional
Array of Custom Domain IDs to publish
publishToWebflowSubdomainbooleanOptionalDefaults to false
Choice of whether to publish to the default Webflow Subdomain
pageIdstringOptional
The ID of the page to publish

Response

Request accepted
customDomainslist of objects
Array of domains objects
publishToWebflowSubdomainbooleanDefaults to false
Flag for publishing to webflow.io subdomain
publishScopeenum
Whether the site or an individual page was published
Allowed values:

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error