API reference OpenAPI 3.1
POST /experiments

Create experiment

Bearer API key or staff session application/json operation createExperiment

Request

Content type: application/json · required

FieldTypeRequiredDescription
name string No —
rule_set_id string No —
champion_version integer Yes —
challenger_version integer Yes —
split_pct integer No —
curl -X POST "$MONICHEK_API/experiments" \
  -H "Authorization: Bearer $MONICHEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Ada Okafor",
  "rule_set_id": "rul_01M3R...",
  "champion_version": 1,
  "challenger_version": 1,
  "split_pct": 1
}'
const res = await fetch(`${MONICHEK_API}/experiments`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${MONICHEK_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "name": "Ada Okafor",
    "rule_set_id": "rul_01M3R...",
    "champion_version": 1,
    "challenger_version": 1,
    "split_pct": 1
  }),
});

const data = await res.json();
import os
import requests

res = requests.post(
    f"{os.environ['MONICHEK_API']}/experiments",
    headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
    json={
      "name": "Ada Okafor",
      "rule_set_id": "rul_01M3R...",
      "champion_version": 1,
      "challenger_version": 1,
      "split_pct": 1
    },
)
print(res.json())
$ch = curl_init(getenv('MONICHEK_API') . '/experiments');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'name' => 'Ada Okafor',
        'rule_set_id' => 'rul_01M3R...',
        'champion_version' => 1,
        'challenger_version' => 1,
        'split_pct' => 1,
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

201 Created experiment application/json

No response example is published for this status.

Error responses

StatusMeaningBody
401 Unauthorized RFC 9457 problem
422 Unprocessable Entity RFC 9457 problem

Errors use the RFC 9457 problem format with a stable code.