Passer au contenu principal
GET
/
cms
/
v3
/
blogs
/
posts
/
{objectId}
Retrieve a blog post
curl --request GET \
  --url https://api.hubapi.com/cms/v3/blogs/posts/{objectId} \
  --header 'Authorization: Bearer <token>'
{
  "abStatus": "automated_loser_variant",
  "abTestId": "<string>",
  "archivedAt": 123,
  "archivedInDashboard": true,
  "attachedStylesheets": [
    {}
  ],
  "authorName": "<string>",
  "blogAuthorId": "<string>",
  "campaign": "<string>",
  "categoryId": 123,
  "contentGroupId": "<string>",
  "contentTypeCategory": "0",
  "created": "2023-11-07T05:31:56Z",
  "createdById": "<string>",
  "currentState": "AGENT_GENERATED",
  "currentlyPublished": true,
  "domain": "<string>",
  "dynamicPageDataSourceId": "<string>",
  "dynamicPageDataSourceType": 123,
  "dynamicPageHubDbTableId": "<string>",
  "enableDomainStylesheets": true,
  "enableGoogleAmpOutputOverride": true,
  "enableLayoutStylesheets": true,
  "featuredImage": "<string>",
  "featuredImageAltText": "<string>",
  "folderId": "<string>",
  "footerHtml": "<string>",
  "headHtml": "<string>",
  "htmlTitle": "<string>",
  "id": "<string>",
  "includeDefaultCustomCss": true,
  "language": "aa",
  "layoutSections": {},
  "linkRelCanonicalUrl": "<string>",
  "mabExperimentId": "<string>",
  "metaDescription": "<string>",
  "name": "<string>",
  "pageExpiryDate": 123,
  "pageExpiryEnabled": true,
  "pageExpiryRedirectId": 123,
  "pageExpiryRedirectUrl": "<string>",
  "password": "<string>",
  "postBody": "<string>",
  "postSummary": "<string>",
  "publicAccessRules": [
    {}
  ],
  "publicAccessRulesEnabled": true,
  "publishDate": "2023-11-07T05:31:56Z",
  "publishImmediately": true,
  "rssBody": "<string>",
  "rssSummary": "<string>",
  "slug": "<string>",
  "state": "<string>",
  "tagIds": [
    123
  ],
  "themeSettingsValues": {},
  "translatedFromId": "<string>",
  "translations": {},
  "updated": "2023-11-07T05:31:56Z",
  "updatedById": "<string>",
  "url": "<string>",
  "useFeaturedImage": true,
  "widgetContainers": {},
  "widgets": {}
}

Supported products

Autorisations

Authorization
string
header
requis

The access token received from the authorization server in the OAuth 2.0 flow.

Paramètres de chemin

objectId
string
requis

Paramètres de requête

archived
boolean

Whether to return only results that have been archived.

property
string

Réponse

successful operation

Model definition for a Blog Post.

abStatus
enum<string>
requis

The status of the AB test associated with this blog post, if applicable

Available options: automated_loser_variant, automated_master, automated_variant, loser_variant, mab_master, mab_variant, master, variant

Options disponibles:
automated_loser_variant,
automated_master,
automated_variant,
loser_variant,
mab_master,
mab_variant,
master,
variant
abTestId
string
requis

The ID of the AB test associated with this page, if applicable

archivedAt
integer<int64>
requis

The timestamp (ISO8601 format) when this Blog Post was deleted.

archivedInDashboard
boolean
requis

If True, the post will not show up in your dashboard, although the post could still be live.

attachedStylesheets
object[]
requis

List of stylesheets to attach to this blog post. These stylesheets are attached to just this page. Order of precedence is bottom to top, just like in the HTML.

authorName
string
requis

The name of the user that updated this Blog Post.

blogAuthorId
string
requis

The ID of the Blog Author associated with this Blog Post.

campaign
string
requis

The GUID of the marketing campaign this Blog Post is a part of.

categoryId
integer<int32>
requis

ID of the type of object this is. Should always .

contentGroupId
string
requis

The ID of the parent Blog this Blog Post is associated with.

contentTypeCategory
enum<string>
requis

An ENUM descibing the type of this object. Should always be BLOG_POST.

Options disponibles:
0,
1,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
2,
20,
21,
22,
3,
4,
5,
6,
7,
8,
9
created
string<date-time>
requis

The timestamp (ISO8601 format) when this Blog Post was created.

