[PaperUI] Prompt for credentials/config after discovery

You probably need to set a proper status in your initialize() method:

if (device with key) {
  updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Please provide key");
} else if (device without key) {
  updateStatus(ThingStatus.ONLINE);
}

I only changed the config.xml and define something as required, i.e.

<required>true</required>

With this one change, my existing Thing configured via text file now became OFFLINE: HANDLER_CONFIGURATION_PENDING

Still the same java code, only the config.xml was changed.

Sorry, in config.xml I actually didn’t add <required>true</required>

Instead, I added it in the tag, i.e.

			<parameter name="key" type="text" required="true">

When I changed required=“false” to required=“true” that’s when paperui will say HANDLER_CONFIGURATION_PENDING because it doesn’t have all the required parameters defined.

I’ve just tried using <required>true</required> instead, and the result is the same, HANDLER_CONFIGURATION_ERROR.

I still don’t quite understand your issue. If you are the binding’s developer you should take a look at your device Handler. Every error you’ve mentioned is probably produced by the initialize() method of the Handler. It’s there you should check whether your device requires a key (thus throwing HANDLER_CONFIGURATION_PENDING) or not (thus going ONLINE). If you can’t change your Java side, you can’t get far.
Is your project somewhere on GitHub? If so, we should not clutter this forum and move there instead.