I have an Azure cosmos DB instance configured to allow access from a private virtual network: icy-horizon. I also have an API deployed using Azure Container Instances with port 80 exposed attached to icy-horizon network as it needs to communicate with the DB.
How can I expose the API to the internet?
In general container groups deployed to a virtual network don't currently support exposing containers directly to the internet with a public IP address or a fully qualified domain name.
You would have to deploy an application gateway in addition to expose the container to the internet. See this Expose a static IP address for a container group for more information.