There is this:
systemctl --host=whatever.abc status apache2
It uses ssh and UNIX domain socket forwarding behind the scenes. There's a writeup of how to do this with minimal privs here:https://sleeplessbeastie.eu/2021/03/03/how-to-manage-systemd...
If you want to speak the protocol without the systemctl program then you can do the same trick. Use an SSH library, connect to the dbus socket and connect to systemd. You do need a dbus library though. They are less common than HTTP stacks.