createdById
string
requis

The ID of the user that created this Blog Post.

currentState
enum<string>
requis

A generated ENUM descibing the current state of this Blog Post. Should always match state.

Options disponibles:
AGENT_GENERATED,
AUTOMATED,
AUTOMATED_AB,
AUTOMATED_AB_VARIANT,
AUTOMATED_DRAFT,
AUTOMATED_DRAFT_AB,
AUTOMATED_DRAFT_ABVARIANT,
AUTOMATED_FOR_FORM,
AUTOMATED_FOR_FORM_BUFFER,
AUTOMATED_FOR_FORM_DRAFT,
AUTOMATED_FOR_FORM_LEGACY,
AUTOMATED_LOSER_ABVARIANT,
AUTOMATED_SENDING,
BLOG_EMAIL_DRAFT,
BLOG_EMAIL_PUBLISHED,
DRAFT,
DRAFT_AB,
DRAFT_AB_VARIANT,
ERROR,
LOSER_AB_VARIANT,
PAGE_STUB,
PRE_PROCESSING,
PROCESSING,
PUBLISHED,
PUBLISHED_AB,
PUBLISHED_AB_VARIANT,
PUBLISHED_OR_SCHEDULED,
RSS_TO_EMAIL_DRAFT,
RSS_TO_EMAIL_PUBLISHED,
SCHEDULED,
SCHEDULED_AB,
SCHEDULED_OR_PUBLISHED
currentlyPublished
boolean
requis

Whether the post is published (true or false)

domain
string
requis

The domain this Blog Post will resolve to. If null, the Blog Post will default to the domain of the ParentBlog.

dynamicPageDataSourceId
string
requis

The identifier for the data source used by the dynamic page.

dynamicPageDataSourceType
integer<int32>
requis

The type of data source used by the dynamic page.

dynamicPageHubDbTableId
string
requis

The ID of the HubDB table this Blog Post references, if applicable

enableDomainStylesheets
boolean
requis

Boolean to determine whether or not the styles from the template should be applied.

enableGoogleAmpOutputOverride
boolean
requis

Boolean to allow overriding the AMP settings for the blog.

enableLayoutStylesheets
boolean
requis

Boolean to determine whether or not the styles from the template should be applied.

The featuredImage of this Blog Post.

Alt Text of the featuredImage.

folderId
string
requis

Unique identifier of associated folder

Custom HTML for embed codes, javascript that should be placed before the tag of the page.

headHtml
string
requis

Custom HTML for embed codes, javascript, etc. that goes in the tag of the page.

htmlTitle
string
requis

The html title of this Blog Post.

id
string
requis

The unique ID of the Blog Post.

includeDefaultCustomCss
boolean
requis

Boolean to determine whether or not the Primary CSS Files should be applied.

language
enum<string>
requis

The explicitly defined ISO 639 language code of the Blog Post. If null, the Blog Post will default to the language of the ParentBlog.

