Не удается добавить Whisper Post через API

Я не могу добавить пост в режиме «тихий» (whisper) через API. Я передаю поле Whisper со значением true в указанной структуре Go.

type Post struct {
	TopicID   int       `json:"topic_id"`
	Raw       string    `json:"raw"`
	CreatedAt time.Time `json:"created_at"`
	PostType  int       `json:"post_type"`
	Whisper   bool      `json:"whisper"`
}

Ни установка whisper в true, ни установка post_type в 4 не помогают. Пост создаётся, но не как «тихий». При этом я могу добавить «тихий» пост через интерфейс, что исключает проблему с правами доступа. Кто-нибудь может подсказать, где я ошибаюсь?

post_type не должен быть необходим. Если у него есть topic_id, он понимает, что это пост, а не новая тема. Вот как я делаю это с помощью curl:

curl -i -sS -X POST "http://localhost:3000/posts.json"  \
-H "Content-Type: multipart/form-data;"  \
-H "Api-Key: 079fb2bb12d3b436bb11bde8eb58aaa9a36560fa7d79b14b3087aa40b1ebc2c4"  \
-H "Api-Username: blake.erickson"  \
-F "raw=92d2e4a938f8d2c65e3fbbcf68e4c272 374f11b3488a03d5d299e862003b09a3 76cdef8f63901f150f2bbf5579cd0b22"  \
-F "topic_id=11"  \
-F "whisper=true"

HTTP/1.1 200 OK

Похоже, всё работает, но почему в ответе не возвращается whisper=true? Вместо этого во всех whispered сообщениях я вижу post_type=4 вместо post_type=1. Означает ли это что-то или нет?

Да, это хороший знак. post_type=4 — это пост-шёпот, что означает, что он был успешно создан. Если возвращается post_type=1, то это не шёпот, а обычный пост.

Интерфейс для создания постов просто не позволяет передать post_type, вместо этого требуется указать whisper=true.