Publish a draft
Promotes the staged draft on one env to a new published version. The draft must still validate against the current schema.
Promotes the staged draft on one env to a new published version. The draft must still validate against the current schema.
Returns 404 if there is no draft for the given env.
Ship a staged change once you've validated it on a lower env.
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 (cfg_…) or the config's name.
1 <= length <= 128Header Parameters
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).
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/configs/string/publish" \ -H "Content-Type: application/json" \ -d '{ "env": "dev" }'{
"id": "cfg_01j7wae5h6j7k8l9m0n1p2q3r4",
"env": "dev",
"version": 6
}{
"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"
}Save a draft value
Stages a value for one env without publishing. The draft is validated against the config's current schema and stored alongside the baseVersion it was forked…
List config activity
Returns recent audit rows for one config (create, update, draft.save, publish, delete) ordered newest first. Use the limit query parameter to cap the result…