Skip to content

API Endpoints

Andreas edited this page Apr 6, 2025 · 11 revisions

API

Mit der API ist es möglich Konferenzen durch eine andere Anwendung erzeugen zu lassen.

Es sollten nur Zugriffe von einem Backend-Server auf den Jitsi-Admin durchgeführt werden. Alle Request müssen mit dem in den Enterprise Einstellungen erstellten API-Tokens als Authorization Header (Bearer Token) durchgeführt werden


Infos zu einer Konferenz

GET /api/v1/info/{uid}

Request

http://localhost:8000/api/v1/info/57d4d52d3c1f38c28e9f101f031a631f

Response

{
  "error": false,
  "teilnehmer": [
    "teilnehmer@email.de"
  ],
  "start": "2021-02-02CET13:00:00",
  "end": "2021-02-02CET13:45:00",
  "duration": 45,
  "name": "testAPINEW",
  "moderator": "email@moderator.de",
  "server": "serverurl",
  "joinBrowser": "http://localhost:8000/room/join/b/84",
  "joinApp": "http://localhost:8000/room/join/a/84"
}

Kommende Konferenzen abrufen

GET /api/v1/server/getRooms
name type data type description
apiKey (Header) required string API Key of the one server
minutes required int Minutes where the conferences will start

minutes

Example:
http://localhost:8000/api/v1/server/getRooms
  ?minutes=15

Response

{
  "server_id": "id",
  "success": true,
  "error": false,
  "room_ids": 
    [
      "roomUID1",
      "roomUID2",
      "roomUIDn"
    ]
}

Konferenz erstellen

POST /api/v1/room

Request

name type data type description
email required email Email address of the organisator
name required string Name of the conference
duration required int Duration of the Conference e.g. 30
server required int ID of the Server in Jitsi Admin
start required date (YYYY-mm-ddThh:mm) Startdate of the conference
keycloakId optional int Keycloak ID of the organisator
Example
http://localhost:8000/api/v1/room
  ?email=email@moderator.com
  &name=testAPINEW
  &duration=70
  &server=serverURL
  &start=2021-02-01T13:00
  &keycloakId=id_des_Users (optional nur wenn der selbe Keycloak verwendet wird)

Response

{
  "error": false,
  "uid": "57d4d52d3c1f38c28e9f101f031a631f",
  "text": "Meeting erfolgreich angelegt"
}

Konferenz bearbeiten

PUT /api/v1/room

Request

name type data type description
uid required string UID of the conference
name optional string Name of the conference
duration optional int Duration of the Conference e.g. 30
server optional int ID of the Server in Jitsi Admin
start optional date (YYYY-mm-ddThh:mm) Startdate of the conference
Example:
http://localhost:8000/api/v1/room
  ?uid=57d4d52d3c1f38c28e9f101f031a631f
  &name=testAPINEW
  &duration=45
  &server=serverURL
  &start=2021-02-02T13:00

Response:

{
  "error": false,
  "uid": "57d4d52d3c1f38c28e9f101f031a631f",
  "text": "Meeting erfolgreich geändert"
}

Konferenz bearbeiten - Server wechseln

POST /api/v1/room/move

Important: The original and new server must have the same API Key. It is best to use this API after you have used the server clone API to add a new server

Request

name type data type description
uid required string UID of the conference
server required string ID of the Server
Example:
http://localhost:8000/api/v1/room/move
  ?uid=57d4d52d3c1f38c28e9f101f031a631f
  &server=12

Response:

{
  "error": false,
  "message": "Room moved"
}

Konferenz Löschen

DELETE /api/v1/room
name type data type description
uid required string UID of the conference
Example:
http://localhost:8000/api/v1/room
  ?uid=57d4d52d3c1f38c28e9f101f031a631f

Response

{
  "error": false,
  "text": "Erfolgreich gelöscht"
}

Teilnehmer zu einer Konferenz hinzufügen

POST /api/v1/user
name type data type description
uid required string UID of the conference
email required string E-Mail Address of the new participant
Example:
http://localhost:8000/api/v1/user
  ?uid=57d4d52d3c1f38c28e9f101f031a631f
  &email=test@local.de

Response

{
  "error": false,
  "uid": "57d4d52d3c1f38c28e9f101f031a631f",
  "user": "test@local.desd",
  "text": "Teilnehmer test@local.desd erfolgreich hinzugefügt"
}

Teilnehmer von einer Konferenz löschen

DELETE /api/v1/user
name type data type description
uid required string UID of the conference
email required string E-Mail Address of the new participant
Example:
http://localhost:8000/api/v1/user
  ?uid=57d4d52d3c1f38c28e9f101f031a631f
  &email=test@local.de

Response

{
  "error": false,
  "uid": "57d4d52d3c1f38c28e9f101f031a631f",
  "user": "test@local.desd",
  "text": "Teilnehmer test@local.desd erfolgreich gelöscht"
}

Server erstellen

POST /api/v1/server/create

For this endpoint, a server must be taged with isAllowedToCloneForAutoscale in the database and the API Key, which is used for the creation must be one of the servers.

name type data type description
name required string Name of the new Server
app_id required string App_ID of the new Server
app_secret required string App_Secret of the new Server
Example:
http://localhost:8000/api/v1/server/create
  ?name=meinNeuerServer
  &app_id=1234
  &app_secret=verysecret

Response

{
  "server_id": "string",
  "sucess": true,
  "error": false
}

Infos zu einem User

GET /api/v1/serverInfo
name type data type description
email required string E-Mail Address of the new participant
keycloakId optional string Keycloak ID of the organisator
Example:
http://localhost:8000/api/v1/serverInfo
  ?email=user@userToCHeck.de
  &keycloakId=id (optional nur wenn der selbe Keycloak verwendet wird)

Response

{
  "server": [
    "url1",
    "url2",
    "url3"
  ],
  "email": "user@userToCHeck.de",
  "error": false
}
Clone this wiki locally