in our clusters we actually do commit to WORM state changing attributes via NFS. I think this is the preferred way and the guide "Ontap 9 archive and compliance using snaplock technology power guide" confirm my thoughts.
This KB shows the same can be done via API
Do anyone of us have some experience using API? Are there any disavantages to consider (security, performance etc.)?