Help with polling

i have these two device handlers (one for a socket and one for a etrv) that were working fine a few days ago but today i noticed that during its scheduled refresh/poll it throws this error on both
error java.lang.reflect.UndeclaredThrowableException @line 443 (poll)
the schedule triggers the refresh, which calls the poll, the confusing thing is that when i press the refresh button in the (classic) mobile app it works and refreshes with no errors.

the smart app house the route
def apiURL(path = '/') { return "https://mihome4u.co.uk/api/v1${path}" }

both DH have an error on the last line of this
def poll() {
def body =
if (device.deviceNetworkId.contains("/")) {
body = [id: (device.deviceNetworkId.tokenize("/")[0].toInteger()), socket: (device.deviceNetworkId.tokenize("/")[1].toInteger())]
}
else {
body = [id: device.deviceNetworkId.toInteger()]
}
log.debug " body= $body "
log.debug " api $parent.api"
def resp = parent.apiGET("/subdevices/show?params=" + URLEncoder.encode(new groovy.json.JsonBuilder(body).toString()))

when i manual refresh

when it does it on schedule
image

Any ideas ??
App


DH

ok this si the probile line, it works when manuall refresh is click but not when triged via a run in
httpGet(uri: “https://mihome4u.co.uk/api/v1${path}”, headers: apiRequestHeaders()) {response ->

i think its smartthings security.