You can't do that. This is not a limitation of node; it's just not how HTTP works.
In response to an HTTP request, your HTTP server shall send exactly one HTTP response. That response will have headers. It may also have a body, depending on what headers you send.
For example, you could send headers that describe a file, and the body of the response would be the contents of the file.
Or, you could send headers including a Location header requesting that the user agent visit another URL. In that case, your response will have no body (or perhaps a simple HTML body with a link to the same URL, for the benefit of someone examining your site with curl).
Some web sites use the following strategy: when you click a download link, they actually send you to an HTML page. That page says something like "Thanks for downloading", or provides further information about the file, or displays advertisements or something. And the page uses HTML meta tags, or perhaps JavaScript, to request the actual file's URL, which is then downloaded while the user looks at the "thank you" page. Perhaps that strategy is helpful to you?
What exactly are you trying to do? What is this other API that you must hit after the download finishes?
If you really must wait until the download finishes, then only the server serving the file knows if it has been completely sent. You may have to write the server to have a route for serving the file, and when the server has finished serving the file, the server calls the other API. But this would not provide any opportunity for communicating any further result back to the user agent.