@@ -4629,6 +4629,245 @@ paths:
46294629 schema :
46304630 $ref : " #/components/schemas/Error"
46314631
4632+ /settings/agent/souls :
4633+ get :
4634+ summary : " List agent souls"
4635+ description : " Returns all configured agent souls (personalities). Requires admin role."
4636+ operationId : " listAgentSouls"
4637+ tags :
4638+ - " agent"
4639+ parameters :
4640+ - $ref : " #/components/parameters/RemoteNode"
4641+ - $ref : " #/components/parameters/Page"
4642+ - $ref : " #/components/parameters/PerPage"
4643+ - name : q
4644+ in : query
4645+ description : " Search query (matches name, description)"
4646+ required : false
4647+ schema :
4648+ type : string
4649+ responses :
4650+ " 200 " :
4651+ description : " List of souls"
4652+ content :
4653+ application/json :
4654+ schema :
4655+ $ref : " #/components/schemas/ListSoulsResponse"
4656+ " 401 " :
4657+ description : " Not authenticated"
4658+ content :
4659+ application/json :
4660+ schema :
4661+ $ref : " #/components/schemas/Error"
4662+ " 403 " :
4663+ description : " Requires admin role"
4664+ content :
4665+ application/json :
4666+ schema :
4667+ $ref : " #/components/schemas/Error"
4668+ default :
4669+ description : " Unexpected error"
4670+ content :
4671+ application/json :
4672+ schema :
4673+ $ref : " #/components/schemas/Error"
4674+
4675+ post :
4676+ summary : " Create agent soul"
4677+ description : " Creates a new agent soul (personality). Requires admin role."
4678+ operationId : " createAgentSoul"
4679+ tags :
4680+ - " agent"
4681+ parameters :
4682+ - $ref : " #/components/parameters/RemoteNode"
4683+ requestBody :
4684+ required : true
4685+ content :
4686+ application/json :
4687+ schema :
4688+ $ref : " #/components/schemas/CreateSoulRequest"
4689+ responses :
4690+ " 201 " :
4691+ description : " Soul created"
4692+ content :
4693+ application/json :
4694+ schema :
4695+ $ref : " #/components/schemas/SoulResponse"
4696+ " 400 " :
4697+ description : " Invalid request"
4698+ content :
4699+ application/json :
4700+ schema :
4701+ $ref : " #/components/schemas/Error"
4702+ " 401 " :
4703+ description : " Not authenticated"
4704+ content :
4705+ application/json :
4706+ schema :
4707+ $ref : " #/components/schemas/Error"
4708+ " 403 " :
4709+ description : " Requires admin role"
4710+ content :
4711+ application/json :
4712+ schema :
4713+ $ref : " #/components/schemas/Error"
4714+ " 409 " :
4715+ description : " Soul already exists"
4716+ content :
4717+ application/json :
4718+ schema :
4719+ $ref : " #/components/schemas/Error"
4720+ default :
4721+ description : " Unexpected error"
4722+ content :
4723+ application/json :
4724+ schema :
4725+ $ref : " #/components/schemas/Error"
4726+
4727+ /settings/agent/souls/{soulId} :
4728+ get :
4729+ summary : " Get agent soul"
4730+ description : " Returns a single agent soul by ID. Requires admin role."
4731+ operationId : " getAgentSoul"
4732+ tags :
4733+ - " agent"
4734+ parameters :
4735+ - $ref : " #/components/parameters/RemoteNode"
4736+ - $ref : " #/components/parameters/SoulId"
4737+ responses :
4738+ " 200 " :
4739+ description : " Soul details"
4740+ content :
4741+ application/json :
4742+ schema :
4743+ $ref : " #/components/schemas/SoulResponse"
4744+ " 400 " :
4745+ description : " Invalid soul ID"
4746+ content :
4747+ application/json :
4748+ schema :
4749+ $ref : " #/components/schemas/Error"
4750+ " 401 " :
4751+ description : " Not authenticated"
4752+ content :
4753+ application/json :
4754+ schema :
4755+ $ref : " #/components/schemas/Error"
4756+ " 403 " :
4757+ description : " Requires admin role"
4758+ content :
4759+ application/json :
4760+ schema :
4761+ $ref : " #/components/schemas/Error"
4762+ " 404 " :
4763+ description : " Soul not found"
4764+ content :
4765+ application/json :
4766+ schema :
4767+ $ref : " #/components/schemas/Error"
4768+ default :
4769+ description : " Unexpected error"
4770+ content :
4771+ application/json :
4772+ schema :
4773+ $ref : " #/components/schemas/Error"
4774+
4775+ patch :
4776+ summary : " Update agent soul"
4777+ description : " Updates an existing agent soul. Requires admin role."
4778+ operationId : " updateAgentSoul"
4779+ tags :
4780+ - " agent"
4781+ parameters :
4782+ - $ref : " #/components/parameters/RemoteNode"
4783+ - $ref : " #/components/parameters/SoulId"
4784+ requestBody :
4785+ required : true
4786+ content :
4787+ application/json :
4788+ schema :
4789+ $ref : " #/components/schemas/UpdateSoulRequest"
4790+ responses :
4791+ " 200 " :
4792+ description : " Soul updated"
4793+ content :
4794+ application/json :
4795+ schema :
4796+ $ref : " #/components/schemas/SoulResponse"
4797+ " 400 " :
4798+ description : " Invalid request"
4799+ content :
4800+ application/json :
4801+ schema :
4802+ $ref : " #/components/schemas/Error"
4803+ " 401 " :
4804+ description : " Not authenticated"
4805+ content :
4806+ application/json :
4807+ schema :
4808+ $ref : " #/components/schemas/Error"
4809+ " 403 " :
4810+ description : " Requires admin role"
4811+ content :
4812+ application/json :
4813+ schema :
4814+ $ref : " #/components/schemas/Error"
4815+ " 404 " :
4816+ description : " Soul not found"
4817+ content :
4818+ application/json :
4819+ schema :
4820+ $ref : " #/components/schemas/Error"
4821+ default :
4822+ description : " Unexpected error"
4823+ content :
4824+ application/json :
4825+ schema :
4826+ $ref : " #/components/schemas/Error"
4827+
4828+ delete :
4829+ summary : " Delete agent soul"
4830+ description : " Deletes an agent soul. Requires admin role."
4831+ operationId : " deleteAgentSoul"
4832+ tags :
4833+ - " agent"
4834+ parameters :
4835+ - $ref : " #/components/parameters/RemoteNode"
4836+ - $ref : " #/components/parameters/SoulId"
4837+ responses :
4838+ " 204 " :
4839+ description : " Soul deleted"
4840+ " 400 " :
4841+ description : " Invalid soul ID"
4842+ content :
4843+ application/json :
4844+ schema :
4845+ $ref : " #/components/schemas/Error"
4846+ " 401 " :
4847+ description : " Not authenticated"
4848+ content :
4849+ application/json :
4850+ schema :
4851+ $ref : " #/components/schemas/Error"
4852+ " 403 " :
4853+ description : " Requires admin role"
4854+ content :
4855+ application/json :
4856+ schema :
4857+ $ref : " #/components/schemas/Error"
4858+ " 404 " :
4859+ description : " Soul not found"
4860+ content :
4861+ application/json :
4862+ schema :
4863+ $ref : " #/components/schemas/Error"
4864+ default :
4865+ description : " Unexpected error"
4866+ content :
4867+ application/json :
4868+ schema :
4869+ $ref : " #/components/schemas/Error"
4870+
46324871 /agent/sessions :
46334872 post :
46344873 summary : " Create agent session"
@@ -5070,6 +5309,15 @@ components:
50705309 type : string
50715310 minLength : 1
50725311
5312+ SoulId :
5313+ name : soulId
5314+ in : path
5315+ required : true
5316+ schema :
5317+ type : string
5318+ minLength : 1
5319+ description : The soul ID
5320+
50735321 schemas :
50745322 AuditEntry :
50755323 type : object
@@ -7009,6 +7257,7 @@ components:
70097257 - dag
70107258 - memory
70117259 - skill
7260+ - soul
70127261
70137262 SyncItem :
70147263 type : object
@@ -7357,6 +7606,10 @@ components:
73577606 description : " ID of the default model"
73587607 toolPolicy :
73597608 $ref : " #/components/schemas/AgentToolPolicy"
7609+ selectedSoulId :
7610+ type : string
7611+ nullable : true
7612+ description : " ID of the currently selected soul"
73607613
73617614 UpdateAgentConfigRequest :
73627615 type : object
@@ -7370,6 +7623,10 @@ components:
73707623 description : " ID of the default model"
73717624 toolPolicy :
73727625 $ref : " #/components/schemas/AgentToolPolicy"
7626+ selectedSoulId :
7627+ type : string
7628+ nullable : true
7629+ description : " ID of the soul to select"
73737630
73747631 AgentToolPolicy :
73757632 type : object
@@ -7677,6 +7934,67 @@ components:
76777934 items :
76787935 type : string
76797936
7937+ SoulResponse :
7938+ type : object
7939+ required :
7940+ - id
7941+ - name
7942+ description : " Soul (agent personality) configuration"
7943+ properties :
7944+ id :
7945+ type : string
7946+ name :
7947+ type : string
7948+ description :
7949+ type : string
7950+ content :
7951+ type : string
7952+ description : " Markdown body content (identity definition)"
7953+
7954+ ListSoulsResponse :
7955+ type : object
7956+ required :
7957+ - souls
7958+ - pagination
7959+ description : " List of souls"
7960+ properties :
7961+ souls :
7962+ type : array
7963+ items :
7964+ $ref : " #/components/schemas/SoulResponse"
7965+ pagination :
7966+ $ref : " #/components/schemas/Pagination"
7967+
7968+ CreateSoulRequest :
7969+ type : object
7970+ required :
7971+ - name
7972+ - content
7973+ description : " Request to create a new soul"
7974+ properties :
7975+ id :
7976+ type : string
7977+ description : " Optional custom ID (auto-generated from name if omitted)"
7978+ name :
7979+ type : string
7980+ description :
7981+ type : string
7982+ content :
7983+ type : string
7984+ description : " Markdown body content (identity definition)"
7985+
7986+ UpdateSoulRequest :
7987+ type : object
7988+ description : " Request to update a soul (partial update)"
7989+ properties :
7990+ name :
7991+ type : string
7992+ description :
7993+ type : string
7994+ content :
7995+ type : string
7996+ description : " Markdown body content (identity definition)"
7997+
76807998 ModelPreset :
76817999 type : object
76828000 required :
@@ -7821,6 +8139,9 @@ components:
78218139 safeMode :
78228140 type : boolean
78238141 description : " Enable approval prompts for dangerous commands"
8142+ soulId :
8143+ type : string
8144+ description : " Soul ID to use for this session (overrides default)"
78248145
78258146 CreateAgentSessionResponse :
78268147 type : object
0 commit comments