Я нашел проблему, поэтому для справки вот она.
Github не разрешает связывать открытый ключ с несколькими пользователями.
Если вы попытаетесь добавить ключ с помощью веб-интерфейса, вы получите следующее сообщение:
Oops! The key has already been taken.
API молчит. Вот почему я был сбит с толку.
Используя новый ключ, API работает как положено и отвечает:
curl -X POST -F "login=username" -F "token=ApiToken" https://github.com/api/v2/json/repos/key/username/myrepo/add -F "title=Bogus" -F "key=ssh-rsa xxxxx...."
{"public_keys":[{"title":"Bogus","id":1199679,"key":"ssh-rsa xxxx..."}]}