Skip to main content
POST
/
cms
/
v3
/
pages
/
landing-pages
/
ab-test
/
create-variation
Create a new A/B test variation
curl --request POST \
  --url https://api.hubapi.com/cms/v3/pages/landing-pages/ab-test/create-variation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "variationName": "<string>",
  "contentId": "<string>"
}'
{
  "publishDate": "2023-11-07T05:31:56Z",
  "language": "af",
  "enableLayoutStylesheets": true,
  "metaDescription": "<string>",
  "attachedStylesheets": [
    {}
  ],
  "password": "<string>",
  "publishImmediately": true,
  "htmlTitle": "<string>",
  "translations": {},
  "id": "<string>",
  "state": "<string>",
  "slug": "<string>",
  "createdById": "<string>",
  "currentlyPublished": true,
  "archivedInDashboard": true,
  "created": "2023-11-07T05:31:56Z",
  "contentTypeCategory": "0",
  "mabExperimentId": "<string>",
  "updatedById": "<string>",
  "translatedFromId": "<string>",
  "folderId": "<string>",
  "widgetContainers": {},
  "pageExpiryRedirectId": 123,
  "dynamicPageDataSourceType": 123,
  "featuredImage": "<string>",
  "authorName": "<string>",
  "domain": "<string>",
  "name": "<string>",
  "dynamicPageHubDbTableId": "<string>",
  "campaign": "<string>",
  "dynamicPageDataSourceId": "<string>",
  "enableDomainStylesheets": true,
  "includeDefaultCustomCss": true,
  "subcategory": "<string>",
  "layoutSections": {},
  "updated": "2023-11-07T05:31:56Z",
  "footerHtml": "<string>",
  "widgets": {},
  "headHtml": "<string>",
  "pageExpiryRedirectUrl": "<string>",
  "abStatus": "master",
  "useFeaturedImage": true,
  "abTestId": "<string>",
  "featuredImageAltText": "<string>",
  "contentGroupId": "<string>",
  "pageExpiryEnabled": true,
  "templatePath": "<string>",
  "url": "<string>",
  "publicAccessRules": [
    {}
  ],
  "archivedAt": "2023-11-07T05:31:56Z",
  "themeSettingsValues": {},
  "pageExpiryDate": 123,
  "publicAccessRulesEnabled": true,
  "pageRedirected": true,
  "currentState": "AUTOMATED",
  "categoryId": 123,
  "linkRelCanonicalUrl": "<string>"
}

Supported products

Requires one of the following products or higher.
Marketing HubMarketing Hub -Free
Sales HubSales Hub -Free
Service HubService Hub -Free
Content HubContent Hub -Free
This API requires one of the following scopes:
content

Authorizations

Authorization
string
header
required

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

Body

application/json

The JSON representation of the AbTestCreateRequest object.

Request body object for creating A/B tests.

variationName
string
required

Name of A/B test variation.

contentId
string
required

ID of the object to test.

Response

successful operation

Model definition for a landing page or site page.

publishDate
string<date-time>
required

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

language
enum<string>
required

The explicitly defined ISO 639 language code of the page. If null, the page will default to the language of the Domain.

Available options:
af,
af-na,
af-za,
agq,
agq-cm,
ak,
ak-gh,
am,
am-et,
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,
az,
az-az,
bas,
bas-cm,
be,
be-by,
bem,
bem-zm,
bez,
bez-tz,
bg,
bg-bg,
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,
chr,
chr-us,
ckb,
ckb-iq,
ckb-ir,
cs,
cs-cz,
cu,
cu-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,
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-er,
en-fi,
en-fj,
en-fk,
en-fm,
en-gb,
en-gd,
en-gg,
en-gh,
en-gi,
en-gm,
en-gu,
en-gy,
en-hk,
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-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-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-tk,
en-to,
en-tt,
en-tv,
en-tz,
en-ug,
en-um,
en-us,
en-vc,
en-vg,
en-vi,
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,
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,
fur,
fur-it,
fy,
fy-nl,
ga,
ga-gb,
ga-ie,
gd,
gd-gb,
gl,
gl-es,
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,
hi,
hi-in,
hr,
hr-ba,
hr-hr,
hsb,
hsb-de,
hu,
hu-hu,
hy,
hy-am,
ia,
ia-001,
id,
ig,
ig-ng,
ii,
ii-cn,
id-id,
is,
is-is,
it,
it-ch,
it-it,
it-sm,
it-va,
he-il,
ja,
ja-jp,
jgo,
jgo-cm,
yi,
yi-001,
jmc,
jmc-tz,
jv,
jv-id,
ka,
ka-ge,
kab,
kab-dz,
kam,
kam-ke,
kde,
kde-tz,
kea,
kea-cv,
khq,
khq-ml,
ki,
ki-ke,
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,
ks,
ks-in,
ksb,
ksb-tz,
ksf,
ksf-cm,
ksh,
ksh-de,
kw,
kw-gb,
ku,
ku-tr,
ky,
ky-kg,
lag,
lag-tz,
lb,
lb-lu,
lg,
lg-ug,
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,
mer,
mer-ke,
mfe,
mfe-mu,
mg,
mg-mg,
mgh,
mgh-mz,
mgo,
mgo-cm,
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,
naq,
naq-na,
nb,
nb-no,
nb-sj,
nd,
nd-zw,
nds,
nds-de,
nds-nl,
ne,
ne-in,
ne-np,
nl,
nl-aw,
nl-be,
nl-ch,
nl-bq,
nl-cw,
nl-lu,
nl-nl,
nl-sr,
nl-sx,
nmg,
nmg-cm,
nn,
nn-no,
nnh,
nnh-cm,
no,
no-no,
nus,
nus-ss,
nyn,
nyn-ug,
om,
om-et,
om-ke,
or,
or-in,
os,
os-ge,
os-ru,
pa,
pa-in,
pa-pk,
pcm,
pcm-ng,
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,
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,
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,
smn,
smn-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,
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,
to,
to-to,
tr,
tr-cy,
tr-tr,
tt,
tt-ru,
twq,
twq-ne,
tzm,
tzm-ma,
ug,
ug-cn,
uk,
uk-ua,
ur,
ur-in,
ur-pk,
uz,
uz-af,
uz-uz,
vai,
vai-lr,
vi,
vi-vn,
vo,
vo-001,
vun,
vun-tz,
wae,
wae-ch,
wo,
wo-sn,
xh,
xh-za,
xog,
xog-ug,
yav,
yav-cm,
yo,
yo-bj,
yo-ng,
yue,
yue-cn,
yue-hk,
zgh,
zgh-ma,
zh,
zh-cn,
zh-hk,
zh-mo,
zh-sg,
zh-tw,
zh-hans,
zh-hant,
zu,
zu-za
enableLayoutStylesheets
boolean
required

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

