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.
- 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}/publishinstead of PATCH.
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 config 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 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"
}