Я не уверен, как это выглядит на стороне сервера, но, по крайней мере, при использовании пользовательского интерфейса полезная нагрузка POST выглядит как данные формы, а в API - в JSON-формате.
Из моих тестов с пользовательским интерфейсом:
...
Content-Disposition: form-data; name="issue[user_assignee_ids][]"
28
------
и из документации по GitHub API:
{
"assignees": [
"hubot",
"other_user"
]
}
Это также означает, что заголовок content-type
запросов отличается: для данных формы это content-type: multipart/form-data; ...
, а для JSON должно быть content-type: application/json
.