canonical: https://jentic.com/apis/hubspot.com/hubspot-cms-pages

# HubSpot Pages

The HubSpot CMS Pages API manages Site Pages and Landing Pages - the two primary marketing page types in HubSpot's CMS. It exposes endpoints for create, update, batch operations, scheduling, drafting, A/B testing, revisions, and multi-language groupings, plus full folder management for landing pages. Use it to author, schedule, translate, and version marketing pages programmatically rather than through the HubSpot UI.

## For AI agents

Create, update, schedule, A/B test, and translate HubSpot Site Pages and Landing Pages, with full revision and folder management for agentic publishing flows.

## Scope

Does not manage blog posts, templates, or connected domains - use for creating, updating, scheduling, and translating HubSpot Site and Landing Pages only.

## Capabilities

- Create or update Site Pages and Landing Pages individually or in batch
- Schedule a page to publish at a specific timestamp via the schedule endpoint
- Manage page drafts and push the draft version live in one call
- Roll a page back to an earlier revision or restore a revision into draft
- Run and end A/B tests on Site Pages with the dedicated ab-test endpoints
- Attach pages to a multi-language group so translations stay aligned
- Organise Landing Pages into folders, including batch folder create and archive

## Use cases

### Programmatic Landing Page Production

Marketing teams running many concurrent campaigns build landing pages from templates rather than from scratch. The Pages API exposes a batch create endpoint plus folder management, letting an integration spin up dozens of campaign landing pages in one orchestrated run. Each new page can be scheduled and attached to a folder for clean reporting.

Example prompt: POST 25 page payloads to /cms/v3/pages/landing-pages in a batch, attach them all to folder 'Q4-Campaign' via /cms/v3/pages/landing-pages/folders/batch/create, and schedule each via /cms/v3/pages/landing-pages/{objectId}/draft and the schedule endpoint.

### Multi-Language Page Publishing

Brands launching campaigns in several languages need each translation tied to the source page so reporting rolls up cleanly. The multi-language endpoints attach pages to a language group, set a primary, and update language assignments - keeping a single conceptual page across locales rather than disconnected duplicates.

Example prompt: POST to /cms/v3/pages/site-pages/multi-language/attach-to-lang-group with the source page ID and the translated page IDs, then call set-new-lang-primary if the primary language has changed.

### A/B Test Lifecycle Automation

Conversion-rate teams run a constant cadence of A/B tests on landing pages. Using the ab-test endpoints, an agent can launch a test, monitor results via revision endpoints, and call the ab-test/end endpoint to crown the winner - all without entering the HubSpot UI. The result is a reproducible experimentation loop.

Example prompt: After 7 days of traffic, POST to /cms/v3/pages/site-pages/ab-test/end with the winning variant, then update any campaign reporting to reflect the winning page.

### Pre-Publish Revision Audit

Before a major page goes live, an editor wants to confirm exactly what changed since the last published version. The revisions endpoints return the change history and a specific revision payload so the agent can render a diff for human approval, then push the draft live or restore a prior revision if rejected.

Example prompt: GET /cms/v3/pages/site-pages/{objectId}/revisions, fetch the latest two revisions, render a side-by-side diff for the reviewer, and either push the draft live or POST to the restore endpoint.

### Agent-Driven Page Publishing

An AI agent handed a brief plus brand assets needs to produce a live landing page end-to-end. Through Jentic, the agent searches for the create-landing-page operation, loads the schema, and executes it; subsequent calls schedule the page, attach it to a folder, and push the draft live. Credentials never leave your Jentic One instance.

Example prompt: Use Jentic to search 'create hubspot landing page', load the schema, execute it with the brief, then call the draft push-live endpoint to bring the page online.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /cms/v3/pages/landing-pages | Create a landing page |
| POST | /cms/v3/pages/site-pages/batch/update | Update site pages in batch |
| POST | /cms/v3/pages/site-pages/schedule | Schedule a site page to publish |
| POST | /cms/v3/pages/site-pages/ab-test/end | End an A/B test on a site page |
| GET | /cms/v3/pages/site-pages/{objectId}/revisions | List revisions of a site page |
| POST | /cms/v3/pages/landing-pages/{objectId}/draft | Update the draft of a landing page |
| POST | /cms/v3/pages/site-pages/multi-language/attach-to-lang-group | Attach a page to a language group |
| POST | /cms/v3/pages/landing-pages/folders/batch/create | Create landing page folders in batch |

## Key resources

- **Site Page** — Create, read, update, schedule, A/B test, and version Site Pages
- **Landing Page** — Create, read, update, schedule, draft, and version Landing Pages
- **Landing Page Folder** — Organise landing pages into folders with single and batch operations
- **Page Revision** — Inspect and restore prior revisions for site and landing pages
- **Multi-language Group** — Attach, detach, and re-prime page variants across translations

## Why Jentic

- **Setup:** Wiring HubSpot Pages by hand means registering an OAuth app or minting a private app token, targeting api.hubapi.com, and coding the batch updates, scheduling, drafts, and multi-language calls yourself. Through Jentic you install once, import Pages from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Pages exposes create, batch update, and scheduling largely through request bodies, so scope your agent to the operations it needs, such as creating a landing page or scheduling a site page. You choose the operations it may call, so ending an A/B test is only available if you include it.
- **Credential handling:** Your HubSpot OAuth token or private app token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a HubSpot landing page' or 'schedule a site page', and Jentic returns the matching Pages operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Blog Posts** — Manages blog post objects rather than landing or site pages
- **Domains** — Provides the connected domains on which these pages are published
- **CMS Source Code** — Manages templates and modules referenced by these pages
- **URL Redirects** — Configures redirects for replaced or retired pages

## FAQ

### What authentication does the HubSpot CMS Pages API use?

It accepts HubSpot OAuth 2.0 tokens or Private App tokens in the Authorization header with the content scope. Jentic stores those credentials in its encrypted vault and gives the agent only a scoped execution token at call time.

### Can I create both Site Pages and Landing Pages with this API?

Yes. Site Pages are managed under /cms/v3/pages/site-pages and Landing Pages under /cms/v3/pages/landing-pages, with parallel endpoints for each type. They share the revision and multi-language patterns but maintain separate object records.

### What are the rate limits for the HubSpot Pages API?

It uses HubSpot's standard public API caps: 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for Private Apps on Pro and Enterprise. The batch endpoints help large publishing jobs stay under the limit.

### How do I schedule a landing page to publish through Jentic?

Run pip install jentic, search 'schedule hubspot landing page', load the schema, and execute it with the page ID and target timestamp. Jentic posts to the schedule endpoint with the right auth headers.

### Does the Pages API let me upload page templates?

No. Templates and modules are managed by the CMS Source Code API. The Pages API consumes templates (by template path or ID) but does not create or upload them.

### Can I run an A/B test entirely through the API?

Yes. The site-pages namespace exposes ab-test/end and complementary endpoints to manage test variants. Combine with revisions to track the winning variant before formally ending the test.

### Can I limit what my agent is allowed to do with the HubSpot CMS Pages API?

Yes. Because you run Jentic One yourself, you decide which Pages operations the agent can call, so you can grant only what a task needs, such as creating a landing page or scheduling a site page, while withholding others. Since actions like ending an A/B test, restoring a revision, or batch-archiving folders are separate operations, they are reachable only if you include them. Your HubSpot OAuth or private app token is held by your own instance and injected at call time, so the agent operates strictly within the operations and credentials your rules allow.
