Create a dynamic config
Creates a new config with the given schema. The initial value (or an empty object) is published as version 1 on every env.
Creates a new config with the given schema. The initial value (or an empty object) is published as version 1 on every env.
Returns 409 if name already exists in the project, 400 if value doesn't validate against schema.
- Minimal create —
name+schema. Initial value defaults to{}. - Seeded create — supply a flat
valueto publish the same object on every env. - Per-env seed — supply a
{ env: value }map undervalue, or pass the env keysdev/staging/proddirectly (each overridesvaluefor that env and is published at version 1).
Authorization
bearerSdkKey Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".
In: header
Header 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" \ -H "Content-Type: application/json" \ -d '{ "name": "pricing.tiers", "schema": { "type": "object", "properties": { "tiers": { "type": "array" } }, "required": [ "tiers" ] } }'{
"id": "cfg_01j7wae5h6j7k8l9m0n1p2q3r4",
"name": "pricing.tiers"
}{
"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"
}List dynamic configs
Returns a single page of configs ordered by updated_at desc, id desc. Each row includes the latest published version per env and any active drafts.
Get one config
Returns config metadata plus the latest published values per env and any active draft values. Use this to fetch the JSON the editor renders.