Gives the knowledge base its own consolidator and editor agents.
Provisions the two agents a base needs to keep its own corpus in order — the consolidator that decides whether a cluster of near-duplicate articles is one article, and the editor that rewrites one article from a reviewer's instruction — and binds both to this base (docs/design/managed-knowledge-sources.md §10.5). Until now they arrived only with the first managed source, so a base that cannot take a source — a workspace-wide one — could never merge a duplicate or accept a correction. Both agents hold no tools, run on no schedule, and are handed their input by the platform, so nothing here widens what the base can read. Because an agent always belongs to an Application, a workspace-wide base names one to create them in; a scoped base answers for itself and must omit it. They are created managed: editable only by turning this off. A base that already names either agent — its own or a source's — is a 409.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The knowledge base id.
uuidThe tenant identifier
The domain clause, the corpus language, the model, and the host Application.
What the articles are about, in one clause — "an Israeli restaurant back-office SaaS (payroll, suppliers and orders, inventory, food cost)". Whether two articles are the same article is a judgement about a subject, and neither agent can make it without knowing the subject.
The language the corpus is written in, as a name a model reads ("Hebrew"). Defaults to the base's own locale; required when the base has none.
The same language as a tag ("he"). Recorded as the base's locale when it has none, and ignored when it has one: the operator has just said what language the corpus is in, and calibration refuses a base without a locale. An existing locale is never overwritten, since changing it clears the base's calibration.
The category slugs the corpus files articles under, for the editor's one sentence about them. Optional — a hand-authored base has no vocabulary, and the sentence is then not written at all.
Which Application the two agents are created in. Required only for a workspace-wide base, because an agent always belongs to one; refused when the base has its own, which answers for itself. The Application is where the agents are listed, not what they may read.
uuidWhich model runs both agents, and under whose credential.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/knowledgeBases/497f6eca-6276-4993-bfeb-53cbbbba6f08:enableConsolidation" \ -H "Content-Type: application/json" \ -d '{ "provider": { "model": "string" } }'{
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "string",
"description": "string",
"locale": "string",
"suggestedLocale": {
"locale": "string",
"matching": 0,
"considered": 0,
"detected": false
},
"networkId": "00000000-0000-0000-0000-000000000000",
"autoPublish": false,
"automaticPublishWithheld": false,
"consolidatorAgentId": "string",
"correctionsAvailable": false,
"consolidationPolicy": {
"version": 0,
"cadence": "MANUAL",
"mode": "REPORT_ONLY",
"similarityThreshold": 0,
"maxClusterSize": 0,
"recentWriteWindowMinutes": 0,
"calibration": {
"runId": "00000000-0000-0000-0000-000000000000",
"similarityThreshold": 0,
"embeddingModel": "string",
"locale": "string",
"calibratedBy": "string",
"calibratedAt": 0
}
},
"consolidationRecipe": {
"domain": "string",
"locale": "string",
"categories": [
"string"
],
"provider": {
"providerId": "string",
"model": "string",
"parameters": {},
"fallbacks": [],
"builtInTools": [],
"tenantConfigId": "00000000-0000-0000-0000-000000000000"
},
"recipeVersion": 0
},
"lastConsolidatedAt": 0,
"backingAssetId": "string",
"embedding": {
"provider": "string",
"model": "string",
"chunkSize": 0,
"chunkOverlap": 0
},
"status": "ACTIVE",
"lastPublishedAt": 0,
"contentRevision": 0,
"publishedContentRevision": 0,
"changesPending": false,
"publishPendingSince": 0,
"publishState": "NONE",
"lastPublishError": "string",
"lastPublishErrorCategory": "CREDENTIALS",
"createdAt": 0,
"modifiedAt": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}