Options disponibles:
aa,
ab,
ae,
af,
af-na,
af-za,
agq,
agq-cm,
ak,
ak-gh,
am,
am-et,
an,
ann,
ann-ng,
ar,
ar-001,
ar-ae,
ar-bh,
ar-dj,
ar-dz,
ar-eg,
ar-eh,
ar-er,
ar-il,
ar-iq,
ar-jo,
ar-km,
ar-kw,
ar-lb,
ar-ly,
ar-ma,
ar-mr,
ar-om,
ar-ps,
ar-qa,
ar-sa,
ar-sd,
ar-so,
ar-ss,
ar-sy,
ar-td,
ar-tn,
ar-ye,
as,
as-in,
asa,
asa-tz,
ast,
ast-es,
av,
ay,
az,
az-az,
ba,
bas,
bas-cm,
be,
be-by,
bem,
bem-zm,
bez,
bez-tz,
bg,
bg-bg,
bgc,
bgc-in,
bho,
bho-in,
bi,
bm,
bm-ml,
bn,
bn-bd,
bn-in,
bo,
bo-cn,
bo-in,
br,
br-fr,
brx,
brx-in,
bs,
bs-ba,
ca,
ca-ad,
ca-es,
ca-fr,
ca-it,
ccp,
ccp-bd,
ccp-in,
ce,
ce-ru,
ceb,
ceb-ph,
cgg,
cgg-ug,
ch,
chr,
chr-us,
ckb,
ckb-iq,
ckb-ir,
co,
cr,
cs,
cs-cz,
cu,
cu-ru,
cv,
cv-ru,
cy,
cy-gb,
da,
da-dk,
da-gl,
dav,
dav-ke,
de,
de-at,
de-be,
de-ch,
de-de,
de-gr,
de-it,
de-li,
de-lu,
dje,
dje-ne,
doi,
doi-in,
dsb,
dsb-de,
dua,
dua-cm,
dv,
dyo,
dyo-sn,
dz,
dz-bt,
ebu,
ebu-ke,
ee,
ee-gh,
ee-tg,
el,
el-cy,
el-gr,
en,
en-001,
en-150,
en-ae,
en-ag,
en-ai,
en-as,
en-at,
en-au,
en-bb,
en-be,
en-bi,
en-bm,
en-bs,
en-bw,
en-bz,
en-ca,
en-cc,
en-ch,
en-ck,
en-cm,
en-cn,
en-cx,
en-cy,
en-de,
en-dg,
en-dk,
en-dm,
en-ee,
en-eg,
en-er,
en-es,
en-fi,
en-fj,
en-fk,
en-fm,
en-fr,
en-gb,
en-gd,
en-gg,
en-gh,
en-gi,
en-gm,
en-gu,
en-gy,
en-hk,
en-id,
en-ie,
en-il,
en-im,
en-in,
en-io,
en-je,
en-jm,
en-ke,
en-ki,
en-kn,
en-ky,
en-lc,
en-lr,
en-ls,
en-lu,
en-mg,
en-mh,
en-mo,
en-mp,
en-ms,
en-mt,
en-mu,
en-mv,
en-mw,
en-mx,
en-my,
en-na,
en-nf,
en-ng,
en-nl,
en-nr,
en-nu,
en-nz,
en-pg,
en-ph,
en-pk,
en-pn,
en-pr,
en-pt,
en-pw,
en-rw,
en-sb,
en-sc,
en-sd,
en-se,
en-sg,
en-sh,
en-si,
en-sl,
en-ss,
en-sx,
en-sz,
en-tc,
en-th,
en-tk,
en-tn,
en-to,
en-tt,
en-tv,
en-tz,
en-ug,
en-um,
en-us,
en-vc,
en-vg,
en-vi,
en-vn,
en-vu,
en-ws,
en-za,
en-zm,
en-zw,
eo,
eo-001,
es,
es-419,
es-ar,
es-bo,
es-br,
es-bz,
es-cl,
es-co,
es-cr,
es-cu,
es-do,
es-ea,
es-ec,
es-es,
es-gq,
es-gt,
es-hn,
es-ic,
es-mx,
es-ni,
es-pa,
es-pe,
es-ph,
es-pr,
es-py,
es-sv,
es-us,
es-uy,
es-ve,
et,
et-ee,
eu,
eu-es,
ewo,
ewo-cm,
fa,
fa-af,
fa-ir,
ff,
ff-bf,
ff-cm,
ff-gh,
ff-gm,
ff-gn,
ff-gw,
ff-lr,
ff-mr,
ff-ne,
ff-ng,
ff-sl,
ff-sn,
fi,
fi-fi,
fil,
fil-ph,
fj,
fo,
fo-dk,
fo-fo,
fr,
fr-be,
fr-bf,
fr-bi,
fr-bj,
fr-bl,
fr-ca,
fr-cd,
fr-cf,
fr-cg,
fr-ch,
fr-ci,
fr-cm,
fr-dj,
fr-dz,
fr-fr,
fr-ga,
fr-gf,
fr-gn,
fr-gp,
fr-gq,
fr-ht,
fr-km,
fr-lu,
fr-ma,
fr-mc,
fr-mf,
fr-mg,
fr-ml,
fr-mq,
fr-mr,
fr-mu,
fr-nc,
fr-ne,
fr-pf,
fr-pm,
fr-re,
fr-rw,
fr-sc,
fr-sn,
fr-sy,
fr-td,
fr-tg,
fr-tn,
fr-vu,
fr-wf,
fr-yt,
frr,
frr-de,
fur,
fur-it,
fy,
fy-nl,
ga,
ga-gb,
ga-ie,
gd,
gd-gb,
gl,
gl-es,
gn,
gsw,
gsw-ch,
gsw-fr,
gsw-li,
gu,
gu-in,
guz,
guz-ke,
gv,
gv-im,
ha,
ha-gh,
ha-ne,
ha-ng,
haw,
haw-us,
he,
he-il,
hi,
hi-in,
hmn,
ho,
hr,
hr-ba,
hr-hr,
hsb,
hsb-de,
ht,
hu,
hu-hu,
hy,
hy-am,
hz,
ia,
ia-001,
id,
id-id,
ie,
ig,
ig-ng,
ii,
ii-cn,
ik,
io,
is,
is-is,
it,
it-ch,
it-it,
it-sm,
it-va,
iu,
ja,
ja-jp,
jgo,
jgo-cm,
jmc,
jmc-tz,
jv,
jv-id,
ka,
ka-ge,
kab,
kab-dz,
kam,
kam-ke,
kar,
kde,
kde-tz,
kea,
kea-cv,
kg,
kgp,
kgp-br,
kh,
khq,
khq-ml,
ki,
ki-ke,
kj,
kk,
kk-kz,
kkj,
kkj-cm,
kl,
kl-gl,
kln,
kln-ke,
km,
km-kh,
kn,
kn-in,
ko,
ko-kp,
ko-kr,
kok,
kok-in,
kr,
ks,
ks-in,
ksb,
ksb-tz,
ksf,
ksf-cm,
ksh,
ksh-de,
ku,
ku-tr,
kv,
kw,
kw-gb,
ky,
ky-kg,
la,
lag,
lag-tz,
lb,
lb-lu,
lg,
lg-ug,
li,
lkt,
lkt-us,
ln,
ln-ao,
ln-cd,
ln-cf,
ln-cg,
lo,
lo-la,
lrc,
lrc-iq,
lrc-ir,
lt,
lt-lt,
lu,
lu-cd,
luo,
luo-ke,
luy,
luy-ke,
lv,
lv-lv,
mai,
mai-in,
mas,
mas-ke,
mas-tz,
mdf,
mdf-ru,
mer,
mer-ke,
mfe,
mfe-mu,
mg,
mg-mg,
mgh,
mgh-mz,
mgo,
mgo-cm,
mh,
mi,
mi-nz,
mk,
mk-mk,
ml,
ml-in,
mn,
mn-mn,
mni,
mni-in,
mr,
mr-in,
ms,
ms-bn,
ms-id,
ms-my,
ms-sg,
mt,
mt-mt,
mua,
mua-cm,
my,
my-mm,
mzn,
mzn-ir,
na,
naq,
naq-na,
nb,
nb-no,
nb-sj,
nd,
nd-zw,
nds,
nds-de,
nds-nl,
ne,
ne-in,
ne-np,
ng,
nl,
nl-aw,
nl-be,
nl-bq,
nl-ch,
nl-cw,
nl-lu,
nl-nl,
nl-sr,
nl-sx,
nmg,
nmg-cm,
nn,
nn-no,
nnh,
nnh-cm,
no,
no-no,
nr,
nus,
nus-ss,
nv,
ny,
nyn,
nyn-ug,
oc,
oc-es,
oc-fr,
oj,
om,
om-et,
om-ke,
or,
or-in,
os,
os-ge,
os-ru,
pa,
pa-in,
pa-pk,
pcm,
pcm-ng,
pi,
pis,
pis-sb,
pl,
pl-pl,
prg,
prg-001,
ps,
ps-af,
ps-pk,
pt,
pt-ao,
pt-br,
pt-ch,
pt-cv,
pt-gq,
pt-gw,
pt-lu,
pt-mo,
pt-mz,
pt-pt,
pt-st,
pt-tl,
qu,
qu-bo,
qu-ec,
qu-pe,
raj,
raj-in,
rm,
rm-ch,
rn,
rn-bi,
ro,
ro-md,
ro-ro,
rof,
rof-tz,
ru,
ru-by,
ru-kg,
ru-kz,
ru-md,
ru-ru,
ru-ua,
rw,
rw-rw,
rwk,
rwk-tz,
sa,
sa-in,
sah,
sah-ru,
saq,
saq-ke,
sat,
sat-in,
sbp,
sbp-tz,
sc,
sc-it,
sd,
sd-in,
sd-pk,
se,
se-fi,
se-no,
se-se,
seh,
seh-mz,
ses,
ses-ml,
sg,
sg-cf,
shi,
shi-ma,
si,
si-lk,
sk,
sk-sk,
sl,
sl-si,
sm,
smn,
smn-fi,
sms,
sms-fi,
sn,
sn-zw,
so,
so-dj,
so-et,
so-ke,
so-so,
sq,
sq-al,
sq-mk,
sq-xk,
sr,
sr-ba,
sr-cs,
sr-me,
sr-rs,
sr-xk,
ss,
st,
su,
su-id,
sv,
sv-ax,
sv-fi,
sv-se,
sw,
sw-cd,
sw-ke,
sw-tz,
sw-ug,
sy,
ta,
ta-in,
ta-lk,
ta-my,
ta-sg,
te,
te-in,
teo,
teo-ke,
teo-ug,
tg,
tg-tj,
th,
th-th,
ti,
ti-er,
ti-et,
tk,
tk-tm,
tl,
tn,
to,
to-to,
tok,
tok-001,
tr,
tr-cy,
tr-tr,
ts,
tt,
tt-ru,
tw,
twq,
twq-ne,
ty,
tzm,
tzm-ma,
ug,
ug-cn,
uk,
uk-ua,
ur,
ur-in,
ur-pk,
uz,
uz-af,
uz-uz,
vai,
vai-lr,
ve,
vi,
vi-vn,
vo,
vo-001,
vun,
vun-tz,
wa,
wae,
wae-ch,
wo,
wo-sn,
xh,
xh-za,
xog,
xog-ug,
yav,
yav-cm,
yi,
yi-001,
yo,
yo-bj,
yo-ng,
yrl,
yrl-br,
yrl-co,
yrl-ve,
yue,
yue-cn,
yue-hk,
za,
zgh,
zgh-ma,
zh,
zh-cn,
zh-hans,
zh-hant,
zh-hk,
zh-mo,
zh-sg,
zh-tw,
zu,
zu-za
layoutSections
object
requis

