openapi: 3.0.1 info: title: Apache OpenMeetings API description: "Integration API enables to connect to an OpenMeetings instance, eg\ \ for generating users, create links to directly access conference rooms.

\n\ \t\t\t\t\t\t\t\tIt is mainly designed for Server2Server integration, for example\ \ to integrate into your website, CMS or 3rd party application

\n\ \t\t\t\t\t\t\t\tFor examples how to use the Rest API see https://openmeetings.apache.org/RestAPISample.html.

\n\ \t\t\t\t\t\t\t\tCommunity contributed modules for using this API include for example:\n\ \t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOther community plugins using this API for Moodle, SugarCRM,\ \ Drupal, Joomla can be found in the Configuration>Plugins section at https://openmeetings.apache.org" contact: name: Apache OpenMeetings Rest Examples and Documentation url: https://openmeetings.apache.org/RestAPISample.html email: dev@openmeetings.apache.org license: name: "The Apache Software License, Version 2.0" url: https://www.apache.org/licenses/LICENSE-2.0 version: 7.2.0-SNAPSHOT servers: - url: http://localhost:5080/openmeetings/services description: Your local OpenMeetings Server - url: https://om.alteametasoft.com/openmeetings/services description: Om Demo Server tags: - name: UserService description: "The Service contains methods to login and create hash to directly\ \ enter conference rooms, recordings or the application in general" - name: RoomService description: RoomService contains methods to manipulate rooms and create invitation hash - name: FileService description: Contains methods to import and upload files into the Files section of the conference room and the personal drive of any USER - name: WbService description: WbService contains methods to manipulate whiteboard contents - name: CalendarService description: "CalendarService contains methods to create, edit delete calendar meetings" - name: GroupService description: "The Service contains methods to login and create hash to directly\ \ enter conference rooms, recordings or the application in general" - name: NetTestService description: The Service contains methods to trigger a network test - name: RecordingService description: The Service contains methods to work with recordings - name: InfoService description: The Service contains methods to get info about the system - name: ErrorService description: The Service contains methods to get localized errors paths: /calendar: post: tags: - CalendarService description: Create an appointment operationId: save parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string requestBody: content: '*/*': schema: required: - appointment type: object properties: appointment: $ref: '#/components/schemas/AppointmentDTO' responses: "200": description: appointment saved content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOWrapper' "500": description: Error in case of invalid credentials or server error /calendar/next: get: tags: - CalendarService description: Get the next Calendar event for the current USER of the SID operationId: next parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string responses: "200": description: next Calendar event content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOWrapper' "500": description: Error in case of invalid credentials or server error /calendar/next/{userid}: get: tags: - CalendarService description: Get the next Calendar event for userId operationId: nextForUser parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: userid in: path description: the userId the calendar events should be loaded required: true schema: type: integer format: int64 responses: "200": description: next Calendar event content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOWrapper' "500": description: Error in case of invalid credentials or server error /calendar/room/{roomid}: get: tags: - CalendarService description: Load a calendar event by its room id operationId: getByRoom parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: roomid in: path description: id of appointment special room required: true schema: type: integer format: int64 responses: "200": description: calendar event by its room id content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOWrapper' "500": description: Error in case of invalid credentials or server error /calendar/title/{title}: get: tags: - CalendarService description: Search a calendar event for the current SID operationId: getByTitle parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: title in: path description: the search string required: true schema: type: string responses: "200": description: calendar event list content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOListWrapper' "500": description: Error in case of invalid credentials or server error /calendar/{id}: delete: tags: - CalendarService description: "Delete a calendar event\n\n If the given sid is from an Administrator\ \ or Web-Service USER, the USER\n can delete any appointment.\n If the sid\ \ is assigned to a regular USER, he can only delete appointments\n where he\ \ is also the owner/creator of the appointment" operationId: delete parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the id to delete required: true schema: type: integer format: int64 responses: "200": description: ServiceResult with result type content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /calendar/{start}/{end}: get: tags: - CalendarService description: Load appointments by a start / end range for the current SID operationId: range parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: start in: path description: start time required: true schema: type: string format: date-time - name: end in: path description: end time required: true schema: type: string format: date-time responses: "200": description: list of appointments in range content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOListWrapper' "500": description: Error in case of invalid credentials or server error /calendar/{userid}/{start}/{end}: get: tags: - CalendarService description: Load appointments by a start / end range for the userId operationId: rangeForUser parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: userid in: path description: the userId the calendar events should be loaded required: true schema: type: integer format: int64 - name: start in: path description: start time required: true schema: type: string format: date-time - name: end in: path description: end time required: true schema: type: string format: date-time responses: "200": description: list of appointments in range content: application/json: schema: $ref: '#/components/schemas/AppointmentDTOListWrapper' "500": description: Error in case of invalid credentials or server error /error/report: post: tags: - ErrorService description: Logs an error to the log file for reporting operationId: report parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: message in: query description: The message to log required: true schema: type: string responses: "200": description: Success "500": description: Error in case of invalid credentials or server error /error/{key}/{lang}: get: tags: - ErrorService description: "Loads an Error-Object. If a Method returns a negative Result,\ \ its an\n Error-id, it needs a languageId to specify in which language you\ \ want to\n display/read the error-message. English has the Language-ID one,\ \ for\n different one see the list of languages" operationId: get parameters: - name: key in: path description: the error key for ex. `error.unknown` required: true schema: type: string - name: lang in: path description: The id of the language required: true schema: type: integer format: int64 responses: "200": description: error with the code given content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Server error /file: post: tags: - FileService description: "to add a folder to the private drive, set parentId = 0 and isOwner\ \ to 1/true and\n externalUserId/externalUserType to a valid USER" operationId: add parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string requestBody: description: the The file attributes to be added content: multipart/form-data: schema: $ref: '#/components/schemas/FileItemDTO' required: true responses: "200": description: Object created content: application/json: schema: $ref: '#/components/schemas/FileItemDTOWrapper' "500": description: Error in case of invalid credentials or server error /file/move/{roomid}/{id}/{parentid}: post: tags: - FileService description: move a file or folder operationId: move parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: current file or folder id to be moved required: true schema: type: integer format: int64 - name: roomid in: path description: room this file need to be moved required: true schema: type: integer format: int64 - name: parentid in: path description: new parent folder id required: true schema: type: integer format: int64 responses: "200": description: resulting file object content: application/json: schema: $ref: '#/components/schemas/FileItemDTOWrapper' "500": description: Error in case of invalid credentials or server error /file/rename/{id}/{name}: post: tags: - FileService description: update a file or folder name operationId: rename parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: file or folder id required: true schema: type: integer format: int64 - name: name in: path description: new file or folder name required: true schema: type: string responses: "200": description: resulting file object content: application/json: schema: $ref: '#/components/schemas/FileItemDTOWrapper' "500": description: Error in case of invalid credentials or server error /file/room/{id}: get: tags: - FileService description: Get a File Explorer Object by a given ROOM operationId: getRoom parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: ROOM Id required: true schema: type: integer format: int64 responses: "200": description: File Explorer Object by a given ROOM content: application/json: schema: $ref: '#/components/schemas/FileExplorerObjectWrapper' "500": description: Error in case of invalid credentials or server error /file/room/{id}/{parent}: get: tags: - FileService description: Get list of FileItemDTO by parent operationId: getRoomByParent parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the parent folder id required: true schema: type: integer format: int64 - name: parent in: path description: the room id required: true schema: type: integer format: int64 responses: "200": description: list of file explorer items content: application/json: schema: $ref: '#/components/schemas/FileItemDTOListWrapper' "500": description: Error in case of invalid credentials or server error /file/{externaltype}: get: tags: - FileService description: Get all files by external type operationId: getAllExternal parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: externaltype in: path description: External type for file listing required: true schema: type: string responses: "200": description: the list of files for given external type content: application/json: schema: $ref: '#/components/schemas/FileItemDTOListWrapper' "500": description: Error in case of invalid credentials or server error /file/{externaltype}/{externalid}: delete: tags: - FileService description: deletes a file by its external Id and type operationId: deleteExternal parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: externaltype in: path description: the externalType required: true schema: type: string - name: externalid in: path description: the id of the file or folder required: true schema: type: string responses: "200": description: ServiceResult with result type content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /file/{id}: delete: tags: - FileService description: deletes files or folders based on it id operationId: delete_1 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the id of the file or folder required: true schema: type: integer format: int64 responses: "200": description: ServiceResult with result type content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /group: get: tags: - GroupService description: Get the list of all groups operationId: get_1 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string responses: "200": description: list of users content: application/json: schema: $ref: '#/components/schemas/GroupDTOListWrapper' "500": description: Error in case of invalid credentials or server error post: tags: - GroupService description: add a new group operationId: add_1 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: name in: query description: The name of the group required: true schema: type: string responses: "200": description: "ServiceResult with result type, and id of the group added" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /group/users/{id}: get: tags: - GroupService description: Search users and return them operationId: getUsers parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the group id required: true schema: type: integer format: int64 - name: start in: query description: first record required: true schema: type: integer format: int32 - name: max in: query description: max records required: true schema: type: integer format: int32 - name: orderby in: query description: orderby clause required: true schema: type: string - name: asc in: query description: asc or desc required: true schema: type: boolean responses: "200": description: users found content: application/json: schema: $ref: '#/components/schemas/UserSearchResultWrapper' "500": description: Error in case of invalid credentials or server error /group/{id}: delete: tags: - GroupService description: Deletes a group operationId: delete_2 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the id of the group required: true schema: type: integer format: int64 responses: "200": description: ServiceResult with result type content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /group/{id}/rooms/add/{roomid}: post: tags: - GroupService description: Adds a room to an group operationId: addRoom parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: Id of group that the room is being paired with required: true schema: type: integer format: int64 - name: roomid in: path description: Id of room to be added required: true schema: type: integer format: int64 responses: "200": description: ServiceResult with result type content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /group/{id}/users/{userid}: post: tags: - GroupService description: Add USER to a certain group operationId: addUser parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the USER id required: true schema: type: integer format: int64 - name: userid in: path description: the group id required: true schema: type: integer format: int64 responses: "200": description: "ServiceResult with result type, and id of the USER added,\ \ or error id in case of the error as text" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error delete: tags: - GroupService description: Remove USER from a certain group operationId: removeUser parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the USER id required: true schema: type: integer format: int64 - name: userid in: path description: the group id required: true schema: type: integer format: int64 responses: "200": description: "ServiceResult with result type, and id of the USER removed,\ \ or error id in case of the error as text" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /info/health: get: tags: - InfoService description: Method to get health report for this OpenMeetings instance operationId: getHealth responses: "200": description: health report content: application/json: schema: $ref: '#/components/schemas/HealthWrapper' "500": description: Error in case of server error /info/manifest.webmanifest: get: tags: - InfoService operationId: getManifest responses: default: description: default response content: application/manifest+json: schema: type: string /info/version: get: tags: - InfoService description: Method to get current OpenMeetings version operationId: getVersion responses: "200": description: Current version content: application/json: schema: $ref: '#/components/schemas/InfoWrapper' "500": description: Error in case of server error /networktest: get: tags: - NetTestService description: Generate a sample for network test operationId: get_2 parameters: - name: type in: query description: "one of ping, jitter, download, upload" required: true schema: type: string - name: size in: query description: requests size of sample required: true schema: type: integer format: int32 responses: "200": description: Content as requested content: application/octet-stream: {} "400": description: Unkown type or exceeding Max Upload size "500": description: Server error post: tags: - NetTestService description: Upload media to test upload speed operationId: upload parameters: - name: size in: query description: size required: true schema: type: integer format: int32 requestBody: description: stream to upload content: application/octet-stream: schema: type: object required: true responses: "200": description: Number of bytes uploaded "500": description: Server error /record/room/{roomid}: get: tags: - RecordingService description: Gets a list of recordings operationId: getExternalByRoom parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: roomid in: path description: the room id required: true schema: type: integer format: int64 responses: "200": description: list of recordings content: application/json: schema: $ref: '#/components/schemas/RecordingDTOListWrapper' "500": description: Error in case of invalid credentials or server error /record/{externaltype}: get: tags: - RecordingService description: Gets a list of recordings operationId: getExternalByType parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: externaltype in: path description: externalType specified when creating the room required: true schema: type: string responses: "200": description: list of recordings content: application/json: schema: $ref: '#/components/schemas/RecordingDTOListWrapper' "500": description: Error in case of invalid credentials or server error /record/{externaltype}/{externalid}: get: tags: - RecordingService description: Gets a list of recordings created by particular external USER operationId: getExternal parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: externaltype in: path description: the externalUserId required: true schema: type: string - name: externalid in: path description: the externalUserType required: true schema: type: string responses: "200": description: list of recordings content: application/json: schema: $ref: '#/components/schemas/RecordingDTOListWrapper' "500": description: Error in case of invalid credentials or server error /record/{id}: delete: tags: - RecordingService description: Deletes a recording operationId: delete_3 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the id of the recording required: true schema: type: integer format: int64 responses: "200": description: serviceResult object with the result content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room: post: tags: - RoomService description: Adds a new ROOM like through the Frontend operationId: add_2 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string requestBody: content: '*/*': schema: required: - room type: object properties: room: $ref: '#/components/schemas/RoomDTO' responses: "200": description: Room object or throw error content: application/json: schema: $ref: '#/components/schemas/RoomDTOWrapper' "500": description: Error in case of invalid credentials or server error /room/close/{id}: get: tags: - RoomService description: |- Method to remotely close rooms. If a room is closed all users inside the room and all users that try to enter it will be redirected to the redirectURL that is defined in the ROOM-Object. operationId: close parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the room id required: true schema: type: integer format: int64 responses: "200": description: "1 in case of success, -2 otherwise" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/count/{roomid}: get: tags: - RoomService description: Returns the count of users currently in the ROOM with given id operationId: count parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: roomid in: path description: roomId id of the room to get users required: true schema: type: integer format: int64 responses: "200": description: number of users as int content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/hash: post: tags: - RoomService description: Method to get invitation hash with given parameters operationId: hash parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: invite in: query description: parameters of the invitation required: true schema: $ref: '#/components/schemas/InvitationDTO' - name: sendmail in: query description: flag to determine if email should be sent or not required: true schema: type: boolean responses: "200": description: serviceResult object with the result content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/kick/{id}: get: tags: - RoomService description: Kick all uses of a certain room operationId: kickAll parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the room id required: true schema: type: integer format: int64 responses: "200": description: "true if USER was kicked, false otherwise" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/kick/{id}/{externalType}/{externalId}: get: tags: - RoomService description: kick external USER from given room operationId: kick parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the room id required: true schema: type: integer format: int64 - name: externalType in: path description: external type of USER to kick required: true schema: type: string - name: externalId in: path description: external id of USER to kick required: true schema: type: string responses: "200": description: '''Kicked'' if USER was ''Not kicked'' otherwise' content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/open/{id}: get: tags: - RoomService description: |- Method to remotely open rooms. If a room is closed all users inside the room and all users that try to enter it will be redirected to the redirectURL that is defined in the ROOM-Object. operationId: open parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the room id required: true schema: type: integer format: int64 responses: "200": description: "1 in case of success, -2 otherwise" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/public/{type}: get: tags: - RoomService description: "Returns an Object of Type RoomsList which contains a list of\n\ \ ROOM-Objects. Every ROOM-Object contains a Roomtype and all informations\n\ \ about that ROOM. The List of current-users in the room is Null if you get\n\ \ them via SOAP. The Roomtype can be 'conference', 'presentation' or 'interview'." operationId: getPublic parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: type in: path description: Type of public rooms need to be retrieved required: true schema: type: string responses: "200": description: list of public rooms content: application/json: schema: $ref: '#/components/schemas/RoomDTOListWrapper' "500": description: Error in case of invalid credentials or server error /room/users/{roomid}: get: tags: - RoomService description: Returns list of users currently in the ROOM with given id operationId: users parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: roomid in: path description: roomId id of the room to get users required: true schema: type: integer format: int64 responses: "200": description: List of users in the room content: application/json: schema: $ref: '#/components/schemas/UserDTOListWrapper' "500": description: Error in case of invalid credentials or server error /room/{id}: get: tags: - RoomService description: Returns a conference room object operationId: getRoomById parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the room id required: true schema: type: integer format: int64 responses: "200": description: room with the id given content: application/json: schema: $ref: '#/components/schemas/RoomDTOWrapper' "500": description: Error in case of invalid credentials or server error delete: tags: - RoomService description: Delete a room by its room id operationId: delete_4 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: The id of the room required: true schema: type: integer format: int64 responses: "200": description: id of the room deleted content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /room/{type}/{externaltype}/{externalid}: get: tags: - RoomService description: "Checks if a room with this exteralId + externalType does exist,\n\ \ if yes it returns the room id if not, it will create the room and then\n\ \ return the room id of the newly created room" operationId: getExternal_1 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: type in: path description: type of the room required: true schema: type: string - name: externaltype in: path description: "you can specify your system-name or type of room here, for example\ \ \"moodle\"" required: true schema: type: string - name: externalid in: path description: your external room id may set here required: true schema: type: string - name: room in: query description: details of the room to be created if not found required: true schema: $ref: '#/components/schemas/RoomDTO' responses: "200": description: id of the room or error code content: application/json: schema: $ref: '#/components/schemas/RoomDTOWrapper' "500": description: Error in case of invalid credentials or server error /user: get: tags: - UserService description: Lists all users in the system! operationId: get_3 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string responses: "200": description: list of users content: application/json: schema: $ref: '#/components/schemas/UserDTOListWrapper' "500": description: Error in case of invalid credentials or server error post: tags: - UserService description: "Adds a new User like through the Frontend, but also does activates\ \ the\n Account To do SSO see the methods to create a hash and use those ones!" operationId: add_3 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string requestBody: content: '*/*': schema: required: - confirm - user type: object properties: user: $ref: '#/components/schemas/UserDTO' confirm: type: boolean description: "whatever or not to send email, leave empty for auto-send" responses: "200": description: list of users content: application/json: schema: $ref: '#/components/schemas/UserDTOWrapper' "500": description: Error in case of invalid credentials or server error /user/hash: post: tags: - UserService description: "Sets the SessionObject for a certain SID, after setting this\n\ \ Session-Object you can use the SID + a RoomId to enter any Room. ...\n \ \ Session-Hashs are deleted 15 minutes after the creation if not used." operationId: getRoomHash parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string requestBody: content: '*/*': schema: required: - options - user type: object properties: user: $ref: '#/components/schemas/ExternalUserDTO' options: $ref: '#/components/schemas/RoomOptionsDTO' responses: "200": description: secure hash or error code content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /user/login: get: tags: - UserService description: Login and create sessionId required for sub-sequent calls operationId: login parameters: - name: user in: query description: login or email of Openmeetings user with admin or SOAP-rights required: true schema: type: string - name: pass in: query description: password required: true schema: type: string responses: "200": description: ServiceResult with error code or SID and userId content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error of server error /user/{externaltype}/{externalid}: delete: tags: - UserService description: Delete a certain user by its external user id operationId: deleteExternal_1 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: externaltype in: path description: externalUserId required: true schema: type: string - name: externalid in: path description: externalType required: true schema: type: string responses: "200": description: "id of user deleted, or error code" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /user/{id}: delete: tags: - UserService description: Delete a certain user by its id operationId: delete_5 parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: the openmeetings user id required: true schema: type: integer format: int64 responses: "200": description: "id of the user deleted, error code otherwise" content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /wb/cleanslide/{roomid}/{wbid}/{slide}: get: tags: - WbService description: This method will do the same as clean slide in the room (except for there will be no UNDO) operationId: cleanSlide parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: roomid in: path description: id of the room to clean required: true schema: type: integer format: int64 - name: wbid in: path description: id of the white board to clean required: true schema: type: integer format: int64 - name: slide in: path description: slide number (zero based) required: true schema: type: integer format: int32 responses: "200": description: serviceResult object with the result content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /wb/cleanwb/{roomid}/{wbid}: get: tags: - WbService description: This method will do the same as clean WB in the room (except for there will be no UNDO) operationId: cleanWb parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: roomid in: path description: id of the room to clean required: true schema: type: integer format: int64 - name: wbid in: path description: id of the white board to clean required: true schema: type: integer format: int64 responses: "200": description: serviceResult object with the result content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /wb/resetwb/{id}: get: tags: - WbService description: |- This method will remove all whiteboards from given room and create empty one(s) for room files specified operationId: resetWb parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: id in: path description: id of the room to clean required: true schema: type: integer format: int64 responses: "200": description: serviceResult object with the result content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error /wb/uploadwb/{type}: post: tags: - WbService description: This method will receive WB as binary data (png) and store it to temporary PDF/PNG file operationId: uploadWb parameters: - name: sid in: query description: The SID of the User. This SID must be marked as Loggedin required: true schema: type: string - name: type in: path description: the type of document being saved PNG/PDF required: true schema: type: string requestBody: content: '*/*': schema: required: - data type: object properties: data: type: string description: binary data responses: "200": description: serviceResult object with the result content: application/json: schema: $ref: '#/components/schemas/ServiceResultWrapper' "500": description: Error in case of invalid credentials or server error components: schemas: Address: type: object properties: additionalname: type: string comment: type: string country: type: string deleted: type: boolean email: type: string xml: name: mail fax: type: string id: type: integer format: int64 inserted: type: string format: date-time xml: name: created phone: type: string street: type: string town: type: string updated: type: string format: date-time zip: type: string xml: name: address AppointmentDTO: type: object properties: connectedEvent: type: boolean deleted: type: boolean description: type: string end: type: string format: date-time icalId: type: string id: type: integer format: int64 inserted: type: string format: date-time languageId: type: integer format: int64 location: type: string meetingMembers: type: array items: $ref: '#/components/schemas/MeetingMemberDTO' owner: $ref: '#/components/schemas/UserDTO' password: type: string passwordProtected: type: boolean reminder: type: string enum: - NONE - EMAIL - ICAL reminderEmailSend: type: boolean room: $ref: '#/components/schemas/RoomDTO' start: type: string format: date-time title: type: string updated: type: string format: date-time AppointmentDTOListWrapper: type: object properties: appointmentDTO: type: array items: $ref: '#/components/schemas/AppointmentDTO' example: appointmentDTO: - connectedEvent: false deleted: false description: Comments end: 2021-09-23T12:31:00+1200 icalId: 7507ab5d-81ec-458a-bdb1-48d102978e49 id: 1 inserted: 2021-09-19T11:31:37+1200 meetingMembers: - id: 1 user: address: country: NZ deleted: false email: seba.wagner@gmail.com id: 1 inserted: date: 29 day: 0 hours: 10 minutes: 59 month: 7 ownerField: 1 seconds: 49 time: 1630191589000 timezoneOffset: -720 year: 121 firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER owner: address: country: NZ deleted: false email: seba.wagner@gmail.com id: 1 inserted: date: 29 day: 0 hours: 10 minutes: 59 month: 7 ownerField: 1 seconds: 49 time: 1630191589000 timezoneOffset: -720 year: 121 firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER passwordProtected: false reminder: ICAL reminderEmailSend: false room: allowRecording: true allowUserQuestions: false appointment: true audioOnly: false capacity: 50 closed: false demo: false files: [] hiddenElements: - MICROPHONE_STATUS id: 11 moderated: false name: New Event public: false type: CONFERENCE waitModerator: false waitRecording: false start: 2021-09-23T11:31:00+1200 title: New Event AppointmentDTOWrapper: type: object properties: appointmentDTO: $ref: '#/components/schemas/AppointmentDTO' example: appointmentDTO: connectedEvent: false deleted: false description: Comments end: 2021-09-23T12:31:00+1200 icalId: 7507ab5d-81ec-458a-bdb1-48d102978e49 id: 1 inserted: 2021-09-19T11:31:37+1200 meetingMembers: - id: 1 user: address: country: NZ deleted: false email: seba.wagner@gmail.com id: 1 inserted: date: 29 day: 0 hours: 10 minutes: 59 month: 7 ownerField: 1 seconds: 49 time: 1630191589000 timezoneOffset: -720 year: 121 firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - 'LOGIN ' timeZoneId: Europe/Berlin type: USER owner: address: country: NZ deleted: false email: seba.wagner@gmail.com id: 1 inserted: date: 29 day: 0 hours: 10 minutes: 59 month: 7 ownerField: 1 seconds: 49 time: 1630191589000 timezoneOffset: -720 year: 121 firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER passwordProtected: false reminder: ICAL reminderEmailSend: false room: allowRecording: true allowUserQuestions: false appointment: true audioOnly: false capacity: 50 closed: false demo: false files: [] hiddenElements: - MICROPHONE_STATUS id: 11 moderated: false name: New Event public: false type: CONFERENCE waitModerator: false waitRecording: false start: 2021-09-23T11:31:00+1200 title: New Event ExternalUserDTO: type: object properties: email: type: string externalId: type: string externalType: type: string firstname: type: string lastname: type: string login: type: string profilePictureUrl: type: string FileExplorerObject: type: object properties: roomHome: type: array items: $ref: '#/components/schemas/FileItemDTO' roomHomeSize: type: integer format: int64 userHome: type: array items: $ref: '#/components/schemas/FileItemDTO' userHomeSize: type: integer format: int64 FileExplorerObjectWrapper: type: object properties: fileExplorerObject: $ref: '#/components/schemas/FileExplorerObject' example: fileExplorerObject: userHome: id: 2 name: OpenMeetings-NodeJS-Use-Case_preview.jpg hash: f802b727-5bfc-4273-8c90-939ea15bf388 ownerId: 1 size: 391449 type: IMAGE width: 2193 height: 1823 roomHome: - id: 4 name: Folder1 hash: fad982f0-2468-4b10-9b6c-be3648f55143 roomId: 7 type: FOLDER - id: 3 name: browsers-768x768.png hash: 91902c95-9944-435e-a54d-a2b64158758b roomId: 7 size: 325415 type: IMAGE width: 768 height: 768 userHomeSize: 1444970 roomHomeSize: 334311 FileItemDTO: type: object properties: externalId: type: string externalType: type: string groupId: type: integer format: int64 hash: type: string height: type: integer format: int32 id: type: integer format: int64 name: type: string ownerId: type: integer format: int64 parentId: type: integer format: int64 roomId: type: integer format: int64 size: type: integer format: int64 type: type: string enum: - FOLDER - IMAGE - POLL_CHART - PRESENTATION - RECORDING - VIDEO - WML_FILE width: type: integer format: int32 FileItemDTOListWrapper: type: object properties: fileItemDTO: type: array items: $ref: '#/components/schemas/FileItemDTO' example: fileItemDTO: - id: 2 name: OpenMeetings-NodeJS-Use-Case_preview.jpg hash: f802b727-5bfc-4273-8c90-939ea15bf388 ownerId: 1 size: 391449 type: IMAGE width: 2193 height: 1823 FileItemDTOWrapper: type: object properties: fileItemDTO: $ref: '#/components/schemas/FileItemDTO' example: fileItemDTO: id: 2 name: OpenMeetings-NodeJS-Use-Case_preview.jpg hash: f802b727-5bfc-4273-8c90-939ea15bf388 ownerId: 1 size: 391449 type: IMAGE width: 2193 height: 1823 GroupDTO: type: object properties: id: type: integer format: int64 name: type: string tag: type: string GroupDTOListWrapper: type: object properties: groupDTO: type: array items: $ref: '#/components/schemas/GroupDTO' example: groupDTO: - id: 1 name: admin - id: 2 name: myCMS Health: type: object properties: dbOk: type: boolean inited: type: boolean installed: type: boolean HealthWrapper: type: object properties: health: $ref: '#/components/schemas/Health' example: health: inited: true installed: true dbOk: true Info: type: object properties: buildDate: type: string revision: type: string version: type: string InfoWrapper: type: object properties: info: $ref: '#/components/schemas/Info' example: info: version: 7.0.0-SNAPSHOT revision: 525bd84 buildDate: 2021-09-03T22:07:29Z InvitationDTO: type: object properties: email: type: string firstname: type: string languageId: type: integer format: int64 lastname: type: string message: type: string password: type: string passwordProtected: type: boolean roomId: type: integer format: int64 subject: type: string valid: type: string enum: - ONE_TIME - PERIOD - ENDLESS validFrom: type: string validTo: type: string MeetingMemberDTO: type: object properties: id: type: integer format: int64 user: $ref: '#/components/schemas/UserDTO' RecordingDTO: type: object properties: end: type: string format: date-time externalType: type: string hash: type: string height: type: integer format: int32 id: type: integer format: int64 interview: type: boolean name: type: string ownerId: type: integer format: int64 roomId: type: integer format: int64 start: type: string format: date-time status: type: string width: type: integer format: int32 RecordingDTOListWrapper: type: object properties: recordingDTO: type: array items: $ref: '#/components/schemas/RecordingDTO' example: recordingDTO: - id: 1 name: "Recording [file.name.recording]19/09/21, 12:43 am" hash: 1ee00bf1-6cb6-44d2-bb91-cfbe96e2ae19 roomId: 7 status: PROCESSED interview: false start: 2021-09-19T10:43:39+12:00 end: 2021-09-19T10:43:56+12:00 width: 1792 height: 1120 ownerId: 1 RoomDTO: type: object properties: allowRecording: type: boolean allowUserQuestions: type: boolean appointment: type: boolean audioOnly: type: boolean capacity: type: integer format: int64 closed: type: boolean comment: type: string confno: type: string demo: type: boolean demoTime: type: integer format: int32 externalId: type: string externalType: type: string files: type: array items: $ref: '#/components/schemas/RoomFileDTO' hiddenElements: uniqueItems: true type: array items: type: string enum: - TOP_BAR - CHAT - ACTIVITIES - FILES - ACTION_MENU - POLL_MENU - SCREEN_SHARING - WHITEBOARD - MICROPHONE_STATUS - USER_COUNT id: type: integer format: int64 moderated: type: boolean name: type: string public: type: boolean redirectUrl: type: string tag: type: string type: type: string enum: - CONFERENCE - PRESENTATION - INTERVIEW waitModerator: type: boolean waitRecording: type: boolean RoomDTOListWrapper: type: object properties: roomDTO: type: array items: $ref: '#/components/schemas/RoomDTO' example: roomDTO: - id: 2 name: "Public Conference Room [install.room.public.conference]" comment: "" type: CONFERENCE capacity: 32 appointment: false isPublic: true demo: false closed: false moderated: false waitModerator: false allowUserQuestions: true allowRecording: true waitRecording: false audioOnly: false hiddenElements: MICROPHONE_STATUS - id: 3 name: "Public Video Only Room [install.room.public.video.only]" comment: "" type: CONFERENCE capacity: 32 appointment: false isPublic: true demo: false closed: false moderated: false waitModerator: false allowUserQuestions: true allowRecording: true waitRecording: false audioOnly: false hiddenElements: - WHITEBOARD - MICROPHONE_STATUS - id: 4 name: "Public Video And Whiteboard Room [install.room.public.video.wb]" comment: "" type: CONFERENCE capacity: 32 appointment: false isPublic: true demo: false closed: false moderated: false waitModerator: false allowUserQuestions: true allowRecording: true waitRecording: false audioOnly: false hiddenElements: MICROPHONE_STATUS - id: 7 name: "Conference room with microphone option set [install.room.conference.micro]" comment: "" type: CONFERENCE capacity: 32 appointment: false isPublic: true demo: false closed: false moderated: false waitModerator: false allowUserQuestions: true allowRecording: true waitRecording: false audioOnly: false RoomDTOWrapper: type: object properties: roomDTO: $ref: '#/components/schemas/RoomDTO' example: roomDTO: id: 2 name: "Public Conference Room [install.room.public.conference]" comment: "" type: CONFERENCE capacity: 32 appointment: false isPublic: true demo: false closed: false moderated: false waitModerator: false allowUserQuestions: true allowRecording: true waitRecording: false audioOnly: false hiddenElements: MICROPHONE_STATUS RoomFileDTO: type: object properties: fileId: type: integer format: int64 id: type: integer format: int64 wbIdx: type: integer format: int64 RoomOptionsDTO: type: object properties: allowRecording: type: boolean allowSameURLMultipleTimes: type: boolean externalRoomId: type: string externalType: type: string moderator: type: boolean recordingId: type: integer format: int64 roomId: type: integer format: int64 showAudioVideoTest: type: boolean ServiceResult: type: object properties: message: type: string type: type: string ServiceResultWrapper: type: object properties: serviceResult: $ref: '#/components/schemas/ServiceResult' example: serviceResult: message: 9dbb6907-61fc-42c0-a2b2-5dbfbe053ac6 type: SUCCESS UserDTO: type: object properties: address: $ref: '#/components/schemas/Address' externalId: type: string externalType: type: string firstname: type: string id: type: integer format: int64 languageId: type: integer format: int64 lastname: type: string login: type: string password: type: string pictureUri: type: string rights: uniqueItems: true type: array items: type: string enum: - ADMIN - GROUP_ADMIN - ADMIN_CONFIG - ADMIN_CONNECTIONS - ADMIN_BACKUP - ADMIN_LABEL - ROOM - DASHBOARD - LOGIN - SOAP timeZoneId: type: string type: type: string enum: - USER - LDAP - OAUTH - EXTERNAL - CONTACT UserDTOListWrapper: type: object properties: userDTO: type: array items: $ref: '#/components/schemas/UserDTO' example: userDTO: - address: created: 1630191589000 deleted: false country: NZ mail: seba.wagner@gmail.com firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER - address: created: 1631324533000 deleted: false country: NZ mail: john.doe@gmail.com externalId: uniqueId1 externalType: myCMS firstname: John id: 2 languageId: 1 lastname: Doe login: john.doe pictureUri: "" rights: ROOM timeZoneId: Europe/Berlin type: EXTERNAL - address: created: 1631958373000 deleted: false country: NZ mail: test@test.com id: 3 languageId: 1 login: soapuser rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER UserDTOWrapper: type: object properties: userDTO: $ref: '#/components/schemas/UserDTO' example: userDTO: address: created: 1630191589000 deleted: false country: NZ mail: seba.wagner@gmail.com firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER UserSearchResult: type: object properties: errorKey: type: string objectName: type: string records: type: integer format: int64 result: type: array items: $ref: '#/components/schemas/UserDTO' UserSearchResultWrapper: type: object properties: userSearchResult: $ref: '#/components/schemas/UserSearchResult' example: userSearchResult: objectName: org.apache.openmeetings.db.entity.user.User records: 2 result: - address: created: 1631958373000 deleted: false country: NZ mail: test@test.com id: 3 languageId: 1 login: soapuser rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER - address: created: 1630191589000 deleted: false country: NZ mail: seba.wagner@gmail.com firstname: firstname id: 1 languageId: 1 lastname: lastname login: admin rights: - ROOM - SOAP - DASHBOARD - ADMIN - LOGIN timeZoneId: Europe/Berlin type: USER