Apache OpenMeetings UserService API

The UserService API from Apache OpenMeetings — 5 operation(s) for userservice.

OpenAPI Specification

apache-openmeetings-userservice-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Apache OpenMeetings REST CalendarService UserService API
  description: The OpenMeetings REST API provides endpoints for managing rooms, users, recordings, calendars, file uploads, whiteboards, and groups. It supports SOAP API for legacy integrations and plugin APIs for LMS integration.
  version: 9.0.0
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    url: https://openmeetings.apache.org/
servers:
- url: https://{host}:5443/openmeetings/services
  description: Apache OpenMeetings REST API server
  variables:
    host:
      default: localhost
tags:
- name: UserService
paths:
  /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
      summary: Apache OpenMeetings Get_3
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    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
      summary: Apache OpenMeetings Add_3
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /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
      summary: Apache OpenMeetings Delete_5
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /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
      summary: Apache OpenMeetings DeleteExternal_1
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /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
      summary: Apache OpenMeetings GetRoomHash
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /user/login:
    post:
      tags:
      - UserService
      description: Login and create sessionId required for sub-sequent calls
      operationId: login
      requestBody:
        content:
          '*/*':
            schema:
              required:
              - pass
              - user
              type: object
              properties:
                user:
                  type: string
                  description: login or email of Openmeetings user with admin or SOAP-rights
                pass:
                  type: string
                  description: password
      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
      summary: Apache OpenMeetings Login
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    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
    Address:
      type: object
      properties:
        inserted:
          type: string
          format: date-time
          xml:
            name: created
        updated:
          type: string
          format: date-time
        deleted:
          type: boolean
        id:
          type: integer
          format: int64
        additionalname:
          type: string
        comment:
          type: string
        fax:
          type: string
        country:
          type: string
        street:
          type: string
        town:
          type: string
        zip:
          type: string
        email:
          type: string
          xml:
            name: mail
        phone:
          type: string
      xml:
        name: address
    UserDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
        login:
          type: string
        password:
          type: string
        firstname:
          type: string
        lastname:
          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
        languageId:
          type: integer
          format: int64
        address:
          $ref: '#/components/schemas/Address'
        timeZoneId:
          type: string
        externalId:
          type: string
        externalType:
          type: string
        pictureUri:
          type: string
        type:
          type: string
          enum:
          - USER
          - LDAP
          - OAUTH
          - EXTERNAL
          - CONTACT
    ServiceResultWrapper:
      type: object
      properties:
        serviceResult:
          $ref: '#/components/schemas/ServiceResult'
      example:
        serviceResult:
          message: 9dbb6907-61fc-42c0-a2b2-5dbfbe053ac6
          type: SUCCESS
    ServiceResult:
      type: object
      properties:
        message:
          type: string
        type:
          type: string
    RoomOptionsDTO:
      type: object
      properties:
        roomId:
          type: integer
          format: int64
        externalRoomId:
          type: string
        externalType:
          type: string
        recordingId:
          type: integer
          format: int64
        moderator:
          type: boolean
        showAudioVideoTest:
          type: boolean
        allowSameURLMultipleTimes:
          type: boolean
        allowRecording:
          type: boolean
    ExternalUserDTO:
      type: object
      properties:
        login:
          type: string
        firstname:
          type: string
        lastname:
          type: string
        profilePictureUrl:
          type: string
        email:
          type: string
        externalId:
          type: string
        externalType:
          type: string
    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