Creates a reusable collection source.
Validates the source config (tool / inline / RAG-index minimum fields) for its kind.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The tenant identifier
The source definition.
Where a pipeline's items come from: an existing paged integration "list" tool, driven headlessly
(no LLM). Mirrors the source half of ToolSourceAssetConfig; the two converge onto this
shared block when the P0 extraction lands (see docs/design/collection-pipelines-plan.md §P0).
Stored as JSONB on Fruxon.Model.CollectionPipelines.CollectionPipeline.
How each source item is mapped into the per-item agent run's inputs. Values are dotted paths into
the item (e.g. fields.summary) or {{template}} interpolations over it — the same
resolution the tool-source mapper uses. Stored as JSONB on Fruxon.Model.CollectionPipelines.CollectionPipeline.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/collectionSources" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000",
"createdAt": 0,
"modifiedAt": 0,
"displayName": "string",
"active": false,
"source": {
"kind": "TOOL",
"ragAssetId": "string",
"ragReadMode": "DOCUMENTS",
"ragSearch": "string",
"pageSize": 0,
"integrationConfigId": "string",
"listToolId": "string",
"getToolId": "string",
"recordsPath": "string",
"cursorParamName": "string",
"parameters": {},
"itemIdPath": "string",
"sinkTargetPath": "string",
"skipWhen": {
"match": "ALL",
"conditions": []
},
"sourceUrlPath": "string",
"flattenSheetRows": false
},
"inputMapping": {
"userQuery": "string",
"parameters": {},
"attachmentUrlPath": "string"
}
}{
"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
}