Whaat, It would be amazing to have an API.
Could you also perhaps include a callback system when a profile member or assembly is created/edited, so that other plugins could do their magic? On the information side of things, it could be things like updating a "price" attribute, which is based on the volume of the profile output, for instance. For such a callback, the useful variables would be:
the geometry representing the path of a PM
the group for the outputted member
the face of the profile / components that make up the assembly.