/m2m/v1. Send Authorization: Bearer <key>. Tenant identity comes from the key.
Use knowledge:read for discovery and status and knowledge:write for ingestion and management. Existing quotas, supported file formats, and activation semantics apply.
active and quotaExceeded. Updating an active source beyond quota returns 409.
The current knowledge model is source-based: no knowledgeBaseId is required. File uploads accept optional title and assetUpload; sourceId is not supported for file uploads. Crawl JSON accepts url, crawlDepth (1–3, default 2), and maxPages (1–500, default 500).