A structure detailing the layout sections of the blog post.

Optional override to set the URL to be used in the rel=canonical link tag on the page.

mabExperimentId
string
requis

Unique identifier of the MAB Experiment

metaDescription
string
requis

A description that goes in tag on the page.

name
string
requis

The internal name of the Blog Post.

pageExpiryDate
integer<int64>
requis

The date at which this blog post should expire and begin redirecting to another url or page.

pageExpiryEnabled
boolean
requis

Boolean describing if the page expiration feature is enabled for this blog post.

pageExpiryRedirectId
integer<int64>
requis

The ID of another page this blog post's url should redirect to once this blog post expires. Should only set this or pageExpiryRedirectUrl.

pageExpiryRedirectUrl
string
requis

The URL this blog post's url should redirect to once it expires. Should only set this or pageExpiryRedirectId.

password
string
requis

Set this to create a password protected page. Entering the password will be required to view the page.

postBody
string
requis

The HTML of the main post body.

postSummary
string
requis

The summary of the blog post that will appear on the main listing page.

publicAccessRules
object[]
requis

Rules for require member registration to access private content.

publicAccessRulesEnabled
boolean
requis

Boolean to determine whether or not to respect publicAccessRules.

publishDate
string<date-time>
requis

The date (ISO8601 format) the blog post is to be published at.

