We have some problems with excess buckets from time to time, and I am writing a python program to check for excess buckets. Then, I want to take that list and purge them. In the documentation, I see the endpoint /cluster/master/control/control/prune_index. My question is, is this the correct API end point to call? Do I need to pass it a list of buckets? Or am I off track?
Yes, that is correct. REST API endpoint for removing excess buckets. Based on the documentation, if you want to remove excess buckets from certain indexes, you need to supply index name in that REST API. If you do not provide any index name, Splunk will remove excess buckets from all indexes.
index Optional. The index from which to remove excess bucket copies. If not specified, the POST operation clears excess bucket copies across all indexes.
With Index name
curl -k -u admin:pass https://localhost:8089/services/cluster/master/control/control/prune_index -d index="my_index"
Without index (Which means it will remove excess bucket from all indexes)
curl -k -u admin:pass https://localhost:8089/services/cluster/master/control/control/prune_index