Shipeasy
Flags experimentsApiOperations

Update a dynamic config

Partial update. When value is supplied it is republished on every env (new version per env). When schema is supplied it replaces the current schema; every existing value is re-validated.

For env-scoped edits, use the draft/publish flow (PUT /{id}/drafts then POST /{id}/publish) instead.

Use cases
  • Republish flat value{ "value": {…} } sets the same value on every env.
  • Schema migration{ "schema": {…} } replaces the schema; existing values are re-validated.
  • Env-scoped edits — use PUT /{id}/drafts + POST /{id}/publish instead of PATCH.
PATCH
/api/admin/configs/{id}

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 config 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 PATCH "https://shipeasy.ai/api/admin/configs/string" \  -H "X-Project-Id: string" \  -H "Content-Type: application/json" \  -d '{    "value": {      "tiers": [        {          "name": "free"        },        {          "name": "pro"        }      ]    }  }'
{
  "id": "cfg_01j7wae5h6j7k8l9m0n1p2q3r4"
}
{
  "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"
}