Possible to use JuypterHub non-interactively in a batch mode?

I want to make a generalized session spawner where people can execute cloud code in the background for just about any language in a “batch” mode.
So rather than having to go through the trouble of setting up their own Python server for example, they could just use our API to execute code in our server.
For whatever reason, someone suggested that JuypterHub might be a good generalized solution because it already has kernels from many languages, so it’s capable of running code from a lot of languages, and it might even have a common API for executing them.
However, the more I read, the more I am thinking that JuypterHub is just some kind of wrapper for JuypterLab and JuypterNotebook, which are Web IDEs.
In this project, I would be looking to spawn a session for someone and run their .sas, .py, .cpp, .R, etc files for them in the background, so having an interactive Web IDE would defeat the purpose.

Is it possible to configure JuypterHub to run code in a more batch submit mode rather than an interactive mode, or should I look into other tools for this purpose?
If I cannot configure JuypterHub to work in a such a way, then any suggestions of another tool with a common API for a batch mode would be extremely helpful.