@DevBuster007 You can leverage policies to achieve this and in fact, this sample covers this exact scenario. Here is the same policy for reference.
<!-- The policy defined in this file demonstrates how to mask an asynchronous API endpoint as if it is an synchronous one. --> <!-- This is useful when modernizing APIs but some clients that call the API cannot be updated to the new behavior. --> <!-- API used for this example is an Azure Logic Apps (request/resposne), in which retruns HTTP 202 status code, --> <!-- and location header to retrieve the terminal payload. Retry count and interval is fixed in this example but can also be customized. --> <policies> <inbound> <base /> </inbound> <backend> <forward-request /> </backend> <outbound> <base /> <retry condition="@(((IResponse)context.Variables["var"]).StatusCode == 202)" count="10" interval="30"> <send-request mode="new" response-variable-name="var" ignore-error="false"> <set-url>@(context.Response.Headers["location"])</set-url> <set-method>GET</set-method> </send-request> </retry> <return-response response-variable-name="var" /> </outbound> <on-error> <base /> </on-error> </policies>