Transition experiment status
Drives the experiment lifecycle. Allowed transitions:
draft → running— starts allocation. Bumps thestartedAttimestamp.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.
- Start —
{ "status": "running" }after wiring up the SDK and verifying targeting on staging. - Stop —
{ "status": "stopped" }once the experiment hits itsmin_runtime_daysand conclusive results land. - Archive —
{ "status": "archived" }to soft-delete after sign-off.
Authorization
bearerSdkKey Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".
In: header
Path Parameters
Stable opaque experiment id.
Header Parameters
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"
}