Pour le moment, je pense que votre meilleure option est d’effectuer deux requêtes API. La première pour récupérer l’utilisateur par son identifiant afin d’obtenir le nom d’utilisateur, et la deuxième requête pour mettre à jour par nom d’utilisateur.
Il existe une option pour mettre à jour un utilisateur via external_id, mais je ne pense pas qu’elle puisse être utilisée sans l’activation de la connexion unique (single-sign-on). De cette manière, Discourse stocke l’identifiant de l’utilisateur de votre application, et non l’inverse.