canonical: https://jentic.com/apis/hubspot.com/hubspot-cms-blog-settings

# HubSpot Blog Settings

The HubSpot Blog Settings API manages the configuration of each Blog object in a HubSpot portal - the container that holds posts, authors, tags, and templates. It exposes endpoints for reading and updating per-blog settings, listing revision history, and grouping settings across translated blog variants. Use it when the same configuration change must be applied uniformly across multiple blogs or language editions.

## For AI agents

Read and update HubSpot Blog Settings, including multi-language groupings and revision history, so an agent can keep blog configuration consistent across brands or locales.

## Scope

Does not create new blogs, publish blog posts, or manage authors - use for reading and updating existing HubSpot Blog configuration only.

## Capabilities

- Retrieve current settings for a specific blog by blogId
- List every blog configured in the HubSpot portal in one call
- Roll a blog's settings back to a prior revision when a change introduces an error
- Inspect the full revision history for a blog before approving a configuration change
- Attach a blog to a multi-language group so translated blogs share configuration intent
- Update settings across every language variant of a blog in one batch call

## Use cases

### Multi-Locale Blog Configuration

Brands running translated blogs need shared configuration - categories, root URL, posting cadence - to stay aligned. The multi-language endpoints attach blog variants to one group and propagate updates across them in a single call. The result is fewer drift bugs between locales and a faster path from a configuration change to live blog content.

Example prompt: Group three blogs under one language group via /cms/v3/blog-settings/settings/multi-language/attach-to-lang-group, then call /cms/v3/blog-settings/settings/multi-language/update-languages to apply a shared change.

### Configuration Change Approval

When marketing operations changes a blog's URL structure or template, mistakes can break canonical URLs and SEO. The settings revision endpoints let an agent diff the current state against a prior revision, flag the change, and roll back via the revision-restore route if the change is rejected.

Example prompt: Fetch /cms/v3/blog-settings/settings/{blogId}/revisions, compare the latest two revisions, and if the diff is unacceptable POST to the matching revision endpoint to restore the prior version.

### Portal Blog Inventory

Agencies managing multiple HubSpot portals need a clean inventory of every blog and its settings. A single GET on the settings root returns every blog object with its configuration, suitable for piping into a governance dashboard or a content audit tool.

Example prompt: Call GET /cms/v3/blog-settings/settings, write each blog's id, language, and rootUrl to a CSV, and flag any blogs whose root URL does not match the brand's domain pattern.

### Agent-Driven Blog Setup

An AI agent provisioning a new HubSpot blog needs to set the language, URL, and publish defaults without operator hand-holding. Through Jentic, the agent searches for the settings update operation, loads the schema, and executes the call against the target blog, then verifies via the revision endpoint that the change took effect.

Example prompt: Use Jentic to search 'update hubspot blog settings', load the schema, execute it with the new rootUrl and language, then read /cms/v3/blog-settings/settings/{blogId}/revisions to confirm the new revision.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /cms/v3/blog-settings/settings | List every blog's settings |
| GET | /cms/v3/blog-settings/settings/{blogId} | Retrieve settings for one blog |
| GET | /cms/v3/blog-settings/settings/{blogId}/revisions | List revision history |
| GET | /cms/v3/blog-settings/settings/{blogId}/revisions/{revisionId} | Read a specific revision |
| POST | /cms/v3/blog-settings/settings/multi-language/attach-to-lang-group | Attach a blog to a language group |
| POST | /cms/v3/blog-settings/settings/multi-language/update-languages | Update settings across every language variant |
| POST | /cms/v3/blog-settings/settings/multi-language/set-new-lang-primary | Set the primary language for a group |

## Key resources

- **Blog Settings** — Read and update the configuration for a HubSpot Blog object
- **Settings Revisions** — Inspect the change history for a blog and restore prior revisions
- **Multi-language Group** — Attach, detach, and update language variants of a blog as a group

## Why Jentic

- **Setup:** Wiring HubSpot Blog Settings by hand means registering an OAuth app or minting a private app token, targeting api.hubapi.com, and coding the revision reads and multi-language calls yourself. Through Jentic you install once, import Blog Settings from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Blog Settings puts the blog id in the URL path (/cms/v3/blog-settings/settings/{blogId}), so a rule can pin your agent to one blog: it can read that blog's settings and revisions. You choose the operations it may call, so updating languages or setting a new primary language 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 'list HubSpot blogs' or 'read blog settings revisions', and Jentic returns the matching Blog Settings operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Blog Posts** — The blog posts that live inside the blogs configured here
- **Blog Authors** — Author profiles attached to posts within these blogs
- **CMS Pages** — Manages site and landing pages instead of blog posts

## FAQ

### What authentication does the HubSpot Blog Settings API use?

It accepts HubSpot OAuth 2.0 tokens or Private App tokens in the Authorization header with the content scope. Jentic isolates those credentials in its vault and hands the agent a scoped execution token instead of the raw secret.

### Can I create a new blog with the Blog Settings API?

No. The endpoints in this API only read or update existing blog settings - there is no POST to create a brand-new Blog object. New blogs must be created from the HubSpot UI, after which the API can manage their configuration.

### What are the rate limits for the HubSpot Blog Settings API?

It shares 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. Settings endpoints are infrequently called so rate limits rarely bind.

### How do I roll a blog back to an earlier configuration through Jentic?

After pip install jentic, search 'restore hubspot blog settings revision', load the schema, and execute it with the blogId and revisionId. Jentic handles auth and posts to the matching revision endpoint.

### Does updating one language variant update the others?

Only when called via /cms/v3/blog-settings/settings/multi-language/update-languages, which propagates the change across the language group. A direct PATCH on a single blogId only modifies that one blog.

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

Yes. Because your Jentic One instance is self-hosted, your own rules decide which operations and credentials the agent may use. Since the blog id sits in the URL path (/cms/v3/blog-settings/settings/{blogId}), you can pin the agent to a single blog and let it only read that blog's settings and revision history. Write operations such as updating language variants or setting a new primary language are available only if you explicitly include them, so the agent cannot change configuration you have not granted.
