curl --request POST \
--url https://api.hubapi.com/cms/v3/blogs/posts/multi-language/create-language-variation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"language": "<string>"
}
'{
"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": {}
}Create a new language variation from an existing blog post
curl --request POST \
--url https://api.hubapi.com/cms/v3/blogs/posts/multi-language/create-language-variation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"language": "<string>"
}
'{
"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
Required Scopes
The access token received from the authorization server in the OAuth 2.0 flow.
successful operation
Model definition for a Blog Post.
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
automated_loser_variant, automated_master, automated_variant, loser_variant, mab_master, mab_variant, master, variant The ID of the AB test associated with this page, if applicable
The timestamp (ISO8601 format) when this Blog Post was deleted.
If True, the post will not show up in your dashboard, although the post could still be live.
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.
Show child attributes
The name of the user that updated this Blog Post.
The ID of the Blog Author associated with this Blog Post.
The GUID of the marketing campaign this Blog Post is a part of.
ID of the type of object this is. Should always .
The ID of the parent Blog this Blog Post is associated with.
An ENUM descibing the type of this object. Should always be BLOG_POST.
0, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 3, 4, 5, 6, 7, 8, 9 The timestamp (ISO8601 format) when this Blog Post was created.
The ID of the user that created this Blog Post.
A generated ENUM descibing the current state of this Blog Post. Should always match state.
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 Whether the post is published (true or false)
The domain this Blog Post will resolve to. If null, the Blog Post will default to the domain of the ParentBlog.
The identifier for the data source used by the dynamic page.
The type of data source used by the dynamic page.
The ID of the HubDB table this Blog Post references, if applicable
Boolean to determine whether or not the styles from the template should be applied.
Boolean to allow overriding the AMP settings for the blog.
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.
Unique identifier of associated folder
Custom HTML for embed codes, javascript that should be placed before the tag of the page.
Custom HTML for embed codes, javascript, etc. that goes in the tag of the page.
The html title of this Blog Post.
The unique ID of the Blog Post.
Boolean to determine whether or not the Primary CSS Files should be applied.
The explicitly defined ISO 639 language code of the Blog Post. If null, the Blog Post will default to the language of the ParentBlog.
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 A structure detailing the layout sections of the blog post.
Show child attributes
Optional override to set the URL to be used in the rel=canonical link tag on the page.
Unique identifier of the MAB Experiment
A description that goes in tag on the page.
The internal name of the Blog Post.
The date at which this blog post should expire and begin redirecting to another url or page.
Boolean describing if the page expiration feature is enabled for this blog post.
The ID of another page this blog post's url should redirect to once this blog post expires. Should only set this or pageExpiryRedirectUrl.
The URL this blog post's url should redirect to once it expires. Should only set this or pageExpiryRedirectId.
Set this to create a password protected page. Entering the password will be required to view the page.
The HTML of the main post body.
The summary of the blog post that will appear on the main listing page.
Rules for require member registration to access private content.
Boolean to determine whether or not to respect publicAccessRules.
The date (ISO8601 format) the blog post is to be published at.
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.
The contents of the RSS body for this Blog Post.
The contents of the RSS summary for this Blog Post.
The path of the this blog post. This field is appended to the domain to construct the url of this post.
An ENUM descibing the current state of this Blog Post.
25List of IDs for the tags associated with this Blog Post.
A collection of settings specific to the theme applied to the blog post.
Show child attributes
ID of the primary blog post this object was translated from.
A map of translations for the blog post, each associated with a specific language variation.
Show child attributes
The timestamp (ISO8601 format) when this Blog Post was updated.
The ID of the user that updated this Blog Post.
A generated field representing the URL of this blog post.
Boolean to determine if this post should use a featuredImage.
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.
Show child attributes
A data structure containing the data for all the modules for this page.
Show child attributes
Was this page helpful?