You are not authorized to perform this action

Hi all,

I’m integrating Jeedom with Home Assistant and I’ve hit an API authorisation problem that I can’t solve from the UI.

Setup

Jeedom running on: 192.168.1.252:9080

Home Assistant running on the same Synology (also 192.168.1.252)

Ajax Systems plugin installed and working in Jeedom

A Jeedom scenario with ID 6 disarms my Ajax alarm correctly when launched from the Jeedom UI

A Jeedom scenario with ID 7 is for stamping a variable, also works fine from Jeedom UI

What I’m trying to do

From Home Assistant I’m calling Jeedom’s API with a REST command:

rest_command:
jeedom_doorbird_disarm:
url: « http://192.168.1.252:9080/core/api/jeeApi.php?apikey=MY_MAIN_JEEDOM_API_KEY&type=scenario&id=6&action=start »
method: GET

When I open this URL from my PC browser on the LAN, the scenario runs correctly and Ajax disarms.

But when Home Assistant calls the same URL, Jeedom returns this payload:

content: « You are not authorized to perform this action, IP : 192.168.1.252 »
status: 200

So Jeedom is clearly checking the client IP and blocking the call, even though the request comes from the same box (Synology / 192.168.1.252).

What I’ve already checked

In Settings → System → Configuration → APIs:

The main “API key” (first row) is set to API access: Enabled

TTS API access and Pro API access are also set to Enabled

“Disallow api methods (regexp)” is empty

“Only allow api methods (regexp)” is empty

The Ajax Systems plugin API key at the bottom is Enabled, Restricted unchecked
(I’m not using this key, I’m using the main core API key in the URL)

In Settings → System → Configuration → Security:

I don’t see any obvious field for “Authorized IPs” or “IP whitelist”, nothing that looks like an API IP filter.

Summary of the issue

Calling jeeApi.php from a browser on my PC works.

Calling exactly the same URL from Home Assistant (on 192.168.1.252) gives:

“You are not authorized to perform this action, IP : 192.168.1.252”

I cannot find in the Jeedom UI where to allow or whitelist this IP for the core API.

My questions

  1. Where in current Jeedom versions is the IP filtering for the core API configured?

  2. How can I explicitly allow 192.168.1.252 (or the whole 192.168.1.0/24 LAN) to call core/api/jeeApi.php with the main API key?

  3. Is there any other setting (plugin, security, nginx/apache config) that could cause jeeApi.php to reject a request with that message even when API access is set to Enabled?

Any guidance or screenshots showing where to add this IP in the UI would be hugely appreciated.
Thanks in advance!

Good evening,
Which core version are you using?

You should switch the ‹ api › log to debug mode and check if the API key is present in the log when HA contacts it.

I’m not familiar with HA, but it’s possible the string is too long and is being split by HA during the call.

( Google translation :wink: )