Report can be generated with /rest_v2/reportExecutions. After that it can be downloaded with /rest_v2/reportExecutions/<requestId>/exports/<id>/outputResource, and after that it becames unavailable. My question is - where it is stored between creating and downloading? And follow ups - how lond it'll be stored, do I have to worry about cleaning procedures if API will be revealed to enduser, and downloading not guaranted?
UPD: Experimentally proved that this reports stored roughly for an hour. So no cleaning procedures required. But question persists - where they stored and how storage time regulated?
yes - the JVM's ram/memory/heap
It is asynchronous and are parts are session-bound. For example the specific IDs in /<requestId>/exports/<id> are only accessible via the user-session which originated the request.
Session expiration set to zero would be bad, don't do that or you'll eventually encounter an out of memory exception (and wonky stuff will occur prior).