<p>Is it possible to expose an API in a .NET application by embedding a scripting language like IronPython?</p>

<p>How is it done?</p>

I haven't used it personally, but you should look at
Visual Studio Tools for Applications
I'm not sure if Iron Python is supported as a language for it or not, but that would be the easiest path to enable your application to be programmable.