Never mind, answered my own question - the ‘Update All Attributes’ management-API call allows both updating of existing attributes and adding new ones.
I think your question is still unanswered, that function will not allow you to add a new attribute to existing app with already customs attributes in it. Because if you try adding one , it will replace/delete all other ..
You will have to copy the previous attributes also in your PUT operation call. I have observed the same behavior while updating API products in a developer app as well. I guess this is because the operation is doing a full update instead of a partial update, hence requires the full resource information. Which makes sense also since its a PUT operation and not a PATCH.
@docs team, may be this information can be mentioned explicitly in the documentation
@snehal chakraborty@Floyd Jones, yeah I agree with the PATCH operation is missing, and another discrepancy is if I try a POST on /{app}/attributes with a single attribute it replaces all the other custom attributes.