For Agents
List and inspect connected domains in a HubSpot CMS account so an agent can route published content to the correct hostname.
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.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# 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 with pagination
Fetch a single domain record by domainId
Read primary domain flags to choose the canonical hostname for publishing
Filter listed domains by created and updated timestamps
GET STARTED
Use for: I need to list all domains connected to my HubSpot CMS account, Get the primary domain for the current HubSpot portal, Retrieve the configuration of a specific HubSpot CMS domain by ID, Find which HubSpot domain serves the company blog
Not supported: Does not handle DNS configuration, SSL provisioning, or page content edits — use for reading connected CMS domain records only.
Jentic publishes the only available OpenAPI document for Domains, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for HubSpot CMS Domains, keeping it validated and agent-ready. The HubSpot CMS Domains API exposes the connected domains attached to a HubSpot CMS account — the hostnames used to serve websites, blogs, and landing pages. Agents and integrations can list every domain configured in the portal and read individual domain records by ID. It is the read surface that powers content publishing decisions in HubSpot's CMS Hub.
Read SSL and CDN configuration metadata for a domain
Identify which domain hosts blogs, landing pages, or website pages
Patterns agents use Domains API for, with concrete tasks.
★ Multi-Domain Content Publishing
Agencies and large brands often connect several domains to one HubSpot CMS portal — a primary site, a careers site, and regional subdomains. The Domains API lets a publishing pipeline list every domain and select the right hostname before creating or updating a page, so content lands on the intended public site.
Call GET /cms/v3/domains/ and return the domain whose primary flag is true so a downstream page-creation step can target it
Domain Audit and Reporting
Operations teams audit which domains are still connected, which have SSL, and which were added recently. A scheduled job pulls the full domain list, joins it with a CMDB or asset inventory, and flags drift between HubSpot's view of the portfolio and the canonical record. The two read endpoints provide everything needed for this kind of audit.
List all domains in the portal and return any record where ssl is false or where the domain is not present in the internal CMDB
Pre-Publish Hostname Resolution
Before an agent uses a separate HubSpot endpoint to create a landing page or blog post, it needs to know which domain to attach the content to. The Domains API resolves the right domainId given a hostname or content type, so the publishing step uses the correct identifier rather than a guessed string.
Look up the domainId where domain equals 'blog.example.com' and return it for use in a subsequent page creation request
Agent-Driven CMS Routing
An AI agent that schedules content across multiple brands queries Jentic for 'list hubspot cms domains', loads the schema, and pulls every domain. It uses the response to route generated content to the right brand without an operator picking a domain manually.
Search Jentic for 'list hubspot cms domains', load the schema, execute GET /cms/v3/domains/, and pick the domain that matches the target brand
2 endpoints — jentic publishes the only available openapi specification for hubspot cms domains, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/cms/v3/domains/
List all connected domains in the portal
/cms/v3/domains/{domainId}
Get a single domain by ID
/cms/v3/domains/
List all connected domains in the portal
/cms/v3/domains/{domainId}
Get a single domain by ID
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth tokens, private app tokens, and legacy hapikeys are stored encrypted in the Jentic vault. Agents receive a scoped token at call time so raw HubSpot credentials never enter the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'list hubspot cms domains') and Jentic returns GET /cms/v3/domains/ with its schema, so the agent can fetch the domain list without reading HubSpot's CMS docs.
Time to first call
Direct HubSpot integration: half a day for OAuth setup, pagination handling, and response parsing. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
HubSpot Files
Files hosts the assets (images, PDFs) that CMS pages on a domain serve
Use the Files API to upload and manage media assets; use the CMS Domains API to resolve which domain those assets are served from.
HubSpot Marketing Events Extension
Marketing events surface alongside CMS content in HubSpot's marketing toolkit
Choose the Marketing API for campaign-level event metadata; choose CMS Domains when you need the hostname configuration for published content.
HubSpot CRM Cards
CRM cards extend record pages while CMS Domains describe the public site hosting
Use CRM Cards for in-app extensions on contact and deal records; use CMS Domains when working with the public-facing website.
Specific to using Domains API through Jentic.
Why is there no official OpenAPI spec for HubSpot CMS Domains?
HubSpot does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call HubSpot CMS Domains via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the HubSpot CMS Domains API use?
It accepts OAuth 2.0 access tokens, the private-app header for private apps, and the hapikey query parameter as legacy fallbacks. Jentic stores all of these in its encrypted vault and hands the agent a scoped token at execution time, so the raw HubSpot credentials never enter the agent's context.
Can I create or delete domains through this API?
No. The API exposes only GET /cms/v3/domains/ and GET /cms/v3/domains/{domainId}. Domain provisioning, DNS updates, and SSL configuration must be done in the HubSpot UI; this API is read-only for connected domains.
What are the rate limits for the HubSpot CMS Domains API?
Standard HubSpot API limits apply: 100 requests per 10 seconds per private app token and 110 per 10 seconds per OAuth app per portal, with daily limits tied to the HubSpot subscription tier. Two GET endpoints means most integrations are far below the limit.
How do I find the primary domain for a portal through Jentic?
Search Jentic for 'list hubspot cms domains', load the schema for GET /cms/v3/domains/, execute the call, and filter the response for the entry with primary set to true. That entry is the canonical hostname for content publishing.
Is the HubSpot CMS Domains API free?
API access is included with any CMS Hub subscription. Domain configuration itself requires CMS Hub Starter or higher; the API is read-only and reflects whatever is configured in the portal settings.