A/B Tests
Create A/B test
Creates a draft campaign A/B test or converts a sequence email node to action_ab_test. Provide exactly one owner. Variant A is copied into an independent email for sequences; sequence conversions require at least one extra variant.
post/ab-tests
Request body
Example request
{
"variants": [
{
"blocks": [
{
"id": "block_123",
"type": "html",
"content": "<h1>Hello</h1>",
"styles": {
"backgroundColor": "#f8fafc",
"backgroundOpacity": 80,
"textColor": "#111827",
"borderRadius": 12,
"borderColor": "#cbd5e1",
"borderWidth": 1
},
"conditions": [
{
"id": "c1",
"value": "plan:pro"
}
]
}
]
}
]
}Response
A/B test created
Example response
{
"success": true,
"abTest": {
"id": "ab_abc123",
"companyId": "company_abc123",
"campaignId": "camp_abc123",
"automationNodeId": "node_abc123",
"name": "Subject test",
"status": "draft",
"winnerCriteria": "open_rate",
"variants": [
{
"id": "var_a",
"variantId": "var_a",
"abTestId": "ab_abc123",
"label": "A",
"variantLabel": "A",
"emailId": "email_abc123",
"subject": "Welcome",
"blocks": [
{
"id": "block_123",
"type": "html",
"content": "<h1>Hello</h1>",
"styles": {
"backgroundColor": "#f8fafc",
"backgroundOpacity": 80,
"textColor": "#111827",
"borderRadius": 12,
"borderColor": "#cbd5e1",
"borderWidth": 1
},
"conditions": [
{
"id": "c1",
"value": "plan:pro"
}
]
}
]
}
]
},
"warnings": [
"blocks[0].styles.color is not a supported field and was ignored. Button label color comes from the block-level `buttonTextColor` field. Supported styles fields: backgroundColor, backgroundOpacity, bleed, borderColor, borderRadius, borderWidth, paddingBottom, paddingLeft, paddingRight, paddingTop, textAlign, textColor."
]
}