setting CIR/MIR with SOAP

We have managed to work around the wierd creating an SM and assigning a bandwidth plan. Now I want to set the CIR/MIR individually. Basically these are units unique in thier config and I don’t want to set up a bw plan for each one. SOAP seems to have difficulty doing this. I can do it if the unit is already registered but I cannot set one up in advance as I can with a bandwidth plan. Has anyone faced this kind of thing before?
There seems to be many inconsistencies with the way the SOAP API works and what the GUI will let you do.

You can override this by using the setElementConfig function, and passing in the individual values (Not Service Plan Managed). If you already have a Service Plan assigned to the element, you need to pass in the BANDWIDTH SERVICE PLAN, field as well with a " " (space) to effectively clear that field for the SM. Otherwise, the config set will reject saying that the MIR/CIR fields are being managed by a Service Plan.