There is no private or public API that can be executed as mobile from inside of an app. It's annoying, but that's truth.
The only way this is possible is to have a jailbroken device, which you said isn't possible.
Finally, there aren't even any unsafe ways to do this. You can't overload the memory or anything that will cause a reboot. Apple just kills your app.
After finally, there is one thing you could do... Find an exploit that you can execute through this app, to get yourself root privileges until after a reboot. Possible, but your not getting that info from here.
Good luck though. (Oh, and if anyone does have a way to do this, let me know, this could be used as an exploit)
Edit
I found a way to restart the springboard without a jailbreak, however it does not really do what you want. But it could give people some ideas.
Firstly, you will just need to disable your devices passcode. If not, this glitch will not work. Go to Settings>;General>;Passcode Lock and turn it off.
Lock your device.
Enter lockscreen and turn your device in landscape mode (horizontally).
Swipe up that camera slider thing (I’m not sure how you call it, LOL) while remaining in landscape mode
As soon as the whole lockscreen is out and cannot be seen, press the home button and tap the photo library square on the now bottom right of the screen simultaneously. Note: do not need to wait for the camera to load and be active.
You should see the home screen for a very short time before you see an Apple logo/loading circle, your device is now respringing. (note: in iOS 6 Apple replaced the usual loading circle when respringing into the Apple logo, don’t worry your device is NOT rebooting)