The behavior of the code accessing the web_api needs to be corrected, there is no way it should legitimately be creating that many revisions. Almost like it is constantly publishing as a matter of course even when it is not necessary. If changing the code is not feasible you could remove write access from the account utilizing the web_api, and assuming it doesn't actually need write access to perform its monitoring tasks that will keep it from creating so many revisions.
You can configure automatic cleanup of revisions on the SMS via the API in the latest releases, but you are probably going to be fighting a losing battle against the needless revisions being constantly created via the web_api user, and there doesn't seem to be a way to cleanup revisions only from a certain user:
sk170059: Automatic Revisions Purge: overview and how-to
New 2-day Live "Max Power" Series Course Now Available:
"Gateway Performance Optimization R81.20" at maxpowerfirewalls.com