API access a Router without NAT IP

Hi everybody,
I’m working with Mikrotik API via C#. I’m implementing a website which can update wifi router hotspot login file via API. Everything work good with the router which was connected directly to WAN, so I can call a connect via API by IP, user and password. But when the router was connect to a other router before connect to WAN, then I must NAT the IP from the WAN router to Mikrotik Wifi router.

The sample map:
WAN → Host Router → Mikrotik Wifi Router
or
WAN → Company Router → Department Router → Mikrotik Wifi Router

How can I connect to the Mikrotik Router but not need to NAT the IP?
Thanks you for helps.

Create a VPN server, and connect both the target MikroTik router and the other device (where the C# app is running) to it. That’s the most reliable way.

How exactly do you set up a VPN server is a separate question… One which I don’t have any experience with, but I know the key thing to keep in mind is that the VPN server MUST be accessible either directly (with a public IP) or through a NAT (which is the other way to reach the router, if you weren’t using a VPN).