L'API Rest pour ajouter des propriétaires a cessé de fonctionner

J’utilisais l’API REST pour mettre à jour les propriétaires des groupes. Cela semble maintenant ne plus fonctionner (bien que les groupes existent bel et bien) :

Method: PUT, RequestUri: 'https://forums.mysite.uk/admin/groups/1949/owners', Version: 1.1, Content: System.Net.Http.FormUrlEncodedContent, Headers:
{
  Api-Key: <redacted>
  Api-Username: admin
  Accept: application/json
  User-Agent: BasecampGatewayLive
  Content-Type: application/x-www-form-urlencoded
}:
{
  "group": {
    "usernames": "kay"
  }
}
StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Server: nginx/1.22.1
  Date: Thu, 23 Jan 2025 02:03:44 GMT
  Transfer-Encoding: chunked
  Connection: keep-alive
  Vary: Accept-Encoding
  Vary: Accept
  X-Request-ID: 8e5dcf66-c4e0-4d4f-a382-dacb774691c3
  X-Runtime: 0.004369
  Strict-Transport-Security: max-age=31536000; includeSubDomains
  Content-Type: application/json; charset=utf-8
}
{"errors":["The requested URL or resource could not be found."],"error_type":"not_found"}

Cela fonctionnait bien auparavant, mais une mise à niveau de Discourse semble l’avoir cassé. Comme cette API n’est pas incluse dans la page de l’API Discourse, je ne sais pas comment savoir ce qui a changé.

De nombreux points de terminaison ne sont pas documentés, mais vous pouvez Reverse engineer the Discourse API facilement.

Pour moi, la requête fonctionne sur la dernière version de Discourse :

Ma supposition est que votre clé API n’est plus valide.

J’y ai pensé, mais une clé ou un nom d’utilisateur invalide renvoie normalement un 403, pas un 404 :person_shrugging:

J’ai trouvé le problème :

L’URL correcte est https://forums.mysite.uk/groups/1949/owners, sans /admin/.

Vous voudrez également indiquer au serveur que vous envoyez du JSON, et non un formulaire.

Je viens de réaliser que je n’avais pas remercié tout le monde d’avoir résolu mon problème. Désolé, et merci beaucoup !