publishImmediately
boolean
requis

Set this to true if you want to be published immediately when the schedule publish endpoint is called, and to ignore the publish_date setting.

rssBody
string
requis

The contents of the RSS body for this Blog Post.

rssSummary
string
requis

The contents of the RSS summary for this Blog Post.

slug
string
requis

The path of the this blog post. This field is appended to the domain to construct the url of this post.

state
string
requis

An ENUM descibing the current state of this Blog Post.

Maximum string length: 25
tagIds
integer<int64>[]
requis

List of IDs for the tags associated with this Blog Post.

themeSettingsValues
object
requis

A collection of settings specific to the theme applied to the blog post.

translatedFromId
string
requis

ID of the primary blog post this object was translated from.

translations
object
requis

A map of translations for the blog post, each associated with a specific language variation.

updated
string<date-time>
requis

The timestamp (ISO8601 format) when this Blog Post was updated.

updatedById
string
requis

The ID of the user that updated this Blog Post.

url
string
requis

A generated field representing the URL of this blog post.

Boolean to determine if this post should use a featuredImage.

widgetContainers
object
requis

A data structure containing the data for all the modules inside the containers for this post. This will only be populated if the page has widget containers.

widgets
object
requis

A data structure containing the data for all the modules for this page.

Last modified on April 2, 2026