RFC 7231에 따르면 Accept 헤더가 없는 요청은 */*로 처리해야 하지만, 해당 헤더 없이 데이터 탐색기 쿼리용 API POST 엔드포인트를 호출하면 406 Not Acceptable이 반환됩니다. 이것이 데이터 탐색기에만 해당하는 문제인지, 다른 POST 요청에도 적용되는지 확실하지 않습니다. 제가 사용해본 다른 GET 요청들은 이러한 문제가 없었습니다.
curl과 Python의 requests는 기본적으로 모든 요청에 Accept: */*를 추가하지만, 모든 도구가 그렇게 하지는 않습니다. 예를 들어 curl의 기본값을 비활성화하기 위해 빈 헤더를 사용하면 이 동작을 확인할 수 있습니다.
curl -X POST "https://discourse.example.com/admin/plugins/explorer/queries/26/run" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: <your_all_users_api_key>" \
-H "Api-Username: system" \
-H "Accept:"
큰 문제는 아니지만, 다른 도구들도 이 문제에 부딪힐 수 있습니다… 또한 제가 사용해본 다른 모든 엔드포인트는 이 헤더 없이도 작동하므로, 간단한 수정으로 해결될 수 있을 것 같습니다.