Persistent 401 invalid token on LiveKit Cloud Room Service API

Hello LiveKit team,

I’m troubleshooting a LiveKit Cloud authentication issue in a project called PULSO.

Project ID:
p_88u08raaayb

LiveKit URL:
wss://pulso-yl9likqs.livekit.cloud

SDK:
livekit-server-sdk@2.18.0

Runtime configuration:

  • LIVEKIT_URL is correct.
  • LIVEKIT_API_KEY is present and corresponds to the API key named “APP PULSO”.
  • LIVEKIT_API_SECRET is present.
  • The Secret contains no detectable surrounding quotes, newline, tab, or carriage return.
  • The runtime was restarted after configuring the environment variables.

The server creates the RoomServiceClient correctly using:
RoomServiceClient(host, apiKey, apiSecret)

However, the minimal Room Service API call:

ListRooms

consistently returns:

401 Unauthorized: invalid token

The LiveKit dashboard shows the project as connected.

We cannot verify the API Secret against the API Key because the dashboard does not allow the Secret to be retrieved after the key was created.

We also found references in the LiveKit community to similar 401 authentication issues involving API key/secret configuration.

Could you please advise how we can safely determine whether this is an API key/secret mismatch or another LiveKit Cloud authentication issue?

For security reasons, we will not post or share the API Secret.

Thank you.

The system time being out tends to cause this also

401 Unauthorized: invalid token

You’re not using a token server, are you?

My Claude created the attached if that helps? It will create a room, then you can list it after a few seconds. That works for me, so please test with that as a known-working example

roomlist.zip (115.6 KB)