RFC 7231 schlägt vor, dass eine Anfrage ohne Accept-Header als */* behandelt werden sollte. Wenn man jedoch das API-POST-Endpunkt für eine Data Explorer-Abfrage ohne diesen Header aufruft, wird 406 Not Acceptable zurückgegeben. Ich bin mir nicht sicher, ob dies spezifisch für den Data Explorer ist oder auch für andere POST-Anfragen gilt. Alle anderen GET-Anfragen, die ich verwendet habe, hatten dieses Problem nicht.
Es kommt so, dass curl und Pythons requests standardmäßig Accept: */* an alle ihre Anfragen anhängen, aber nicht alle Tools dies tun. Dieses Verhalten lässt sich beobachten, indem man den Standard von curl mit einem leeren Header deaktiviert, z. B.
curl -X POST "https://discourse.example.com/admin/plugins/explorer/queries/26/run" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: <dein_All_Users_API_Schlüssel>" \
-H "Api-Username: system" \
-H "Accept:"
Keine große Sache, aber es könnte auch andere Tools betreffen … und es scheint eine einfache Korrektur zu sein, besonders da alle anderen von mir verwendeten Endpunkte ohne diesen Header funktionieren.