Cómo manejar errores de red en Retrofit 2 con RxJava

Estoy usando Retrofit2 con RxJava. Entonces mi llamada se parece a algo

subscriptions.add(authenticateUser(mReq, refreshRequest)
                .observeOn(Schedulers.io())
                .subscribeOn(Schedulers.io())
                .subscribe(authResponseModel -> {
                    processResponse(authResponseModel, userName, encryptedPass);
                }, throwable ->
                {
                    LOGW(TAG, throwable.getMessage());
                }));

Es una API de autenticación. Entonces, cuando la llamada API falla, recibo una respuesta del servidor como

{"messages":["Invalid username or password "]}

junto con400 Bad Request

yo obtengo400 Bad Request en elthrowable objetar como se esperaba. Pero quiero recibir el mensaje lanzado por el servidor. No puedo entender cómo hacerlo. ¿Alguien puede ayudar?