Shipeasy
Flags experimentsApiOperations

Set one switch entry

Sets or updates a single switchKey on a single env. Publishes one new version on that env only — other envs untouched.

Use this for surgical per-env, per-key flips during incident response (e.g. trip eu_region on prod without touching the flat value or other envs).

Use cases
  • Trip a region{ "env": "prod", "switchKey": "eu_region", "value": true }.
  • Untrip without removing — same payload with value: false. To remove the entry entirely use DELETE /{id}/switch.
PUT
/api/admin/killswitches/{id}/switch

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 killswitch 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 PUT "https://shipeasy.ai/api/admin/killswitches/string/switch" \  -H "X-Project-Id: string" \  -H "Content-Type: application/json" \  -d '{    "env": "prod",    "switchKey": "eu_region",    "value": true  }'
{
  "id": "ksw_01j7w9d8h2k4m6n8p0q2r4s6t8",
  "env": "prod",
  "switchKey": "eu_region",
  "value": true
}
{
  "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"
}