Skip to main content
GET
/
2
/
abtests
/
{id}
curl
curl --request GET \
  --url https://analytics.us.algolia.com/2/abtests/224 \
  --header 'accept: application/json' \
  --header 'x-algolia-api-key: ALGOLIA_API_KEY' \
  --header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID'
// Initialize the client
var client = new AbtestingClient(
new AbtestingConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
);

// Call the API
var response = await client.GetABTestAsync(42);

// print the response
Console.WriteLine(response);
// Initialize the client with your application region, eg. abtesting.ALGOLIA_APPLICATION_REGION
client, err := abtesting.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", abtesting.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}

// Call the API
response, err := client.GetABTest(client.NewApiGetABTestRequest(
42))
if err != nil {
// handle the eventual error
panic(err)
}


// print the response
print(response)
// Initialize the client
AbtestingClient client = new AbtestingClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");

// Call the API
ABTest response = client.getABTest(42);

// print the response
System.out.println(response);
// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initAbtesting({ region: 'us' });

// Call the API
const response = await client.getABTest({ id: 42 });


// print the response
console.log(response);
// Initialize the client
val client =
AbtestingClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)

// Call the API
var response = client.getABTest(id = 42)


// print the response
println(response)
// Initialize the client
$client = AbtestingClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');

// Call the API
$response = $client->getABTest(
42,
);


// print the response
var_dump($response);
# Initialize the client
# In an asynchronous context, you can use AbtestingClient instead, which exposes the exact same methods.
client = AbtestingClientSync(
"ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
)

# Call the API
response = client.get_ab_test(
id=42,
)


# print the response
print(response)
# Initialize the client
client = Algolia::AbtestingClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")

# Call the API
response = client.get_ab_test(42)


# print the response
puts(response)
// Initialize the client
val client = AbtestingClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = Option("ALGOLIA_APPLICATION_REGION")
)

// Call the API
val response = Await.result(
client.getABTest(
id = 42
),
Duration(100, "sec")
)

// print the response
println(response)
// Initialize the client
let client = try AbtestingClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)

// Call the API
let response = try await client.getABTest(id: 42)

// print the response
print(response)
{
  "abTestID": 224,
  "createdAt": "2023-06-15T15:06:04.249906Z",
  "endAt": "2023-06-17T00:00:00Z",
  "name": "Custom ranking sales rank test",
  "status": "active",
  "updatedAt": "2023-06-15T15:06:44.400601Z",
  "variants": [
    {
      "addToCartCount": 0,
      "clickCount": 65131,
      "conversionCount": 4785,
      "index": "delcourt_production",
      "noResultCount": 0,
      "purchaseCount": 0,
      "searchCount": 86269,
      "trackedUserCount": 55501,
      "trafficPercentage": 60,
      "userCount": 55501,
      "addToCartRate": 0,
      "averageClickPosition": 29.12342,
      "clickThroughRate": 0.22219857724813036,
      "conversionRate": 0.14546725846658964,
      "currencies": {
        "USD": {
          "currency": "USD",
          "revenue": 120,
          "mean": 53.7,
          "standardDeviation": 12.3,
          "winsorizedAmount": 23
        },
        "EUR": {
          "currency": "EUR",
          "revenue": 100,
          "mean": 43.7,
          "standardDeviation": 10.3,
          "winsorizedAmount": 10
        }
      },
      "description": "Current production index",
      "estimatedSampleSize": 0,
      "filterEffects": {
        "emptySearch": {
          "usersCount": 1,
          "trackedSearchesCount": 237
        },
        "outliers": {
          "usersCount": 1,
          "trackedSearchesCount": 237
        }
      },
      "purchaseRate": 0,
      "trackedSearchCount": 2
    }
  ],
  "addToCartSignificance": 1,
  "clickSignificance": 1,
  "configuration": {
    "emptySearch": {
      "exclude": true
    },
    "featureFilters": {
      "aiPerso": true,
      "dynamicReRanking": true,
      "multiSignalRanking": true
    },
    "minimumDetectableEffect": {
      "size": 0.5
    },
    "outliers": {
      "exclude": true
    }
  },
  "conversionSignificance": 1,
  "purchaseSignificance": 1,
  "revenueSignificance": {
    "USD": 1,
    "EUR": 0.87
  },
  "stoppedAt": "2023-06-15T15:06:44.400601Z"
}
{
"message": "Invalid Application-Id or API-Key"
}
{
"message": "Invalid Application-Id or API-Key"
}
{
"message": "Invalid Application-Id or API-Key"
}
{
"message": "Invalid Application-Id or API-Key"
}
Required ACL: analytics

Authorizations

x-algolia-application-id
string
header
required

Your Algolia application ID.

x-algolia-api-key
string
header
required

Your Algolia API key with the necessary permissions to make the request. Permissions are controlled through access control lists (ACL) and access restrictions. The required ACL to make a request is listed in each endpoint's reference.

Path Parameters

id
integer
required

Unique A/B test identifier.

Example:

224

Response

OK

abTestID
integer
required

Unique A/B test identifier.

Example:

224

createdAt
string
required

Date and time when the A/B test was created, in RFC 3339 format.

Example:

"2023-06-15T15:06:04.249906Z"

endAt
string
required

End date and time of the A/B test, in RFC 3339 format.

Example:

"2023-06-17T00:00:00Z"

name
string
required

A/B test name.

Example:

"Custom ranking sales rank test"

status
enum<string>
required

A/B test status.

  • active. The A/B test is live and search traffic is split between the two variants.
  • stopped. You stopped the A/B test. The A/B test data is still available for analysis.
  • expired. The A/B test was automatically stopped after reaching its end date.
  • failed. Creating the A/B test failed.
Available options:
active,
stopped,
expired,
failed
Example:

"active"

updatedAt
string
required

Date and time when the A/B test was last updated, in RFC 3339 format.

Example:

"2023-06-15T15:06:44.400601Z"

variants
object[]
required

A/B test variants.

The first variant is your control index, typically your production index. The second variant is an index with changed settings that you want to test against the control.

addToCartSignificance
number<double> | null

A/B test significance calculated from add-to-cart events.

Values of 0.95 or higher can be considered significant, that is, the difference between A and B variants is not due to random variations.

Example:

1

clickSignificance
number<double> | null

A/B test significance calculated from click events.

Values of 0.95 or higher can be considered significant, that is, the difference between A and B variants is not due to random variations. Lower values have a.

Example:

1

configuration
configuration Ā· object

A/B test configuration.

conversionSignificance
number<double> | null

A/B test significance calculated from conversion events.

Values of 0.95 or higher can be considered significant, that is, the difference between A and B variants is not due to random variations.

Example:

1

purchaseSignificance
number<double> | null

A/B test significance calculated from purchase events.

Values of 0.95 or higher can be considered significant, that is, the difference between A and B variants is not due to random variations.

Example:

1

revenueSignificance
object | null

A/B test significance calculated from revenue data.

Values of 0.95 or higher can be considered significant, that is, the difference between A and B variants is not due to random variations.

Example:
{ "USD": 1, "EUR": 0.87 }
stoppedAt
string | null

Date and time when the A/B test was stopped, in RFC 3339 format.

Example:

"2023-06-15T15:06:44.400601Z"

Last modified on March 23, 2026