Dynamically generated meet rooms

Is it possible to create a dynamic room with a application-generated password, via API or something?

Application generates a room_id and password → https://jitsi_url/room_id with the generated password?

AFAIK, there is no such an API.

Can you share more info about the use-case? Maybe someone can suggest a way depending on the use-case.

Hi there.
The use-case is like this: You schedule an appointment with your customer in our application and we generate a random key to enter the jitsi meeting. Like:

Appointment 1 → Monday, 01/30, 10am. Key: XPTO
So, it’s accessed by blabla.com/XPTO

We want to protect this room with a specific password, to make it accessible only to the host and the customer(s).

One way to achieve this would be to use the reservations module. Instead of trying to pre-create rooms in Jitsi, with the reservations approach you effectively delegate the decision of what rooms can be created to an API endpoint that you control.

When someone first joins a room, the module make an API call to an endpoint you define, and the API response will determine if the request should be accepted or rejected. The API response can also be used to determine room attributes like:

  • maximum room duration (after which it will be automatically terminate)
  • maximum number of occupants
  • room password
  • lobby

Subsequent joins to a room that is already created will no longer trigger API calls.

So in your use case, someone scheduling an appointment would do so with your own app (not Jitsi) and at that point you’d generate the room name and password and simply store it along with the allowed join period. You then just need another API endpoint that will look up known appointments by room name, and only allow room creation if the room name is known and if it is within the allocated period.

I’ll read the docs. Thanks!

Another way is to generate a random room name, and issue a JWT with the room key specified as that room name so it can only be used for that room. Configure Jitsi to require the JWT for room creation but not require it for existing rooms. You can use the nbf (not before) and exp (expiry) keys to control the validity period. This lets you produce the links to create rooms statelessly, without needing to involve any other API.

1 Like