I am testing a GET "xyz" API which is one of the many apis needed by a web UI. We need to setup some data before we test xyz. It can be done by using other apis like "abc" or by web UI. Both approaches take several hours, but the abc method is much faster than UI. The xyz api and web ui which uses it are not yet deployed to production.
I had automated xyz testing by using abc api calls. But, I need to frequently update my automation because of changes in xyz. For example, a new feature requires xyz to give 204 no content instead of a 200 ok with a large body. Now, we need to use "def" api instead of abc to create test data. There are other changes too. Moreover, I am not informed about many of theses changes. So, my automation fails, leading me to believe that the changes are bugs and not features.
Luckily, the way I wrote my tests, I did not have to make big changes to meet many of the new requirements. But, some changes in xyz require major changes to my automation. It is possible that some of the xyz changes might be reverted in the future.
So, I wonder if it is better to wait for the xyz to become "stable" and then automate it, or keep re-writing automation.