For Agents
List or fetch HubSpot CMS-connected domains and their content roles, so an agent can pick the right domain before publishing pages or posts.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Domains, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Domains API.
List every domain connected to a HubSpot CMS account in one call
Retrieve the configuration for a specific domain by domainId
Confirm whether SSL is enabled before publishing content to a domain
Identify which domain serves blog posts versus landing pages before routing a publish action
GET STARTED
Use for: List all CMS domains for this HubSpot account, Retrieve the configuration for domain ID 12345, Find the primary domain for the marketing blog, Check whether the landing page domain has SSL enabled
Not supported: Does not connect, modify, or remove domains, and does not expose DNS or certificate details — use for reading existing HubSpot-connected CMS domains only.
The HubSpot CMS Domains API exposes the domains connected to a HubSpot CMS account. It returns the canonical domain name, the type of content it serves (blog, site pages, landing pages), SSL status, and primary-language flag. Use it when an agent needs to confirm which domain to publish to before creating CMS content, or to audit which domains a portal currently uses for marketing assets.
Detect the primary language of a domain to choose between locale-specific publish flows
Patterns agents use Domains API for, with concrete tasks.
★ Pre-Publish Domain Selection
Before an agent or integration publishes a landing page or blog post, it must select the correct connected domain. The Domains API returns the list of available domains with their content type and language so the publishing flow can pick the right destination automatically. This prevents content being scheduled on a staging or stale domain.
Call GET /cms/v3/domains/, filter for type='LANDING_PAGE' and language='en', and pass the returned domainId into the next CMS Pages create call.
SSL and Configuration Audit
Marketing operations teams sometimes inherit HubSpot portals with mixed SSL configurations across connected domains. A single GET on the Domains endpoint returns the SSL status and other configuration flags for every domain, supporting a remediation report without portal access. Failing entries can be flagged for HubSpot Support follow-up.
Fetch /cms/v3/domains/, write a CSV of domain, sslEnabled, primaryLanguage, and contentType, and flag any row where sslEnabled is false.
Multi-Brand Domain Inventory
Agencies running several brands on one HubSpot portal need to know which domains belong to which Business Unit before scheduling content. Pairing this API's full domain list with the Business Units API yields an inventory mapping each brand to its public-facing domains, useful for governance dashboards and onboarding playbooks.
Call /cms/v3/domains/, then for each domain attach the Business Unit ID returned by the Business Units API, producing one row per (brand, domain) pair.
Agent-Driven Domain Lookup
An AI agent that publishes content needs a deterministic way to choose between, say, blog.example.com and pages.example.com. Through Jentic the agent searches for the domain list operation, loads the schema, and executes it without seeing raw OAuth tokens. The structured response is small enough to embed directly into the agent's planning context.
Use Jentic to search 'list hubspot cms domains', load the schema, execute it, and store the resulting (domainId, contentType) pairs in the agent state for later publish steps.
2 endpoints — the hubspot cms domains api exposes the domains connected to a hubspot cms account.
METHOD
PATH
DESCRIPTION
/cms/v3/domains/
List all connected domains
/cms/v3/domains/{domainId}
Retrieve a single domain by ID
/cms/v3/domains/
List all connected domains
/cms/v3/domains/{domainId}
Retrieve a single domain by ID
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth tokens and Private App keys live in the Jentic encrypted vault (MAXsystem). The agent receives only a scoped execution token, so the underlying secret never enters its context.
Intent-based discovery
Agents search Jentic with intents like 'list hubspot cms domains' and receive the matching operation plus an input schema ready to execute.
Time to first call
Direct integration: a few hours to wire OAuth and parse the domain list. Through Jentic: under 20 minutes from search to first successful call.
Alternatives and complements available in the Jentic catalogue.
Specific to using Domains API through Jentic.
What authentication does the HubSpot CMS Domains API use?
It accepts HubSpot OAuth 2.0 access tokens or Private App tokens in the Authorization header with the content scope. Through Jentic, those credentials are stored encrypted and only a scoped execution token is exposed to the agent.
Can I add or remove a connected domain via this API?
No. The two endpoints in this spec are both GET — connecting a new domain or detaching one must be done from the HubSpot UI. Once connected, the API can read its configuration.
What are the rate limits for the HubSpot Domains 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. Domain lists are short, so a single GET typically suffices instead of polling.
How do I pick the right domain to publish a blog post through Jentic?
After pip install jentic, search 'list hubspot cms domains', load the schema, and execute it. Filter the response for contentType matching BLOG_POST and the desired primaryLanguage, then pass the domainId into the CMS Posts create call.
Does the API expose DNS records or certificate details?
Not directly. It surfaces high-level fields like sslEnabled and the canonical domain name, but raw DNS records and certificate metadata must be inspected from the registrar or HubSpot's domain settings UI.