> ## Documentation Index
> Fetch the complete documentation index at: https://docs.teamfollowup.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the public API base URL: https://api.teamfollowup.ai/api.
> Authenticate public API requests with Authorization: Bearer YOUR_API_KEY.
> Use product-owned terms: agents, campaigns, projects (GoHighLevel sub-accounts), contacts, calls, outcomes, skills, cadences, phone numbers.
> Scope requests by locationId rather than projectName.
> Read the guide linked from each API reference group before recommending an endpoint.

# Split Testing API

> Turn a campaign into a two-to-five variant experiment, steer new leads by weight, and read results per variant through analytics and calls.

A split test runs several variants of one agent inside one campaign. Each new
lead is assigned to a variant by weight and stays with it. Concepts are in
[Agent split tests](/split-testing/overview), and the walk-through in
[Run a split test](/split-testing/run-a-split-test).

| Endpoint                                                                                      | Use it to                                                                                                                          |
| --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| [Convert campaign to split test](/api-reference/split-testing/convert-campaign-to-split-test) | Start a split with the current agent as the primary variant.                                                                       |
| [Get split test](/api-reference/split-testing/get-split-test)                                 | Read the variants, weights, `status`, `sync` and `revision`.                                                                       |
| [Update split weights](/api-reference/split-testing/update-split-weights)                     | Send the full set of weights, totalling 100, with the `revision`.                                                                  |
| [Add split variant](/api-reference/split-testing/add-split-variant)                           | Add a variant, up to five. Accepts `Idempotency-Key`.                                                                              |
| [Rename split variant](/api-reference/split-testing/rename-split-variant)                     | Give a variant a name of your own, which sets its read-only `customName` flag. Send `name: null` to put it back on the convention. |
| [Remove split variant](/api-reference/split-testing/remove-split-variant)                     | Remove a variant and redistribute its weight. One survivor ends the split.                                                         |
| [Normalise variant names](/api-reference/split-testing/normalise-variant-names)               | Reset every name to the primary name plus a Roman numeral.                                                                         |

Results come from [Get analytics summary](/api-reference/analytics/get-analytics-summary),
[List calls](/api-reference/calls/list-calls) and
[List contacts](/api-reference/contacts/list-contacts), each filtered by
`agentVariantId` with the `campaignId`.

Scopes: `agents:read`, `agents:write`. See [Authentication](/authentication#scopes).

## Guides

* [Agent split tests](/split-testing/overview)
* [Run a split test](/split-testing/run-a-split-test)
* [Glossary](/glossary#split-testing)
