def delete_key(request): """Delete key. When a keypair gets deleted, it takes its asociations with it so just need to remove from the server too. If the default key gets deleted, it sets the next one as default, provided that at least another key exists. It returns the list of all keys after the deletion, excluding the private keys (check also list_keys). """ key_id = request.matchdict.get('key') if not key_id: raise KeypairParameterMissingError() user = user_from_request(request) methods.delete_key(user, key_id) return list_keys(request)