Thus far, with no procedure in BYOND to directly clear, how can you clear a single medal? Well, two ways.
1) Delete the medal and put it back up (well, I haven;t tried this but it should work in theory)
2) Parse through the medal page to get the list of players who earned the medal and clear it.
Obviously, this is the second method. This is essentially a plug-and-play type of script, the only thing that needs to be changed is the URL to the medal, which the information (particularly the medal #) can be obtained through view source on the medal page.
medal_url_page = "http://www.byond.com/games/[Hub key]/[hub name]?command=view_medals_ajax&medal=[medal #]&full=1"
i = 1
src << "Starting erasing"
http = world.Export(medal_url_page)
CRASH("Is your internet working?")
http = file2text(http["CONTENT"])
if(findtext(http,"no players have earned this medal"))
var/n = findtext(http,"title=")+7
n = copytext(http,n,findtext(http,"\"",n))
if(alert(src,"Are you sure you want to delete the medal \"[n]\"?","Erase Medal: [n]","?_?","No","Yes") != "Yes")
medal_name = n
var/End = findtext(http, "\"", Xkey)
Xkey = copytext(http, Xkey, End)
src << "Erased [Xkey] (#[i++])"
http = copytext(http, End)
src << "Ending erasing!"