> This page is for Home.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.webflow.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.webflow.com/_mcp/server.

# Publishing individual pages

> You can now publish an individual page instead of the entire site

You can now publish an individual page instead of the entire site.

By default, the [Publish Site](/data/reference/sites/publish) endpoint continues to publish the entire site.
However, you can now pass the ID of a single page in the `pageId` parameter to publish only that page.

In the case of publishing an individual page, the API publishes:

* The HTML, JSON, and CSS for the selected pages
* All locales for the selected pages
* Page-specific JavaScript for the selected pages
* An updated static manifest that includes the new or updated pages
* An updates sitemap that includes the selected pages
* And updates `manifest.json` file to support detail pages (collection templates)

Global resources that have changed since last publish continue to show the version that was on the page in the Designer when the page was published.

## Example

To publish an individual page, include the ID of the page to publish:

```bash
curl -X POST https://api.webflow.com/v2/sites/{site_id}/publish \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
       "customDomains": ["660c6449dd97ebc7346ac629"],
       "publishToWebflowSubdomain": true,
       "pageId": "64abc123def4567890abcde1"
     }'
```

To publish the full site as usual, omit `pageId`:

```bash
curl -X POST https://api.webflow.com/v2/sites/{site_id}/publish \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
       "customDomains": ["660c6449dd97ebc7346ac629"],
       "publishToWebflowSubdomain": true
     }'
```

The response now includes a `publishScope` field to indicate whether the site or an individual page was published:

```json
{
  "customDomains": [],
  "publishToWebflowSubdomain": true,
  "publishScope": "page"
}
```

## Webhooks

The [Site Publish](/data/reference/webhooks/events/site-publish) webhook event has a new `publishScope` field, which shows `site` if the entire site was published and `page` if an individual page was published.
If this field is set to `page`, the `pageId` field shows the ID of the page.