Introduce a download path into the pipeline.

This will generate a csv for download in the background. users will poll
a status URL to see if it's ready.