Asks the consolidator about clusters of a reviewed report, without changing any document.
The consolidator reads each named cluster and classifies it (duplicate, overlapping, related or distinct). For a cluster it would merge it also writes the merged article, which the run's report carries as a PROPOSED cluster: the survivor, the proposed title, body and tags, and its reason. No document is written, so the text can be read before it exists anywhere an agent looks; approve it with `:approve`. Members are revalidated against the report like `:apply` does — a cluster whose documents changed is reported STALE. Queues a propose run and returns it; the run list omits proposed bodies, so read the run itself for them. Asking again about a cluster already answered — kept apart by the consolidator or by a person — is how an answer is overruled; the newest answer is the one that counts. `note` is handed to the consolidator with every cluster, typically why the person thinks a group is one article after all.
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 report-only run whose clusters are being asked about.
uuidThe tenant identifier
The clusters to ask about, the report version they were read from, and an optional note for the consolidator.
Which of the report's clusters to merge. Selective on purpose: a report is reviewed cluster by cluster, and an all-or-nothing apply would make one bad candidate reject every good one.
The report version the caller read. Sent back so a report produced by a different shape cannot be applied through semantics it was never written under.
int32What the person asking wants the consolidator to weigh — typically, asking again about a group it kept apart, why they think it is one article. It is evidence, not an order: the consolidator still decides, and says why when it disagrees. Leave it out for a plain ask.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/knowledgeBases/497f6eca-6276-4993-bfeb-53cbbbba6f08/consolidations/497f6eca-6276-4993-bfeb-53cbbbba6f08:propose" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "00000000-0000-0000-0000-000000000000",
"knowledgeBaseId": "00000000-0000-0000-0000-000000000000",
"status": "QUEUED",
"trigger": "MANUAL",
"consolidationPolicyVersion": 0,
"consolidationCadence": "MANUAL",
"consolidationMode": "REPORT_ONLY",
"requestedBy": "string",
"reportOnly": false,
"reportOnlyReason": "string",
"similarityThreshold": 0,
"maxClusterSize": 0,
"recentWriteWindowMinutes": 0,
"basedOnRunId": "00000000-0000-0000-0000-000000000000",
"clusterIds": [
"00000000-0000-0000-0000-000000000000"
],
"reviewerNote": "string",
"startedAt": 0,
"completedAt": 0,
"error": "string",
"report": {
"version": 0,
"knowledgeBaseId": "00000000-0000-0000-0000-000000000000",
"reportOnly": false,
"consolidatorAgentId": "string",
"similarityThreshold": 0,
"maxClusterSize": 0,
"recentWriteWindowMinutes": 0,
"documentsConsidered": 0,
"documentsSkippedAsRecentlyModified": 0,
"embeddingsComputed": 0,
"embeddingsReused": 0,
"embeddingTokens": 0,
"embeddingModel": "string",
"clusters": [
{
"clusterId": "00000000-0000-0000-0000-000000000000",
"index": 0,
"members": [],
"maxSimilarity": 0,
"minSimilarity": 0,
"sectionOverlap": null,
"outcome": "UNSPECIFIED",
"classification": "UNSPECIFIED",
"survivorId": null,
"proposedTitle": "string",
"proposedBodyMarkdown": "string",
"proposedTags": [],
"authorAgentId": "string",
"archivedIds": [],
"note": "string",
"conflicts": [],
"executionRecordId": null,
"decidedBy": "string",
"earlierDecision": null
}
],
"repeatedFacts": [
{
"factId": "00000000-0000-0000-0000-000000000000",
"title": "string",
"minSimilarity": 0,
"occurrences": [],
"check": null
}
],
"sectionsCompared": 0,
"repeatedFactsSkippedReason": "string",
"openingBoilerplate": [
"string"
],
"clustersFound": 1,
"clustersMerged": 0,
"clustersKeptSeparate": 0,
"clustersFailed": 0,
"clustersProposed": 0,
"clustersRelated": 0,
"documentsArchived": 0
},
"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
}