I’ve been seeing some issues with these endpoints with quick bulk edits. In the described cases the requests were basicially sent without delay, but nowhere near enough requests to get close to any rate limits (that I’m aware of, I check the Ratelimit-Remaining reponse header for every request).
When adding terms:
- I add a batch of terms rapidly and each request successfully returns a status code 200 with the expected JSON containing the data of the created term.
- Both the “Get Blocked Terms” API and the website don’t show some of the added terms. For example when adding 10 terms (abc0 to abc9) only 7 terms show up.
- Trying to add one of the missing terms again will again appear to be successful, but after reloading the list it still won’t be there.
- After a while (I have seen between 10 minutes and over an hour) the missing terms show up in the list, although I’m not sure if it is always all of them.
When deleting terms:
- Get the list of terms and delete several of them rapidly, each request returning status code 204 as expected.
- When reloading the list, most items have been deleted, but some are still there.
- Deleting them again (with the same id) appears to remove them.
Adding a 500ms delay between requests seems to avoid the issue so far. Lower delays such as 100ms seemed to work as well, but I haven’t tested it as much.