Get A/B Test Variant
curl --request GET \
--url https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"stepId": "stp_V0JHmSpWiO0rxHUkz",
"abTest": true,
"emailTemplateBId": "etp_9aZ2k1QwErTyUiOp3",
"subject": "Quick question, {{firstName}}",
"message": "<div>Hi {{firstName}}, ...</div>"
}The authentication you supplied is incorrectroute is available starting emailPro plan{
"error": "No A/B test variant on this step",
"code": "SEQUENCE_AB_NO_VARIANT"
}{
"error": "Bad method"
}Sequences
Get A/B Test Variant
Returns variant B (subject, content, config) of the A/B test on a step.
GET
/
sequences
/
{sequenceId}
/
steps
/
{stepId}
/
ab-test
Get A/B Test Variant
curl --request GET \
--url https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/sequences/{sequenceId}/steps/{stepId}/ab-test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"stepId": "stp_V0JHmSpWiO0rxHUkz",
"abTest": true,
"emailTemplateBId": "etp_9aZ2k1QwErTyUiOp3",
"subject": "Quick question, {{firstName}}",
"message": "<div>Hi {{firstName}}, ...</div>"
}The authentication you supplied is incorrectroute is available starting emailPro plan{
"error": "No A/B test variant on this step",
"code": "SEQUENCE_AB_NO_VARIANT"
}{
"error": "Bad method"
}A/B testing requires at least the Email Pro plan.
subject,
message, and config (altMessage, altMessagePremium, cc, plainText),
along with the abTest flag and the emailTemplateBId.
Variant A’s content is available from
Get Campaign Sequences
— its per-step subject and message are always variant A’s.
If the step does not run an A/B test, the endpoint returns 404.Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The unique identifier of the sequence
The unique identifier of the step
Response
Success
Email template ID of variant B
Variant B subject
Variant B body (HTML)
Variant B's LinkedIn note, same meaning as the step-level altMessage: the premium invitation note on a linkedinInvite step, the out-of-network note on a linkedinSend one
Variant B's premium variant of the out-of-network note, on linkedinSend steps only
Was this page helpful?