Shipeasy
Flags experimentsApiOperations

List experiments

Returns a single page of non-archived experiments ordered by updated_at desc, id desc. Use the cursor query parameter to paginate.

Returns a single page of non-archived experiments ordered by updated_at desc, id desc. Use the cursor query parameter to paginate.

Use case

Snapshot every active experiment in the project — e.g. render an overview dashboard or drive a CI check that no experiment has been running past its min_runtime_days.

GET
/api/admin/experiments

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

Query Parameters

limit?integer

Page size (1–500). Defaults to 100.

Default100
Range1 <= value <= 500
cursor?string

Opaque cursor returned in the previous page's next_cursor. Omit for the first page.

status?string

Filter by lifecycle status. Pass archived to return the archive tab; any other value (or omitting it) returns the non-archived experiments.

q?string

Case-insensitive substring filter across the resource's human-readable text columns (e.g. name, title, description). OR-matched across those columns; omit to return everything.

Lengthlength <= 100

Header Parameters

X-Project-Id?string

Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://shipeasy.ai/api/admin/experiments"
{
  "data": [
    {
      "id": "exp_01j7wb12c3d4e5f6g7h8j9k0l1",
      "name": "checkout_button_color",
      "description": "Test green vs. blue CTA on the checkout page.",
      "tag": "checkout",
      "status": "running",
      "universe": "primary_users",
      "targetingGate": null,
      "allocationPct": 5000,
      "salt": "8d3e9a1f6b7c4a5fa1c2b6d3e7c8e3a1",
      "params": {
        "cta_color": "string"
      },
      "groups": [
        {
          "name": "control",
          "weight": 5000,
          "params": {
            "cta_color": "blue"
          }
        },
        {
          "name": "treatment",
          "weight": 5000,
          "params": {
            "cta_color": "green"
          }
        }
      ],
      "significanceThreshold": 0.05,
      "minRuntimeDays": 7,
      "minSampleSize": 1000,
      "sequentialTesting": false,
      "startedAt": "2026-05-01T12:00:00.000Z",
      "stoppedAt": null,
      "updatedAt": "2026-05-09T18:22:11.000Z"
    }
  ],
  "next_cursor": null
}
{
  "error": "Malformed request (bad JSON, missing project scope).",
  "code": "BAD_REQUEST"
}
{
  "error": "Missing or invalid admin SDK key.",
  "code": "UNAUTHORIZED"
}

{
  "error": "Key is valid but not allowed to act on this project.",
  "code": "FORBIDDEN"
}

{
  "error": "The resource does not exist or is not visible to the caller.",
  "code": "NOT_FOUND"
}

{
  "error": "A resource with this name already exists in the project.",
  "code": "ALREADY_EXISTS"
}

{
  "error": "The request body failed structural (schema) validation.",
  "code": "VALIDATION"
}

Was this page helpful?
✎ Edit this page