The Statsig Experiments API creates, starts, reviews and concludes A/B tests on Statsig’s platform. Our page shows 66 operations. Only 59 are distinct, because seven URLs appear twice, and we are the ones who merged them that way.
How the count doubled
The contract is a merge of three of Statsig’s published definitions. Each path carries the server of the definition it came from. /experiments sits on https://statsigapi.net/console/v1, and /console/v1/experiments sits on https://statsigapi.net. Those resolve to the same address.
| Operation | Short path | Long path |
|---|---|---|
| List, create, get, patch, delete | Both present | Both present |
PUT .../start request body |
None | Required ExperimentStartDto |
PUT .../start 200 response |
Experiment object |
message string |
PUT .../reset 200 response |
Experiment object |
message string |
| Security scheme name | consoleApiKey |
STATSIG-API-KEY |
The two security schemes send the same header, so that row is cosmetic. The start row is not. One URL can’t both require a body and not require one, and a generated client or an agent reading this document has to pick. Only the short paths declare the optional STATSIG-API-VERSION header, which defaults to 20240601. The fix is ours: the merge should collapse paths that resolve to one URL and keep the richer definition.
What the API does well
Past the duplicates, this is a real state machine published as operations. Seven PUT verbs move an experiment through its life: start, reset, abandon, archive, unarchive, make_decision and defer_decision. restart_as_new is a POST. Eight operations cover change review, from creating a review through approve, reject and commit, so a change can wait for a person. Six more handle overrides. Pulse results take statistical options as query parameters, including CUPED, confidence interval and Bonferroni corrections.
The contract declares no idempotency header anywhere in the 66 operations. Two override deletes say in their descriptions that they are idempotent. Retry safety on the state-changing verbs would have to come from Statsig’s documentation, not this document.
One operation needs a warning label. POST /get_experiment lives on a different host, https://api.statsig.com/v1, and takes a different kind of key. It reads like a lookup, but its description says an exposure event is logged automatically. An agent that calls it to inspect an experiment is also writing to that experiment’s analysis.
The artifact set
The API page carries the OpenAPI contract, four documentation links and a generated phrasing overlay covering all 66 operations. At the provider level, Statsig scores 76.5 (exemplar) on the Kin Score and 51.6 on Agent Readiness. Its agentic access record shows 384 operations, 234 of them acting and 33 flagged human-in-the-loop. The provider page lists 38 APIs, which our build split out of 4 source definitions, so this contract’s merged shape is a product of that split.
Takeaway
Statsig published an experiment lifecycle that an agent can follow step by step, with a review gate built in. Treat get_experiment as a write, and until our merge is fixed, trust the /console/v1 form of the seven doubled operations, since it comes from the larger console definition.
See the API at apis.io/apis/statsig/statsig-experiments-api/.