---
title: "Publish Agent Pages"
method: POST
path: "/{brand_id}/sites/{site_id}/agent-pages/publish"
tags: ["agent-pages"]
---

# Publish Agent Pages

`POST /{brand_id}/sites/{site_id}/agent-pages/publish`

## Request

- Base URL: `https://api.scrunchai.com/v1`
- URL: `https://api.scrunchai.com/v1/{brand_id}/sites/{site_id}/agent-pages/publish`
- Auth: HTTP bearer

Make pages Agent Pages now, including pages the site's sitemap does not list. Each path is fetched and optimized right away and served once that finishes, usually within minutes. A path on the Ignore List is published only if the unpublish API put it there. Returns one outcome per requested path. Each path can be published once every 5 minutes, and each brand up to 500 paths per rolling hour and 5,000 per rolling 24 hours. Returns 429 with a `Retry-After` header when the brand's quota is used up, and 409 when Agent Pages are not active on the site.

## Path parameters

- `brand_id` integer, required
- `site_id` union, required
  - string
  - string, binary

## Request body

- AgentPagesPublishRequest
  - `paths` string[], required: Site-relative paths to publish, e.g. ['/pricing'].

## Response `200`

Successful Response

- AgentPagesPublishResponse
  - `results` AgentPagesPublishResult[], required
    - `path` string, required
    - `outcome` 'queued' | 'already_published' | 'excluded' | 'over_budget' | 'invalid_path' | 'cooldown' | 'rate_limited', required
    - `retry_after` string, date-time, nullable
    - `in_sitemap` boolean, nullable
    - `warnings` string[]
  - `quota` AgentPagesRefreshQuotas, required: The brand's rolling windows. A path is queued only while both have room.
    - `hourly` AgentPagesRefreshQuota, required
      - `limit` integer, required
      - `remaining` integer, required
      - `resets_at` string, date-time, nullable
    - `daily` AgentPagesRefreshQuota, required
      - `limit` integer, required
      - `remaining` integer, required
      - `resets_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-30** `2cb19990ea21`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/scrunchai/apis/scrunch-data-api/changes/:brand_id/sites/:site_id/agent-pages/publish/post.md)

---

[API](https://skmtc.dev/scrunchai/apis/scrunch-data-api.md) - [All operations](https://skmtc.dev/scrunchai/apis/scrunch-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/scrunchai/apis/scrunch-data-api/revisions/de4fc679600a?raw)