metaDescription
string
required

A description that goes in <meta> tag on the page.

attachedStylesheets
object[]
required

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

password
string
required

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

publishImmediately
boolean
required

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.

htmlTitle
string
required

The html title of this page.

translations
object
required
id
string
required

The unique ID of the page.

state
string
required

An ENUM descibing the current state of this page.

Maximum length: 25
slug
string
required

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

createdById
string
required

The ID of the user that created this page.

currentlyPublished
boolean
required
archivedInDashboard
boolean
required

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

created
string<date-time>
required
contentTypeCategory
enum<string>
required

An ENUM descibing the type of this object. Should be either LANDING_PAGE or SITE_PAGE.

Available options:
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
mabExperimentId
string
required

The ID of the MAB test (or dynamic test) associated with this page, if applicable

updatedById
string
required

The ID of the user that updated this page.

translatedFromId
string
required

ID of the primary page this object was translated from.

folderId
string
required

The ID of the associated folder this landing page is organized under in the app dashboard.

widgetContainers
object
required

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

pageExpiryRedirectId
integer
required

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

dynamicPageDataSourceType
integer
required

The featuredImage of this page.

authorName
string
required

The name of the user that updated this page.

domain
string
required

The domain this page will resolve to. If null, the page will default to the primary domain for this content type.

name
string
required

The internal name of the page.

dynamicPageHubDbTableId
string
required

The ID of the HubDB table this page references, if applicable

campaign
string
required

The GUID of the marketing campaign this page is a part of.

dynamicPageDataSourceId
string
required
enableDomainStylesheets
boolean
required

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

includeDefaultCustomCss
boolean
required

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

subcategory
string
required

Details the type of page this is. Should always be landing_page or site_page

layoutSections
object
required
updated
string<date-time>
required

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

widgets
object
required

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

headHtml
string
required

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

pageExpiryRedirectUrl
string
required

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

abStatus
enum<string>
required

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

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

Boolean to determine if this page should use a featuredImage.

abTestId
string
required

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

Alt Text of the featuredImage.

contentGroupId
string
required
pageExpiryEnabled
boolean
required

Boolean describing if the page expiration feature is enabled for this page

templatePath
string
required

String detailing the path of the template used for this page.

url
string
required

A generated field representing the URL of this page.

publicAccessRules
object[]
required

Rules for require member registration to access private content.

archivedAt
string<date-time>
required

The timestamp (ISO8601 format) when this page was deleted.

themeSettingsValues
object
required
pageExpiryDate
integer
required

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

publicAccessRulesEnabled
boolean
required

Boolean to determine whether or not to respect publicAccessRules.

pageRedirected
boolean
required

A generated Boolean describing whether or not this page is currently expired and being redirected.

currentState
enum<string>
required

A generated ENUM descibing the current state of this page.

Available options:
AUTOMATED,
AUTOMATED_DRAFT,
AUTOMATED_SENDING,
AUTOMATED_FOR_FORM,
AUTOMATED_FOR_FORM_BUFFER,
AUTOMATED_FOR_FORM_DRAFT,
AUTOMATED_FOR_FORM_LEGACY,
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,
AUTOMATED_AB,
AUTOMATED_AB_VARIANT,
AUTOMATED_DRAFT_AB,
AUTOMATED_DRAFT_ABVARIANT,
AUTOMATED_LOSER_ABVARIANT
categoryId
integer
required

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

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