Changing the UV coordinates of an existing face

I would like to be able to change the UV coordinates of an existing face using the C SDK. I have the code to load geometry and it works great, but now I would like to modify a loaded SU file (and then resave it after changes).

I have looked at the posts and examples that use SUMaterialInput but those all require use of SUGeometryInput which, unless I’m reading it wrong, can only be used to create new faces. Is there a mechanism that I’ve missed that allows me to manipulate texture mapping on an existing face?

The Ruby API has the position_material method. A corresponding C SDK method would be very useful.

(Recreating the entire file is not an option as I don’t want to handle the shear volume of extra information that might be contained in a .skp)