Should the password be plain text when creating a user through the API?

Пока вы используете TLS, пароли передаются в зашифрованном виде. Если вы не используете TLS, вы очень быстро придёте к краху в любом случае.

Если вы имели в виду «хэшированный» вместо «зашифрованный», то нет, такая конфигурация не поддерживается, поскольку механизм хэширования, используемый в Discourse, не является частью публичного контракта интерфейса и может быть изменён в любой момент.

Ну да, но если у кого-то есть доступ к вашему ноутбуку, он просто установит кейлоггер, который перехватит пароль ещё до того, как он подвергнется хэшированию. Модель угроз безопасности Discourse (как и любого другого веб-приложения) предполагает, что конечная точка не скомпрометирована.