hi - thanks for the question
The simplest thing to do here is to set the async property on the response, for example#
This means the caller will get an initial 202 with a "location" to poll and "retryAfter" interval
The client can then start polling , until the logic app is finished they'll get a 202 - once it's done they'll get a 200 and a response body (whatever you set in the response action to be returned)
It does of course mean the client/caller is capable of polling - if the caller is another logic app it's easy as logic apps will follow the http pattern automatically when you use a http action to call an http endpoint
The other way of doing this would be to use the webhook pattern
Webhooks are event based and avoid polling. You could also use some other event or message based pattern via Event Grid, Az Service Bus or Az Web Pub Sub
Web Sockets which also allow for long running actions are not directly supported in Logic Apps today