Implementing an API spec is not just using the "abstract ideas" in the spec. It requires copying the specific text of the API: a function named DoSomething will incompatible with one named do_something.
I don't think that's a valid way to distinguish copying APIs and implementation.
On a purely theoretical basis, I do think APIs could be copyrightable, I don't think there is a valid way to distinguish them from implementation. The main argument against copyrighting APIs is practical: everyone has been doing it for decades, and changing the status-quo will be disruptive.
Another practical reason is that copyrighting APIs will decrease competition by impeding companies from creating better drop-in competitor products to established players. But this is really an argument against all software copyright, not just API copyrights.