Проблема заключается в опции data-urlencode CURL. Поскольку это HTTP POST, вам не нужно кодировать данные URL и на самом деле кодировать & в & и вызывать проблему. Вместо этого используйте параметр --data.
Решение, указанное Стивеном, не работает, если ваше имя пользователя или пароль содержат символы, которые должны быть указаны. Формат name=content будет urlencode в части content (часть name должна быть указана, но login и password в порядке).
Чтобы получить private_token, вы можете вывести вывод curl в jq следующим образом:
Я только заметил это и поднял вопрос. Оставляя эту заметку здесь, надеюсь, кого-нибудь еще кого-нибудь спасут. Надеюсь, это решение, которое будет рассмотрено и отменено.