Create Config Version
Catalog prerequisites
This operates on the database-backed component catalog configured on AgentOS, not on the in-code agents, teams or workflows lists. It requires a supported synchronous BaseDb adapter with component methods.
Published components can be readable across scoped owners, while writes remain owner-scoped; a visible foreign or shared row can still reject a write with 403. Draft versions require preview access. Saving configuration does not validate model credentials, run tools or deploy a service.
Create the next version
Using the catalog server, set COMPONENT_ID to the returned ID. If its latest visible version is 1, create the next draft with this optional optimistic guard:
curl --fail-with-body "http://127.0.0.1:7777/components/$COMPONENT_ID/configs" \
-H "Authorization: Bearer $OS_SECURITY_KEY" \
-H 'Content-Type: application/json' \
-d '{"config":{"name":"Reference Agent"},"stage":"draft","guard":{"latest_version":1}}'guard.latest_version checks the expected latest version and returns 409 when stale. This operation rejects a non-null guard.current_version with 400. Read the latest version before choosing your expected value.
On current main, the exposed version and set_current fields are ignored. Version numbers are allocated by the database; requesting version=99 does not reserve version 99. Draft creation leaves the published pointer unchanged; stage=published automatically makes the new version current. Omit the ignored fields.
/components/{component_id}/configsCreate a new config version for a component.
Authorization
HTTPBearer In: header
Path Parameters
Component ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Config data
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl --request POST 'https://example.com/components/string/configs' \ --header 'Content-Type: application/json' \ --data-raw '{"config":{}}'{ "component_id": "string", "version": 0, "label": "string", "stage": "string", "config": {}, "notes": "string", "created_at": 0, "updated_at": 0}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}