Skip to main content

Fetch Active Experiments

Endpoint

/o/sdk?method=ab_fetch_experiments

Enterprise Only
This API is available exclusively in Countly Enterprise.

Overview

Fetch active experiments (documents with status missing or status="running") with variant parameters. If the request context includes params.app_user.ab, the response includes currentVariant for matching experiments.

Authentication

Authentication Methods:

  • App Key (parameter): app_key=YOUR_APP_KEY

Permissions

  • No additional permissions required

Request Parameters

ParameterTypeRequiredDescription
app_keyStringYesApplication key
device_idStringNoDevice identifier used by SDK context to resolve current user

Response

Success Response

[
{
"id": "5d4472152de8f07336f3b352",
"name": "My test experiment",
"description": "Experiment description",
"currentVariant": "Control group",
"variants": {
"Control group": {
"button_text": "q"
},
"Variant A": {
"button_text": "w"
}
}
}
]

Response Fields

FieldTypeDescription
idStringExperiment ObjectId
nameStringExperiment name
descriptionStringExperiment description
currentVariantString or nullUser's assigned variant name, if available
variantsObjectVariant name to parameter/value map

Error Responses

  • Query error payload:
{
"result": "Error while fetching ab-testing variants."
}

Behavior/Processing

  • Handles /o/sdk?method=ab_fetch_experiments and reads experiments from countly_out.ab_testing_experiments{appId}.
  • Includes experiments whose status is missing or exactly running; draft and completed experiments are not returned.
  • Converts each experiment into an SDK-facing object with id, name, description, currentVariant, and a variants object.
  • variants is keyed by variant name. Each variant value is an object mapping every parameter name in that variant to its configured value.
  • If the SDK request resolved an app user and params.app_user.ab contains an assignment for the experiment, currentVariant is set from that assigned variant_index; otherwise it is null.
  • On database errors, returns Error while fetching ab-testing variants..

Database Collections

CollectionUsed forData touched by this endpoint
countly_out.ab_testing_experiments{appId}Primary:Experiment definitions and variants.
params.app_user.abRelated request contextCurrent variant is resolved from SDK user assignments when available.

Examples

Example 1: Fetch Active Experiments

Request:

curl "https://your-server.com/o/sdk?method=ab_fetch_experiments" \
-d "app_key=YOUR_APP_KEY" \
-d "device_id=DEVICE_ID"

Ⓔ Enterprise

This feature is part of Countly Enterprise.

Get Access:

Already a Customer? Use support portal if you have any questions


Last Updated

2026-04-18