Mes excuses. Je laisse ceci ici au cas où d’autres rencontreraient le même problème.
En déboguant la requête HTTP réelle envoyée, j’ai remarqué que python envoyait les données PUT comme \"post=raw\u0026post=edit_reason\"… j’ai remplacé data=data par json=data dans l’appel requests.put() et le travail a été fait.