Hi @av-ey ,
We have done this recently using the Model exporter.
Assets HTTP API has its limitation where you may not be able to retrieve everything from a DITA file.
Also the XML Documentation APIs doesn't have an option to retrieve the DITA content as head-less. It provides APIs to operate on AEM Guides for e.g. Download DITA Maps, Convert word documents, getting the inbuilt outputs etc.
We have solved this by writing a custom model exporter, which refers the topic model and get the topics respective sub node content (head, body, type, content, and other details) and then outputting this to a json format using SlingRequestProcessor Library.