Getting the Error during Login "WARNING: No free API seats available "

hi, im getting this error when trying to login:

2024-09-06 15:21:54.841 CEST [49/T172] WARNING: No free API seats available (webserver.api.max_sessions = 16), not authenticating client

2024-09-06 15:21:54.845 CEST [49/T172] WARNING: API: API seats exceeded (increase webserver.api.max_sessions)

2024-09-06 15:23:22.278 CEST [49/T174] WARNING: No free API seats available (webserver.api.max_sessions = 16), not authenticating client

2024-09-06 15:23:22.280 CEST [49/T174] WARNING: API: API seats exceeded (increase webserver.api.max_sessions)

My guess is this happend cuz my nebula-sync had some API issues which exceeded this limit? But i have shutdown my nebula-sync, rebooted my system and i still get this. Cant fix it. Any help?

Debug Log: : https://tricorder.pi-hole.net/GFwnOVSY/

PS: Im on development branch now too.
Thanks!

The message is quite clear. There are to many open, valid API sessions. You remove "old" unused sessions from the web interface via Settings- >Web/API.
Sessions which have not expired (default timeout 300sec) are saved on Pi-hole shutdown and restored on restart. That's why you can fix the issue by restarting.
Default API session limit is 16.
I suggest you (temporarily) increase the limit, login and remove unused sessiosn

pihole-FTL --config webserver.api.max_sessions 17


This sounds reasonable. The software should be configured to open one API session, re-use it for it's activity and close it when it's done. Maybe something to report to the maintainers.

1 Like

Cheers, i couldnt find the command to increase it.

My guess was right, Nebula-Sync broke it.
Thanks!

It seems to be in combined effort though :wink:

Looking at your screenshot you seem to have increased the default validity of each session to one day. The default value, half an hour, would not have brought you into this situation as enough API sessions will expire to continue being able to use the API.

I ran into this problem and found this thread without an explanation of the cause. As of Feb 2025, nebula-sync will also sync settings including the api password from the primary pi-hole 6 machine to the secondary machine. The first time it runs, it will run correctly but it will change the api password on the second machine. Thus when the sync runs again, the password in the nebula-sync settings for the secondary machine is now wrong.

I don't think you are running into the same issue? This thread is not about changed passwords or nebula-sync but about too many concurrently valid sessions (because older sessions were not closed).

What I describe will cause the same # of invalid sessions. So, the symptoms are the same even if the cause may be different (I'm not going to dig to see).

Nebula Sync and my Homepage Instance are taking too many webserver.api.max_sessions, already upped the limit, but no idea why this wasn't an issue on Pi-hole 5!?

Because there was no REST API in version 5. (As mentioned in the version 6 release notes...)

Anyways, someone actually did something helpful and opened an issue with Nebula Sync's maintainer Using all Api seats · Issue #43 · lovelaze/nebula-sync

Edit: And it appears you have changed the validity period to one week (from the default 30 minutes).

1 Like

Thanks for pointing out the validity period on my side diverged from the default!. I have changed it back to the default value, hopefully no more issues. I did go through the v6 release notes, but too much info to remember it all. :smiling_face: