Shipeasy
Flags experimentsApiOperations

Transition experiment status

Drives the experiment lifecycle. Allowed transitions:

  • draft → running — starts allocation. Bumps the startedAt timestamp.
  • running → stopped — halts allocation. Existing exposures stay in the dataset.
  • stopped → archived — soft-delete.
  • draft → archived — discard an unstarted experiment.

Restarting an archived experiment is not allowed; clone instead. Returns 409 on illegal transitions and 429 if the plan's experiments_running limit is exceeded on → running.

Use cases
  • Start{ "status": "running" } after wiring up the SDK and verifying targeting on staging.
  • Stop{ "status": "stopped" } once the experiment hits its min_runtime_days and conclusive results land.
  • Archive{ "status": "archived" } to soft-delete after sign-off.
POST
/api/admin/experiments/{id}/status

Authorization

bearerSdkKey
AuthorizationBearer <token>

Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".

In: header

Path Parameters

id*string

Stable opaque experiment id.

Header Parameters

X-Project-Id*string

Project the request operates on. Must match the project the SDK key belongs to.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://shipeasy.ai/api/admin/experiments/string/status" \  -H "X-Project-Id: string" \  -H "Content-Type: application/json" \  -d '{    "status": "running"  }'
{
  "id": "exp_01j7wb12c3d4e5f6g7h8j9k0l1",
  "status": "running"
}
{
  "error": "string",
  "code": "string",
  "detail": "string"
}
{
  "error": "string",
  "code": "string",
  "detail": "string"
}
{
  "error": "string",
  "code": "string",
  "detail": "string"
}
{
  "error": "string",
  "code": "string",
  "detail": "string"
}
{
  "error": "string",
  "code": "string",
  "detail": "string"
}
{
  "error": "string",
  "code": "string",
  "detail": "string"
}