Hi @jim-borden_4965 !
I think that the "delete old versions" option of Retention Rules might be what you're looking for; that will let you keep the last "X" versions of each package. That, in combination with "unused versions" (i.e. not recently downloaded) typically cover nearly all desired retentions.
As far as a "feed independent" API, that's on our list as a "nice to have", and I don't know how much of an API we'll get in the first version of ProGet 2023. The "hard part" is usually specifications/docs, so if you have any ideas we'd be very open!
Currently, our idea is base it off of the upack api:
https://docs.inedo.com/docs/upack-feed-api-endpoints
Some things will be more difficult (or impossible?) than others. Especially for multi-platform package types like ruby, python. But TBD.
Cheers,
Alana