Shipeasy
Flags experimentsApiOperations

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.

Returns 409 if name already exists in the project, 400 if value doesn't validate against schema.

Use cases
  • Minimal createname + schema. Initial value defaults to {}.
  • Seeded create — supply a flat value to publish the same object on every env.
  • Per-env seed — supply a { env: value } map for different per-env starting values.
POST
/api/admin/configs

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

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 POST "https://shipeasy.ai/api/admin/configs" \  -H "X-Project-Id: string" \  -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": "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"
}