openapi: 3.0.0
servers:
  - url: https://circuitsandbox.net/rest/v2
x-hasEquivalentPaths: true
info:
  description: |-
    Circuit REST API to interact with the Circuit system.

    [Learn more about the Circuit Development Community](https://www.circuit.com/web/developers/home)
  title: REST API Version 2
  version: 2.9.235
  x-apisguru-categories:
    - messaging
  x-logo:
    backgroundColor: "#FFFFFF"
    url: https://pbs.twimg.com/profile_images/927933988269903874/4jU82-IJ_400x400.jpg
  x-origin:
    - format: openapi
      url: https://circuitsandbox.net/rest/v2/swagger
      version: "3.0"
  x-providerName: circuitsandbox.net
paths:
  /conversations:
    get:
      description: |-
        Gets a list of conversations and communities the authenticated user participates in.
        OauthScopes: READ_CONVERSATIONS
      operationId: getConversations
      parameters:
        - description: The modification time of the conversation in UTC format. During the query the conversations before (<i>default</i>) or after this timestamp are returned. In case no timestamp is specified the current server time in UTC is used, i.e. the last 25 modified conversations are returned
          in: query
          name: modTime
          required: false
          schema:
            format: date-time
            type: string
        - description: The direction of the search based on the modification time. Valid values are either BEFORE (default) or AFTER
          in: query
          name: direction
          required: false
          schema:
            default: BEFORE
            enum:
              - BEFORE
              - AFTER
            maxLength: 2048
            type: string
        - description: The maximum number of returned results (default 25). The maximum allowed value is 100.
          in: query
          name: results
          required: false
          schema:
            default: 25
            format: int32
            maximum: 100
            minimum: 1
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/Conversation"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/Conversation"
                type: array
          description: The matching conversations
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets a list of conversations
      tags:
        - Conversations
  /conversations/byIds:
    get:
      description: |-
        Gets conversation based on the given IDs.
        OauthScopes: READ_CONVERSATIONS
      operationId: getConversationsById
      parameters:
        - description: The array of IDs of the conversations which should be retrieved
          explode: true
          in: query
          name: convIds
          required: true
          schema:
            items:
              maxLength: 2048
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/Conversation"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/Conversation"
                type: array
          description: List of existing conversations successfully retrieved.
        "400":
          description: missing documentation
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets conversations
      tags:
        - Conversations
  /conversations/community:
    get:
      description: |-
        Gets a list of communities. This endpoint can be used to explore the communities the authenticated user could join.
        OauthScopes: READ_CONVERSATIONS
      operationId: getCommunityConversations
      parameters:
        - description: Defines the type of sorting for the community conversations (default is alphabetical)
          in: query
          name: sort
          required: false
          schema:
            default: ALPHABETICALLY
            enum:
              - ALPHABETICALLY
              - RECENT_ACTIVITY
              - POPULARITY
            maxLength: 2048
            type: string
        - description: Defines the ordering of the conversations (default is ascending)
          in: query
          name: order
          required: false
          schema:
            default: ASCENDING
            enum:
              - ASCENDING
              - DESCENDING
            maxLength: 2048
            type: string
        - description: If set to false only conversations are returned where the user is no member of, otherwise all community conversations are returned
          in: query
          name: includeOwn
          required: false
          schema:
            default: false
            type: boolean
        - description: The index of the conversation that is the first one that has to be returned. E.g. if a request starts with startIndex 40 and results 20 the conversations 40 to 60 are returned
          in: query
          name: startIndex
          required: false
          schema:
            default: 0
            format: int32
            maximum: 255
            minimum: 0
            type: number
        - description: The maximum number of returned results (default 25). The maximum allowed value is 100.
          in: query
          name: results
          required: false
          schema:
            default: 25
            format: int32
            maximum: 100
            minimum: 1
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/Conversation"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/Conversation"
                type: array
          description: The matching conversations
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul>a field constraint is violated</ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets a list of communities
      tags:
        - Conversations
    post:
      description: |-
        Creates a community. Communities are open conversations that anyone in a Circuit domain (tenant) can join without having to be added by another user.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: createCommunityConversation
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                description:
                  description: An optional description for the community conversation
                  maxLength: 2048
                  type: string
                participants:
                  description: list of participants that will be part of this conversation, specified by the Circuit user ID or the unique email address. At least one participant needs to be added
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                topic:
                  description: An optional topic of the conversation. If not set the Circuit client will render the names of the participants as topic of the conversation (the first 4 names will be used)
                  maxLength: 2048
                  type: string
              required:
                - topic
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: The conversation was created successfully and can be accessed via the conversation ID
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Creates a community conversation
      tags:
        - Conversations
  "/conversations/community/{convId}":
    put:
      description: |-
        Updates the information of the given community.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: updateConversationCommunity
      parameters:
        - description: The ID of the conversation which should be updated
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                description:
                  description: An optional description for the community conversation
                  maxLength: 2048
                  type: string
                topic:
                  description: An optional topic of the conversation. If not set the Circuit client will render the names of the participants as topic of the conversation (the first 4 names will be used)
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the updated conversation object with the new topic / description
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the conversation is not of type COMMUNITY</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Updates the information of a community
      tags:
        - Conversations
  "/conversations/community/{convId}/join":
    post:
      description: |-
        Adds the authenticated user to the given community (i.e., allows the user to join this community). Contrary to the operation of adding a new participant, this operation can only be performed by a user who is not yet a member of the community.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: joinCommunityConversation
      parameters:
        - description: The ID of the conversation which the user will join
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the conversation object to which the participants was added
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>the conversation does not exist</li><li>the conversation is not of type COMMUNITY</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Adds the authenticated user to a community
      tags:
        - Conversations
  "/conversations/community/{convId}/participants":
    delete:
      description: |-
        Removes one or more participants from the given community. The last participant of a community cannot be removed. This operation can only be performed by a user who is already a member of the community.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: removeParticipantCommunity
      parameters:
        - description: The ID of the conversation from which the participant have to be removed
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The IDs or the unique email addresses of the Circuit users that have to be removed
          explode: true
          in: query
          name: participants
          required: true
          schema:
            items:
              maxLength: 6500
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the conversation object from which the participants were removed.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul></li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>the conversation does not exist</li><li>the conversation is not of type COMMUNITY</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Removes participants from a community
      tags:
        - Conversations
    post:
      description: |-
        Adds one or more participants to the given community. This operation can only be performed by a user who is already a member of the community.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: addParticipantCommunity
      parameters:
        - description: The ID of the conversation to which the participant has to be added.
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        $ref: "#/components/requestBodies/addParticipantCommunity"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the conversation object to which the participants were added.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>the conversation does not exist</li><li>the conversation is not of type COMMUNITY</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Adds participants to a community
      tags:
        - Conversations
  /conversations/conversationdetails:
    get:
      description: |-
        Gets the conference details of the given conversations. Conference details include the URL, which is used to join the conference through a web or mobile application, as well as the dial-in phone numbers and conference PIN, which are used to join the conference by phone.
        OauthScopes: READ_CONVERSATIONS
      operationId: getJoinDetailsMultiple
      parameters:
        - description: An array of IDs of the conversations for which the join details should be returned
          explode: true
          in: query
          name: convIds
          required: true
          schema:
            items:
              maxLength: 2048
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationDetails"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationDetails"
                type: array
          description: The join details.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets the conference details for multiple conversations
      tags:
        - Conversations
  /conversations/direct:
    get:
      description: |-
        Checks if a 1-to-1 conversation between the authenticated user and the user with the provided userId exists.
        OauthScopes: READ_CONVERSATIONS
      operationId: getDirectConversation
      parameters:
        - description: The participant that will be part of this conversation together with the creator, specified by the Circuit user ID or the unique email address
          in: query
          name: participant
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: The conversation was found and can be accessed via the conversation ID
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the data format of the passed user does not match either a UUID (user primary key)</li><li> or an valid email address</li><li>or the user does not exist</li><li>or the user is the same who initiates the request</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Checks for a 1-to-1 conversation
      tags:
        - Conversations
    post:
      description: |-
        Creates a 1-to-1 conversation between the authenticated user and the user with the provided userId. In case there is already an existing 1-to-1 conversation between these users, the endpoint returns the existing conversation.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: createDirectConversation
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                participant:
                  description: The participant that will be part of this conversation together with the creator, specified by the Circuit user ID or the unique email address
                  maxLength: 2048
                  type: string
              required:
                - participant
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: The conversation was created successfully and can be accessed via the conversation ID
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the data format of the passed user does not match either a UUID (user primary key)</li><li> or an valid email address</li><li>or the user does not exist</li><li>or the user is the same who initiates the request</li></ul>"
        "401":
          description: The authentication was not successful
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: A conversation already exists. The response contains this conversation.
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Creates a 1-to-1 conversation
      tags:
        - Conversations
  /conversations/favorite:
    get:
      description: |-
        Gets the conversationIds which are marked as favorites.
        OauthScopes: READ_CONVERSATIONS
      operationId: getFavoriteConversations
      responses:
        "200":
          content:
            "*/*":
              schema:
                items:
                  $ref: "#/components/schemas/String"
                type: array
          description: A list of marked conversations or an empty response.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets favorite conversations
      tags:
        - Conversations
  /conversations/group:
    post:
      description: |-
        Creates a group conversation between three or more users. The authenticated user is directly added to this conversation.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: createGroupConversation
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                participants:
                  description: A list of participants that will be part of this conversation, specified by the Circuit user ID or the unique email address. At least one participant needs to be added
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                topic:
                  description: An optional topic of the conversation. If not set the Circuit client will render the names of the participants as topic of the conversation (the first 4 names will be used)
                  maxLength: 2048
                  type: string
              required:
                - participants
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: The conversation was created successfully and can be accessed via the conversation ID
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Creates a group conversation
      tags:
        - Conversations
  "/conversations/group/{convId}":
    put:
      description: |-
        Updates the information of the given group conversation.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: updateConversationGroup
      parameters:
        - description: The ID of the conversation which should be updated
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                topic:
                  description: An optional topic of the conversation. If not set the Circuit client will render the names of the participants as topic of the conversation (the first 4 names will be used)
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the updated conversation object with the new topic
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the conversation is not of type GROUP</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Updates the information of a group conversation
      tags:
        - Conversations
  "/conversations/group/{convId}/participants":
    delete:
      description: |-
        Removes one or more participants from the given group conversation. The last participant of a group conversation cannot be removed. This operation can only be performed on behalf of a user who is already a member of the conversation.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: removeParticipantGroup
      parameters:
        - description: The ID of the conversation from which the participant have to be removed
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The IDs or the unique email addresses of the Circuit users that have to be removed
          explode: true
          in: query
          name: participants
          required: true
          schema:
            items:
              maxLength: 6500
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the conversation object from which the participants were removed.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>the conversation does not exist</li><li>the conversation is not of type GROUP</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Removes participants from a group conversation
      tags:
        - Conversations
    post:
      description: |-
        Adds one or more participants to the given group conversation. This operation can only be performed by a user who is already a member of the conversation.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: addParticipantGroup
      parameters:
        - description: The ID of the conversation to which the participant has to be added.
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        $ref: "#/components/requestBodies/addParticipantCommunity"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the conversation object to which the participants were added.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or an valid email address</li><li>or one or more of the user do not exist</li><li>the conversation does not exist</li><li>the conversation is not of type GROUP</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Adds participants to a group conversation
      tags:
        - Conversations
  "/conversations/label/{labelId}":
    get:
      description: |-
        Returns conversations with matching labels and paginated 
        OauthScopes: READ_CONVERSATIONS
      operationId: getConversationsByLabel
      parameters:
        - description: Id of the label to look for
          in: path
          name: labelId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Pointer to the next page of conversations if there are any
          in: query
          name: nextPagePointer
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: Numbers of max conversations per page
          in: query
          name: pageSize
          required: false
          schema:
            default: 25
            format: int32
            maximum: 100
            minimum: 1
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationsPage"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationsPage"
          description: Returns a list of conversations that are tagged with a certain label
        "400":
          description: he request cannot be fulfilled due to bad syntax
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Returns conversations with a certain label
      tags:
        - Conversations
  /conversations/messages/flag:
    get:
      description: |-
        Gets a list of all the messages the authenticated user has flagged. This endpoint should be used carefully in case where the authenticated user has a lot of flagged messages.
        OauthScopes: READ_CONVERSATIONS
      operationId: getFlagItemConv
      responses:
        "200":
          content:
            "*/*":
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
          description: Gets the list of flagged items
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets a list of the flagged messages
      tags:
        - Conversations
  "/conversations/messages/{itemId}":
    get:
      description: |-
        Returns a text item for a given item id
        OauthScopes: READ_CONVERSATIONS
      operationId: getSingleConversationtem
      parameters:
        - description: The ID of the item that will be returned
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationItem"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationItem"
          description: The item was successful returned
        "400":
          description: The item with the given id was not found
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Returns a text item
      tags:
        - Conversations
  "/conversations/moderate/{convId}":
    post:
      description: |-
        Set a conversation in moderatd mode. Moderators can be added and removed
        OauthScopes: WRITE_CONVERSATIONS, MODERATE_CONVERSATIONS
      operationId: moderateConversation
      parameters:
        - description: The ID of the conversation which will be set to moderated state
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The conversation is in moderated mode
        "401":
          description: Permission denied
        "403":
          description: Forbidden to edit this conversation
        "500":
          description: Internal server error
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MODERATE_CONVERSATIONS
      summary: Set conversation moderated
      tags:
        - Conversations
  /conversations/resolveinvitetoken:
    get:
      description: |-
        Resolves an invite token to a conversation
        OauthScopes: READ_CONVERSATIONS
      operationId: resolveInvitationToken
      parameters:
        - description: The invite token to resolve
          in: query
          name: token
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Returns the conversation object that belongs to the invite token if you are member of the conversation
        "400":
          description: In case no invitation token was send
        "401":
          description: The authentication was not successful
        "404":
          description: "If the token does not exist or you are not member of the conversation "
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Resolves an invite token to a conversation
      tags:
        - Conversations
  /conversations/search:
    get:
      description: |-
        Performs a search for conversation content. A maximum of 100 conversations is returned. If you hit this limit you should refine the search term.
        OauthScopes: READ_CONVERSATIONS
      operationId: searchConversations
      parameters:
        - description: The search term
          in: query
          name: term
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Optional parameter to specify if a deep or normal search is executed. In a deep search all matching item IDs inside every conversation are returned (up to a maximum of 100). For a normal search only the conversation IDs are returned. Default is a normal search (without item IDs).
          in: query
          name: includeItemIds
          required: false
          schema:
            default: false
            type: boolean
        - description: The search scope, FILES||PEOPLE||MEMBERS||MESSAGES||SENTBY||ALL||CONVERSATIONS||LABEL||FILTER
          in: query
          name: scope
          required: false
          schema:
            default: ALL
            enum:
              - FILES
              - PEOPLE
              - MEMBERS
              - MESSAGES
              - SENTBY
              - ALL
              - CONVERSATIONS
              - LABEL
              - FILTER
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationSearchResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationSearchResult"
          description: A list of conversations and items that match the term
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Performs a conversation search
      tags:
        - Conversations
  "/conversations/unmoderate/{convId}":
    post:
      description: |-
        Set a conversation to unmoderatd mode
        OauthScopes: WRITE_CONVERSATIONS, MODERATE_CONVERSATIONS
      operationId: unmoderateConversation
      parameters:
        - description: The ID of the conversation which will be set to unmoderated state
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The conversation is in unmoderated mode
        "401":
          description: Forbidden to edit this conversation
        "403":
          description: Permission denied
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MODERATE_CONVERSATIONS
      summary: Set conversation unmoderated
      tags:
        - Conversations
  "/conversations/{convId}":
    get:
      description: |-
        Gets a conversation based on the given ID.
        OauthScopes: READ_CONVERSATIONS
      operationId: getConversationbyId
      parameters:
        - description: The ID of the conversation which should be updated
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Gets the conversation object
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets a conversation
      tags:
        - Conversations
  "/conversations/{convId}/archive":
    delete:
      description: |-
        The conversation will no longer be archived but active again
        OauthScopes: WRITE_CONVERSATIONS
      operationId: undoArchiveConversation
      parameters:
        - description: The ID of the conversation which will be unmarked as muted
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The conversation was successfully unmarked
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li><li>the conversation was not marked before</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
      summary: Unmute conversation
      tags:
        - Conversations
    post:
      description: |-
        Archives a conversation by muting it
        OauthScopes: WRITE_CONVERSATIONS
      operationId: archiveConversation
      parameters:
        - description: The ID of the conversation which will be archived
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The conversation was successfully archived
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
      summary: Archives conversation
      tags:
        - Conversations
  "/conversations/{convId}/conversationdetails":
    get:
      description: |-
        Gets the conference details of the given conversation. Conference details include the URL, which is used to join the conference through a web or mobile application, as well as the dial-in phone numbers and conference PIN, which are used to join the conference by phone.
        OauthScopes: READ_CONVERSATIONS
      operationId: getJoinDetails
      parameters:
        - description: The ID of the conversation for which the join details should be returned
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationDetails"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationDetails"
          description: The join details.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets the conference details of a conversation
      tags:
        - Conversations
  "/conversations/{convId}/favorite":
    delete:
      description: |-
        Removes a conversation from favorites. Favorites can be displayed in a separate side tab inside of the Circuit client to have a better overview of important conversations.
        OauthScopes: WRITE_CONVERSATIONS
      operationId: deleteFavorite
      parameters:
        - description: The ID of the conversation which will be unmarked as favorite
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The conversation was successfully unmarked
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li><li>the conversation was not marked before</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
      summary: Removes a conversation from favorites
      tags:
        - Conversations
    post:
      description: |-
        Adds a conversation to the favorites. Favorites can be displayed in a separate side tab inside of the Circuit client to have a better overview of important conversations.
        OauthScopes: WRITE_CONVERSATIONS
      operationId: addFavorite
      parameters:
        - description: The ID of the conversation which will be marked as favorite
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The conversation was successfully marked
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
      summary: Adds a conversation to the favorites
      tags:
        - Conversations
  "/conversations/{convId}/items":
    get:
      description: |-
        Gets a list of conversation items.
        OauthScopes: READ_CONVERSATIONS
      operationId: getConversationItems
      parameters:
        - description: The ID of the conversation to which the items belong
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The modification time of the item in UTC format. During the query the items before (default) or after this timestamps are returned. In case no timestamp is specified the current server time in UTC is used, i.e. the last 25 modified items are returned
          in: query
          name: modTime
          required: false
          schema:
            format: date-time
            type: string
        - description: The direction of the search based on the modification time. Valid values are either BEFORE (default) or AFTER
          in: query
          name: direction
          required: false
          schema:
            default: BEFORE
            enum:
              - BEFORE
              - AFTER
            maxLength: 2048
            type: string
        - description: The maximum number of returned results (default 25). The maximum allowed value is 100.
          in: query
          name: results
          required: false
          schema:
            default: 25
            format: int32
            maximum: 100
            minimum: 1
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
          description: The matching conversation items
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Gets a list of conversation items
      tags:
        - Conversations
  "/conversations/{convId}/label":
    post:
      description: |-
        Adds a label to a conversation, you can search and organize your conversations based on these labels
        OauthScopes: WRITE_CONVERSATIONS, ORGANIZE_CONVERSATIONS
      operationId: assignLabel
      parameters:
        - description: The ID of the conversation to which the label is added
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                label:
                  description: "The actual label "
                  maxLength: 2048
                  type: string
              required:
                - label
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Label"
            application/xml:
              schema:
                $ref: "#/components/schemas/Label"
          description: The label was successfully added
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>a field constraint is violated</li><li>you reached the maximum of 250 labels</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - ORGANIZE_CONVERSATIONS
      summary: Adds a label to a conversation
      tags:
        - Conversations
  "/conversations/{convId}/label/{labelId}":
    delete:
      description: |-
        Removes a label from a conversation, you can search and organize your conversations based on these labels
        OauthScopes: WRITE_CONVERSATIONS
      operationId: unassignLabel
      parameters:
        - description: The ID of the conversation from which the label is removed
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: "The actual label "
          in: path
          name: labelId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Label"
            application/xml:
              schema:
                $ref: "#/components/schemas/Label"
          description: The label was successfully removed
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>a field constraint is violated</li><li>the label was not assigned to the conversation</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
      summary: Removes a label from a conversation
      tags:
        - Conversations
  "/conversations/{convId}/messages":
    post:
      description: |-
        Adds a message to the given conversation. This operation can be only performed on behalf of a user who is already a member of the conversation.
        OauthScopes: WRITE_CONVERSATIONS, CREATE_CONVERSATIONS_CONTENT
      operationId: addTextItem
      parameters:
        - description: The ID of the conversation to which the new item has to be added
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: A comma separated list of attachment IDs from the file API.
                  items:
                    maxLength: 16000
                    type: string
                  type: array
                content:
                  description: The actual content of the item, is mandatory unless an attachment is added
                  maxLength: 16384
                  type: string
                formMetaData:
                  description: The form meta data of the new text item
                  maxLength: 32768
                  type: string
                subject:
                  description: The subject (headline) of the new text item
                  maxLength: 255
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationItem"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationItem"
          description: Gets the new text item object
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - CREATE_CONVERSATIONS_CONTENT
      summary: Adds a message to a conversation
      tags:
        - Conversations
  "/conversations/{convId}/messages/flag":
    get:
      description: |-
        Gets a list of all the flagged messages in the given conversation.
        OauthScopes: READ_CONVERSATIONS, ORGANIZE_CONVERSATIONS
      operationId: getFlagItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
          description: Gets the list of flagged items
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - ORGANIZE_CONVERSATIONS
      summary: Gets a list of the flagged messages of a conversation
      tags:
        - Conversations
  "/conversations/{convId}/messages/{itemId}":
    delete:
      description: |-
        Marks a message in the given conversation as deleted. Deleted messages are still part of the conversation, but their content is no more visible. This operation can only be performed on behalf of the message's creator.
        OauthScopes: WRITE_CONVERSATIONS, DELETE_CONVERSATIONS_CONTENT
      operationId: deleteTextItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item that will be deleted
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationItem"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationItem"
          description: Gets the deleted text item object
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the item does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - DELETE_CONVERSATIONS_CONTENT
      summary: Deletes a message from a conversation
      tags:
        - Conversations
    post:
      description: |-
        Adds a message to the existing item. The added message will be a child item of the message with the given itemId.
        OauthScopes: WRITE_CONVERSATIONS
      operationId: addTextItemWithParent
      parameters:
        - description: The ID of the conversation to which the new item has to be added
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item to which the new one has to be added as child
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: A comma separated list of attachment IDs from the file API.
                  items:
                    maxLength: 4096
                    type: string
                  type: array
                content:
                  description: The actual content of the item
                  maxLength: 16384
                  type: string
                formMetaData:
                  description: The form meta data of the new text item
                  maxLength: 32768
                  type: string
                subject:
                  description: The subject (headline) of the new text item
                  maxLength: 255
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationItem"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationItem"
          description: Gets the new text item object
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the parent item does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
      summary: Adds a message to an item
      tags:
        - Conversations
    put:
      description: |-
        Updates the content or subject of the existing message. Only the creator of the message is allowed to perform this operation.
        OauthScopes: WRITE_CONVERSATIONS, UPDATE_CONVERSATION_CONTENT
      operationId: updateTextItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item to update
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: A comma separated list of attachment IDs from the file API.
                  items:
                    maxLength: 16000
                    type: string
                  type: array
                content:
                  description: The actual content of the item
                  maxLength: 16384
                  type: string
                formMetaData:
                  description: The form meta data of the new text item
                  maxLength: 32768
                  type: string
                subject:
                  description: The subject (headline) of the new text item
                  maxLength: 255
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConversationItem"
            application/xml:
              schema:
                $ref: "#/components/schemas/ConversationItem"
          description: Gets the modified text item object
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - UPDATE_CONVERSATION_CONTENT
      summary: Updates a message
      tags:
        - Conversations
  "/conversations/{convId}/messages/{itemId}/flag":
    delete:
      description: |-
        Removes the flag from a given message that is posted to the given conversation.
        OauthScopes: WRITE_CONVERSATIONS, ORGANIZE_CONVERSATIONS
      operationId: unFlagItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item that will be flagged
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The flagged state of item was successfully removed
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the item does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - ORGANIZE_CONVERSATIONS
      summary: Removes the flag from a message
      tags:
        - Conversations
    post:
      description: |-
        Adds a flag to the given message in the given conversation.
        OauthScopes: WRITE_CONVERSATIONS, ORGANIZE_CONVERSATIONS
      operationId: flagItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item that will be flagged
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                itemCreationTime:
                  description: The time when the item was created
                  maxLength: 2048
                  type: string
                parentId:
                  description: The ID of the item's parent
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          description: The item was successful flagged
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the item does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - ORGANIZE_CONVERSATIONS
      summary: Adds a flag to a message in a conversation
      tags:
        - Conversations
  "/conversations/{convId}/messages/{itemId}/like":
    delete:
      description: |-
        Removes a "like" from the given message in the given conversation
        OauthScopes: WRITE_CONVERSATIONS, UPDATE_CONVERSATION_CONTENT
      operationId: unlikeItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item that will be unliked
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The item was successful unliked
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the item does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - UPDATE_CONVERSATION_CONTENT
      summary: Removes a "like" from a message
      tags:
        - Conversations
    post:
      description: |-
        Adds a "like" to the given message in the given conversation
        OauthScopes: WRITE_CONVERSATIONS, UPDATE_CONVERSATION_CONTENT
      operationId: likeItem
      parameters:
        - description: The ID of the conversation to which the item belongs
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the item that will be liked
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The item was successful liked
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the conversation does not exist</li><li>the item does not exist</li><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - UPDATE_CONVERSATION_CONTENT
      summary: Adds a "like" to a message
      tags:
        - Conversations
  "/conversations/{convId}/moderators":
    delete:
      description: |-
        Removes a list of moderators from a conversation
        OauthScopes: WRITE_CONVERSATIONS, MODERATE_CONVERSATIONS
      operationId: removeModerators
      parameters:
        - description: The ID of the conversation where the moderators are removed
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                moderators:
                  description: The list of moderator ids to remove
                  items:
                    maxLength: 6500
                    type: string
                  type: array
              required:
                - moderators
              type: object
        required: true
      responses:
        "200":
          description: The moderators were successfully removed
        "400":
          description: Failure in moderators list
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MODERATE_CONVERSATIONS
      summary: Remove moderators
      tags:
        - Conversations
    post:
      description: |-
        Adds a list of moderators to a conversation
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: addModerators
      parameters:
        - description: The ID of the conversation to which the moderators are added
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                moderators:
                  description: "The list of moderator ids to add "
                  items:
                    maxLength: 6500
                    type: string
                  type: array
              required:
                - moderators
              type: object
        required: true
      responses:
        "200":
          description: The moderators were successfully added
        "400":
          description: Error reading list of moderators to add
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Add moderators
      tags:
        - Conversations
  "/conversations/{convId}/participants":
    get:
      description: |-
        Performs a search for participants. The max number of participants is configurable. If more participants are available a search pointer is returned for consecutive calls.
        OauthScopes: READ_CONVERSATIONS
      operationId: getParticipantsByConvId
      parameters:
        - description: The id of the conversation the participants are searched for.
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The page size of the hit list
          in: query
          name: pageSize
          required: true
          schema:
            format: int32
            maximum: 25
            minimum: 1
            type: number
        - description: Part of name to filter the results
          in: query
          name: name
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: Type of participant to filter the results
          in: query
          name: type
          required: false
          schema:
            default: REGULAR
            enum:
              - REGULAR
              - MODERATOR
              - GUEST
              - FORMER
              - BOT
            maxLength: 2048
            type: string
        - description: Pointer for paged output. Add to consecutive request to get next page
          in: query
          name: searchPointer
          required: false
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationParticipantsList"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationParticipantsList"
                type: array
          description: A list of conversations and items that match the term
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the user is no participant of the conversation</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Performs a list of participants
      tags:
        - Conversations
  "/conversations/{convId}/pins":
    get:
      description: |-
        Returns pinned topics of a conversation
        OauthScopes: READ_CONVERSATIONS
      operationId: getPinnedConversations
      parameters:
        - description: ID of the conversation
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/PinnedTopic"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/PinnedTopic"
                type: array
          description: The pinned topics
        "400":
          description: The request cannot be fulfilled due to bad syntax
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Returns pinned topics of a conversation
      tags:
        - Conversations
  "/conversations/{convId}/pins/{itemId}":
    delete:
      description: |-
        Unpins a topic of a conversation
        OauthScopes: READ_CONVERSATIONS
      operationId: unPinAConversation
      parameters:
        - description: The ID of the conversation
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the topic
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Returns the pinned conversation conversation after unpinning a topic
        "400":
          description: The request cannot be fulfilled due to bad syntax
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Unpins a topic of a conversation
      tags:
        - Conversations
    post:
      description: |-
        Pins a topic of a conversation
        OauthScopes: READ_CONVERSATIONS
      operationId: pinAConversation
      parameters:
        - description: The ID of the conversation
          in: path
          name: convId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The ID of the topic
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Conversation"
            application/xml:
              schema:
                $ref: "#/components/schemas/Conversation"
          description: Returns the pinned conversation conversation after pinning a topic
        "400":
          description: The request cannot be fulfilled due to bad syntax
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Pins a topic of a conversation
      tags:
        - Conversations
  /rtc/sessions:
    get:
      description: |-
        Gets a list of active RTCsessions
        OauthScopes: CALLS
      operationId: getActiveSessions
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/Label"
          description: The list of active RTCsessions was returned
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - CALLS
      summary: Gets a list of active sessions
      tags:
        - RTC
  /spaces:
    get:
      description: |-
        Get the spaces
        OauthScopes: READ_SPACE
      operationId: getSpaces
      parameters:
        - description: a beautiful timestamp
          in: query
          name: timestamp
          required: false
          schema:
            format: date-time
            type: string
        - description: the number of results you want
          in: query
          name: numberOfResults
          required: false
          schema:
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetSpacesResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/GetSpacesResult"
          description: Spaces successfully retrieved.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get the spaces
      tags:
        - Spaces
  /spaces/create:
    post:
      description: |-
        Create a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, CREATE_SPACE_CONTENT
      operationId: createSpace
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                accessModeType:
                  default: INTERNAL_ONLY
                  description: Access mode
                  enum:
                    - INTERNAL_ONLY
                    - INTERNAL_EXTERNAL
                  maxLength: 2048
                  type: string
                description:
                  description: description of the space
                  maxLength: 2048
                  type: string
                largePictureBase64:
                  description: large picture
                  maxLength: 256000
                  type: string
                name:
                  description: name of the space
                  maxLength: 2048
                  type: string
                role:
                  default: AUTHOR
                  description: role
                  enum:
                    - MODERATOR
                    - AUTHOR
                    - PARTICIPANT
                    - READER
                  maxLength: 2048
                  type: string
                smallPictureBase64:
                  description: small picture
                  maxLength: 256000
                  type: string
                status:
                  default: ENABLED
                  description: status
                  enum:
                    - ENABLED
                    - DISABLED
                  maxLength: 2048
                  type: string
                tags:
                  description: tags of the space
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                type:
                  default: SECRET
                  description: type
                  enum:
                    - OPEN
                    - CLOSED
                    - SECRET
                  maxLength: 2048
                  type: string
              required:
                - name
                - accessModeType
                - status
                - role
                - type
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantSpaceWrapper"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantSpaceWrapper"
          description: Space successfully created.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - CREATE_SPACE_CONTENT
      summary: Create a space
      tags:
        - Spaces
  /spaces/directory:
    get:
      description: |-
        Get the directory by a search query in ordered way
        OauthScopes: READ_SPACE
      operationId: getDirectory
      parameters:
        - description: sort the spaces by LAST_CONTENT, NAME, NUMBER_OF_USERS or CREATION_DATE
          in: query
          name: sortBy
          required: true
          schema:
            default: LAST_CONTENT
            enum:
              - LAST_CONTENT
              - NAME
              - NUMBER_OF_USERS
              - CREATION_DATE
            maxLength: 2048
            type: string
        - description: ascending or descending
          in: query
          name: sortOrder
          required: true
          schema:
            default: ASCENDING
            enum:
              - ASCENDING
              - DESCENDING
            maxLength: 2048
            type: string
        - description: filter for spaces (JOINED, REQUESTED, OPEN, CLOSED or NOT_JOINED_REQUESTED)
          in: query
          name: filter
          required: true
          schema:
            default: NONE
            enum:
              - NONE
              - JOINED
              - REQUESTED
              - OPEN
              - CLOSED
              - NOT_JOINED_REQUESTED
            maxLength: 2048
            type: string
        - description: some sort of query
          in: query
          name: query
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: page pointer, start with nothing and for next query use returned pointer
          in: query
          name: pagePointer
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: number of results to return, 25 by default.
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DirectoryResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/DirectoryResult"
          description: Spaces successfully retrieved.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get the directory
      tags:
        - Spaces
  "/spaces/exists/{name}":
    get:
      description: |-
        Find out if a space name already exists for non-secret spaces.
        OauthScopes: READ_SPACE
      operationId: existsSpaceName
      parameters:
        - description: The name to check for existence.
          in: path
          name: name
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Check performed successfully, returning true if found, false if not found.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Space name exists
      tags:
        - Spaces
  "/spaces/flag/{itemId}":
    put:
      description: |-
        flag a space item
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: flagSpaceItem
      parameters:
        - description: the id of the item you want to flag
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Space item successfully flagged
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: flag a space item
      tags:
        - Spaces
  /spaces/flagged:
    get:
      description: |-
        Get flagged items
        OauthScopes: READ_SPACE
      operationId: getFlaggedItems
      parameters:
        - description: before or after the time stamp
          in: query
          name: searchDirection
          required: true
          schema:
            default: BEFORE
            enum:
              - BEFORE
              - AFTER
            maxLength: 2048
            type: string
        - description: The timestamp according to which you want to retrieve the flagged items
          in: query
          name: timestamp
          required: true
          schema:
            format: date-time
            type: string
        - description: The searchpointer for the search (initially not set).
          in: query
          name: searchPointer
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: The number of results you want to retrieve.
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FlaggedItemsResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/FlaggedItemsResult"
          description: Flagged items successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get flagged items
      tags:
        - Spaces
  /spaces/ids:
    get:
      description: |-
        Get the spaces by their ids
        OauthScopes: READ_SPACE
      operationId: getSpacesByIds
      parameters:
        - description: an array of ids
          explode: true
          in: query
          name: ids
          required: true
          schema:
            items:
              maxLength: 2048
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetSpacesResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/GetSpacesResult"
          description: Spaces successfully retrieved.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get the spaces by their ids
      tags:
        - Spaces
  "/spaces/item/{itemId}":
    delete:
      description: |-
        deletes a space item
        OauthScopes: WRITE_SPACE, DELETE_SPACE_CONTENT
      operationId: deleteSpaceItem
      parameters:
        - description: the id of the spaceItem
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: the deletion was a success
        "400":
          description: invalid itemid
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - DELETE_SPACE_CONTENT
      summary: deletes a space item
      tags:
        - Spaces
  "/spaces/like/{itemId}":
    put:
      description: |-
        Like a space item
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: likeSpaceItem
      parameters:
        - description: The id of the item you want to like
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Space item successfully liked
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Like a space item
      tags:
        - Spaces
  "/spaces/likes/{itemId}":
    get:
      description: |-
        Get the likes of an item
        OauthScopes: READ_SPACE
      operationId: getLikes
      parameters:
        - description: The id of the item to retrieve the likes from
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The searchpointer for the search (initially not set).
          in: query
          name: searchPointer
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: The number of results you want to retrieve.
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantsLikeResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantsLikeResult"
          description: Likes successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get the likes of an item
      tags:
        - Spaces
  /spaces/search/add/recent:
    put:
      description: |-
        Add recent search of a client to search controller.
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, ORGANIZE_SPACE
      operationId: addRecentSpaceSearch
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                endTime:
                  description: The end time.
                  format: date-time
                  type: string
                scope:
                  description: The scope of the search.
                  enum:
                    - ALL
                    - SPACES
                    - TOPICBY
                    - FILES
                    - TAGS
                    - LABELS
                    - DATE
                  maxLength: 2048
                  type: string
                searchTerm:
                  description: The term to search for.
                  maxLength: 2048
                  type: string
                startTime:
                  description: The start time.
                  format: date-time
                  type: string
              required:
                - scope
                - searchTerm
              type: object
        required: true
      responses:
        "200":
          description: Search successfully added.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - ORGANIZE_SPACE
      summary: "Add recent search "
      tags:
        - Spaces
  "/spaces/search/cancel/{searchId}":
    put:
      description: |-
        Cancels a space search of a client.
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: cancelSpaceSearch
      parameters:
        - description: The id of the search to cancel
          in: path
          name: searchId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Search successfully cancelled.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: Cancels a space search of a client.
      tags:
        - Spaces
  /spaces/search/recent:
    get:
      description: |-
        Retrieve recent space searches for a user.
        OauthScopes: READ_SPACE
      operationId: getRecentSearches
      responses:
        "200":
          content:
            "*/*":
              schema:
                items:
                  $ref: "#/components/schemas/SpacesSearchTermResult"
                type: array
          description: Recent searches successfully retrieved (or none available).
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Retrieve recent space searches
      tags:
        - Spaces
  /spaces/search/startBasic:
    get:
      description: |-
        starts a basic search in spaces
        OauthScopes: READ_SPACE
      operationId: startBasicSpacesSearch
      parameters:
        - description: the scope of the search
          in: query
          name: scope
          required: true
          schema:
            enum:
              - ALL
              - SPACES
              - TOPICBY
              - FILES
              - TAGS
              - LABELS
              - DATE
            maxLength: 2048
            type: string
        - description: the term to search for
          in: query
          name: searchTerm
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: the starttime
          in: query
          name: startTime
          required: false
          schema:
            format: date-time
            type: string
        - description: the end time
          in: query
          name: endTime
          required: false
          schema:
            format: date-time
            type: string
        - description: list of prioritized spaces
          explode: true
          in: query
          name: prioritySpaces
          required: false
          schema:
            items:
              maxLength: 2048
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BasicSearchResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/BasicSearchResult"
          description: search successfully executed
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: starts a basic search in spaces
      tags:
        - Spaces
  /spaces/search/startDetailed:
    get:
      description: |-
        starts a detailed search in a space
        OauthScopes: READ_SPACE
      operationId: startDetailedSpaceSearch
      parameters:
        - description: the scope of the search
          in: query
          name: scope
          required: true
          schema:
            enum:
              - ALL
              - SPACES
              - TOPICBY
              - FILES
              - TAGS
              - LABELS
              - DATE
            maxLength: 2048
            type: string
        - description: the term to search for
          in: query
          name: searchTerm
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: the starttime
          in: query
          name: startTime
          required: false
          schema:
            format: date-time
            type: string
        - description: the end time
          in: query
          name: endTime
          required: false
          schema:
            format: date-time
            type: string
        - description: missing documentation
          in: query
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: missing documentation
          in: query
          name: searchId
          required: false
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/SpaceSearchResultDetailedBack"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/SpaceSearchResultDetailedBack"
                type: array
          description: search successfully executed
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: starts a detailed search in a space
      tags:
        - Spaces
  "/spaces/topic/{topicId}/updateTags":
    put:
      description: |-
        Update the tags of a topic  
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: updateTopicTags
      parameters:
        - description: The id of the topic
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                tags:
                  description: The tags to update
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              required:
                - tags
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceTopic"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceTopic"
          description: tags successfully updated
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Update tags
      tags:
        - Spaces
  "/spaces/unflag/{itemId}":
    put:
      description: |-
        Unflag a space item
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: unflagSpaceItem
      parameters:
        - description: the id of the item you want to unflag
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Space item successfully unflagged.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Unflag a space item
      tags:
        - Spaces
  "/spaces/unlike/{itemId}":
    put:
      description: |-
        Unlike a space item
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: unlikeSpaceItem
      parameters:
        - description: The id of the item you want to unlike
          in: path
          name: itemId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Space item successfully unliked.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Unlike a space item
      tags:
        - Spaces
  "/spaces/{id}":
    delete:
      description: |-
        Delete a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, DELETE_SPACE_CONTENT
      operationId: deleteSpace
      parameters:
        - description: id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Space successfully deleted.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - DELETE_SPACE_CONTENT
      summary: Delete a space
      tags:
        - Spaces
    put:
      description: |-
        Update a space
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: updateSpace
      parameters:
        - description: id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                accessModeType:
                  default: NO_CHANGE
                  description: Access mode
                  enum:
                    - INTERNAL_ONLY
                    - INTERNAL_EXTERNAL
                    - NO_CHANGE
                  maxLength: 2048
                  type: string
                description:
                  description: description of the space
                  maxLength: 2048
                  type: string
                largePictureBase64:
                  description: large picture
                  maxLength: 256000
                  type: string
                name:
                  description: name of the space
                  maxLength: 2048
                  type: string
                ownerId:
                  description: ownerid of the space
                  maxLength: 2048
                  type: string
                role:
                  default: NO_CHANGE
                  description: role
                  enum:
                    - MODERATOR
                    - AUTHOR
                    - PARTICIPANT
                    - READER
                    - NO_CHANGE
                  maxLength: 2048
                  type: string
                smallPictureBase64:
                  description: small picture
                  maxLength: 256000
                  type: string
                status:
                  default: ENABLED
                  description: status
                  enum:
                    - ENABLED
                    - DISABLED
                  maxLength: 2048
                  type: string
                tags:
                  description: tags of the space
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                type:
                  default: NO_CHANGE
                  description: type
                  enum:
                    - OPEN
                    - CLOSED
                    - SECRET
                    - NO_CHANGE
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantSpaceWrapper"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantSpaceWrapper"
          description: Space successfully updated.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Update a space
      tags:
        - Spaces
  "/spaces/{id}/join":
    post:
      description: |-
        Join a space
        OauthScopes: WRITE_SPACE
      operationId: joinSpace
      parameters:
        - description: The id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantSpaceWrapper"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantSpaceWrapper"
          description: Space successfully joined
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
      summary: Join a space
      tags:
        - Spaces
  "/spaces/{id}/labels/assign":
    post:
      description: |-
        Assign labels to space
        OauthScopes: WRITE_SPACE, ORGANIZE_SPACE
      operationId: assignLabels
      parameters:
        - description: The id of the space.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                labels:
                  description: The labels to assign to the space
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              required:
                - labels
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/LabelIds"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/LabelIds"
                type: array
          description: Labels successfully assigned
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - ORGANIZE_SPACE
      summary: Assign labels
      tags:
        - Spaces
  "/spaces/{id}/labels/unassign":
    delete:
      description: |-
        Unassign labels from a space
        OauthScopes: WRITE_SPACE, ORGANIZE_SPACE
      operationId: unassignLabels
      parameters:
        - description: The id of the space.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                labelIds:
                  description: missing documentation
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              required:
                - labelIds
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/LabelIds"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/LabelIds"
                type: array
          description: Labels successfully unassigned
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - ORGANIZE_SPACE
      summary: Unassign labels
      tags:
        - Spaces
  "/spaces/{id}/leave":
    post:
      description: |-
        Leave a space
        OauthScopes: WRITE_SPACE
      operationId: leaveSpace
      parameters:
        - description: The id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Space successfully left
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
      summary: Leave a space
      tags:
        - Spaces
  "/spaces/{id}/participant":
    post:
      description: |-
        Add a participant to a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: addParticipantsToSpace
      parameters:
        - description: The id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                role:
                  default: DEFAULT
                  description: The name of the role of the participant
                  enum:
                    - DEFAULT
                    - MODERATOR
                    - AUTHOR
                    - PARTICIPANT
                    - READER
                  maxLength: 2048
                  type: string
                userId:
                  description: The user id of the participant
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              required:
                - userId
                - role
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ParticipantAddResult"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ParticipantAddResult"
                type: array
          description: Successfully added participant.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: Add Participant to Space
      tags:
        - Spaces
  "/spaces/{id}/participant/remove":
    post:
      description: |-
        removes Participants from a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, ORGANIZE_SPACE
      operationId: v2RemoveParticipantsFromSpace
      parameters:
        - description: The id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                userIds:
                  description: "The ids of the participants to remove "
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              required:
                - userIds
              type: object
        required: true
      responses:
        "200":
          description: participants successfully removed
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - ORGANIZE_SPACE
      summary: Removes participants from a space
      tags:
        - Spaces
  "/spaces/{id}/participants":
    get:
      description: |-
        Get the participants of a space
        OauthScopes: READ_SPACE
      operationId: getSpaceParticipants
      parameters:
        - description: The id of the space.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: sort the spaces by LAST_CONTENT, NAME, NUMBER_OF_USERS or CREATION_DATE
          in: query
          name: sortBy
          required: true
          schema:
            default: NAME
            enum:
              - DISPLAY_NAME
              - NAME
              - FIRST_NAME
            maxLength: 2048
            type: string
        - description: ascending or descending
          in: query
          name: sortOrder
          required: true
          schema:
            default: ASCENDING
            enum:
              - ASCENDING
              - DESCENDING
            maxLength: 2048
            type: string
        - description: filtertype for participants (ACCESS_TYPE, ROLE or STATE)
          in: query
          name: filterType
          required: true
          schema:
            enum:
              - NONE
              - ACCESS_TYPE
              - ROLE
              - STATE
            maxLength: 2048
            type: string
        - description: value for the filter
          in: query
          name: filterValue
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: some sort of query
          in: query
          name: query
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: The search pointer (leave empty initially).
          in: query
          name: searchPointer
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: number of results to return, 25 by default.
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantsSearchResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantsSearchResult"
          description: Participants successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get the participants of a space
      tags:
        - Spaces
  "/spaces/{id}/participants/pending":
    get:
      description: |-
        Get the pending participants of a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: getPendingParticipants
      parameters:
        - description: The id of the space.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The search pointer (leave empty initially).
          in: query
          name: searchPointer
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: number of results to return, 25 by default.
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantsSearchResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantsSearchResult"
          description: Pending participants successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: Get the pending participants of a space
      tags:
        - Spaces
  "/spaces/{id}/pinnedTopics":
    get:
      description: |-
        Retrieve pinned topics of a space
        OauthScopes: READ_SPACE
      operationId: getPinnedTopics
      parameters:
        - description: The id of the space.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/SpacePinnedTopic"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/SpacePinnedTopic"
                type: array
          description: "Pinned topics successfully retrieved (or none available). "
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Retrieve pinned topics
      tags:
        - Spaces
  "/spaces/{id}/searchParticipantsToAdd":
    get:
      description: |-
        Finds participants to add to a space 
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, ORGANIZE_SPACE
      operationId: searchParticipantsToAdd
      parameters:
        - description: The id of the space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: "The query "
          in: query
          name: query
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/AddParticipantsSearchResult"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/AddParticipantsSearchResult"
                type: array
          description: participants successfully found
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - ORGANIZE_SPACE
      summary: "Finds participants to add to add to a space "
      tags:
        - Spaces
  "/spaces/{id}/searchSpaceParticipants":
    get:
      description: |-
        Get the participants of a space
        OauthScopes: READ_SPACE
      operationId: searchSpaceParticipants
      parameters:
        - description: The id of the space.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The query to search with. If searchpointer/hasMotre is returned, refine query.
          in: query
          name: query
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ParticipantsSearchResultLarge"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ParticipantsSearchResultLarge"
                type: array
          description: Participants successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Get the participants of a space
      tags:
        - Spaces
  "/spaces/{id}/updateTimestamp":
    put:
      description: |-
        Update read timestamp
        OauthScopes: READ_SPACE, WRITE_SPACE
      operationId: updateReadTimestamp
      parameters:
        - description: Id of a space
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                timestamp:
                  description: The new timestamp
                  format: date-time
                  type: string
              required:
                - timestamp
              type: object
        required: true
      responses:
        "200":
          description: Read timestamp successfully updated.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
            - WRITE_SPACE
      summary: Update read timestamp
      tags:
        - Spaces
  "/spaces/{spaceId}/participant":
    put:
      description: |-
        Update participant in space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, ORGANIZE_SPACE
      operationId: updateParticipantInSpace
      parameters:
        - description: Id of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                role:
                  description: updated role of participant
                  enum:
                    - MODERATOR
                    - AUTHOR
                    - PARTICIPANT
                    - READER
                  maxLength: 2048
                  type: string
                userId:
                  description: The id of the participant to update
                  maxLength: 2048
                  type: string
              required:
                - userId
                - role
              type: object
        required: true
      responses:
        "200":
          description: Role successfully updated
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - ORGANIZE_SPACE
      summary: Update participant
      tags:
        - Spaces
  "/spaces/{spaceId}/participant/import/":
    get:
      description: |-
        missing documentation
        OauthScopes: READ_SPACE
      operationId: getParticipantsImportData
      parameters:
        - description: missing documentation
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ParticipantsImportDataResult"
            application/xml:
              schema:
                $ref: "#/components/schemas/ParticipantsImportDataResult"
          description: missing documentation
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: missing documentation
      tags:
        - Spaces
  "/spaces/{spaceId}/participant/request":
    post:
      description: |-
        request access for a space
        OauthScopes: READ_SPACE
      operationId: requestSpaceAcces
      parameters:
        - description: Id of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                reason:
                  description: Reason why the Access has been requested
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          description: request is recieved
        "400":
          description: invalid parameter
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: request access for a space
      tags:
        - Spaces
  "/spaces/{spaceId}/participant/{participantId}/deny":
    post:
      description: |-
        Deny access for a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: denySpaceAcces
      parameters:
        - description: Id of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Id of the participant
          in: path
          name: participantId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                reason:
                  description: Reason why the request has been denied
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          description: Access denied
        "400":
          description: Invalid parameter
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: Deny access for a space
      tags:
        - Spaces
  "/spaces/{spaceId}/participant/{participantId}/grant":
    post:
      description: |-
        grant access for a space
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: grantSpaceAcces
      parameters:
        - description: Id of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Id of the participant
          in: path
          name: participantId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: access granted
        "400":
          description: invalid parameter
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: grant access for a space
      tags:
        - Spaces
  "/spaces/{spaceId}/topic":
    post:
      description: |-
        creates a new space topic
        OauthScopes: WRITE_SPACE, MANAGE_SPACE, CREATE_SPACE_CONTENT
      operationId: createSpaceTopic
      parameters:
        - description: The ID of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: the attached files
                  items:
                    maxLength: 16000
                    type: string
                  type: array
                complex:
                  description: complex or not
                  type: boolean
                content:
                  description: The content of this topic
                  maxLength: 200000
                  type: string
                contentTags:
                  description: the content tags
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                formMetaData:
                  description: The formMetaData
                  maxLength: 2048
                  type: string
                mentionedUser:
                  description: A list of mentioned users
                  maxLength: 2048
                  type: string
                subject:
                  description: The subject of the topic
                  maxLength: 2048
                  type: string
                tags:
                  description: the tags
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              required:
                - subject
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceTopic"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceTopic"
          description: returns the created topic
        "400":
          description: something went wrong
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
            - CREATE_SPACE_CONTENT
      summary: creates a new space topic
      tags:
        - Spaces
  "/spaces/{spaceId}/topic/{topicId}":
    get:
      description: |-
        Gets a number of Space replies with a matching topic
        OauthScopes: READ_SPACE
      operationId: v2GetTopicWithReplies
      parameters:
        - description: Id of the topic
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: ID of the topic
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The number of replies
          in: query
          name: numberOfReplies
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceTopicWithReplies"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceTopicWithReplies"
          description: Returns the replies with a topic
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Gets space replies and a topic
      tags:
        - Spaces
    put:
      description: |-
        Updates a topic
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: updateSpaceTopic
      parameters:
        - description: ID of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Id of the topic to update
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: the attached files
                  items:
                    maxLength: 16000
                    type: string
                  type: array
                complex:
                  description: complex or not
                  type: boolean
                content:
                  description: content of the topic
                  maxLength: 200000
                  type: string
                contentTags:
                  description: the content tags
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                formMetaData:
                  description: formMetaData to update
                  maxLength: 2048
                  type: string
                mentionedUsers:
                  description: the updated mentioned users
                  items:
                    maxLength: 2048
                    type: string
                  type: array
                subject:
                  description: the subject of the topic
                  maxLength: 2048
                  type: string
                tags:
                  description: the tags
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceTopic"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceTopic"
          description: Returns the updated space topic
        "400":
          description: Http_bad_request
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Updates a topic
      tags:
        - Spaces
  "/spaces/{spaceId}/topic/{topicId}/reply":
    get:
      description: |-
        Gets a number of Space replies
        OauthScopes: READ_SPACE
      operationId: getSpaceReplies
      parameters:
        - description: Id of the containing space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Id of the topic
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Search before or after a certain timestamp
          in: query
          name: searchDirection
          required: true
          schema:
            default: BEFORE
            enum:
              - BEFORE
              - AFTER
            maxLength: 2048
            type: string
        - description: Timestamp to start the search from
          in: query
          name: timestamp
          required: false
          schema:
            format: date-time
            type: string
        - description: The number of results that should be returned
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceReply"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceReply"
          description: Returns the replies
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Gets space replies
      tags:
        - Spaces
    post:
      description: |-
        creates a reply to a topic
        OauthScopes: WRITE_SPACE
      operationId: createReply
      parameters:
        - description: ID of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: ID of the topic
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: the attached files
                  items:
                    maxLength: 16000
                    type: string
                  type: array
                complex:
                  description: complex or not
                  type: boolean
                content:
                  description: Content of the reply
                  maxLength: 200000
                  type: string
                formMetaData:
                  description: formMetaData used in the reply
                  maxLength: 2048
                  type: string
                mentionedUser:
                  description: the user mentioned in the reply
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceReply"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceReply"
          description: returns the created reply
        "400":
          description: invalid input
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
      summary: creates a reply to a topic
      tags:
        - Spaces
  "/spaces/{spaceId}/topic/{topicId}/reply/{replyId}":
    put:
      description: |-
        Updates a space reply
        OauthScopes: WRITE_SPACE, UPDATE_SPACE_CONTENT
      operationId: updateSpaceReply
      parameters:
        - description: ID of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: ID of the topic
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: id of the reply
          in: path
          name: replyId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                attachments:
                  description: the attached files
                  items:
                    maxLength: 16000
                    type: string
                  type: array
                complex:
                  description: complex or not
                  type: boolean
                content:
                  description: the content of the reply
                  maxLength: 200000
                  type: string
                formMetaData:
                  description: formMetaData of the reply
                  maxLength: 2048
                  type: string
                mentionedUsers:
                  description: the mentioned users in the reply
                  items:
                    maxLength: 2048
                    type: string
                  type: array
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SpaceReply"
            application/xml:
              schema:
                $ref: "#/components/schemas/SpaceReply"
          description: The updated space reply
        "400":
          description: Invalid input
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - UPDATE_SPACE_CONTENT
      summary: Updates a space reply
      tags:
        - Spaces
  "/spaces/{spaceId}/topics":
    get:
      description: |-
        Gets a number of Space topics
        OauthScopes: READ_SPACE
      operationId: getSpaceTopics
      parameters:
        - description: Id of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Search before or after a certain timestamp
          in: query
          name: searchDirection
          required: true
          schema:
            default: BEFORE
            enum:
              - BEFORE
              - AFTER
            maxLength: 2048
            type: string
        - description: Timestamp to start the search from
          in: query
          name: timestamp
          required: false
          schema:
            format: date-time
            type: string
        - description: The number of results that should be returned
          in: query
          name: numberOfResults
          required: false
          schema:
            default: 25
            format: int32
            maximum: 255
            minimum: 0
            type: number
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/SpaceTopic"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/SpaceTopic"
                type: array
          description: Returns the the topics
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_SPACE
      summary: Gets space topics
      tags:
        - Spaces
  "/spaces/{spaceId}/welcomebox/{content}":
    put:
      description: |-
        Update content of the welcome box of a space
        OauthScopes: MANAGE_SPACE, WRITE_SPACE
      operationId: v2UpdateWelcomeBoxContent
      parameters:
        - description: Id of the space
          in: path
          name: spaceId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The new content
          in: path
          name: content
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                displayWelcomeBox:
                  default: false
                  description: True, false, default:false
                  type: boolean
              type: object
      responses:
        "200":
          description: missing documentation
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - MANAGE_SPACE
            - WRITE_SPACE
      summary: Update content of welcome box
      tags:
        - Spaces
  "/spaces/{topicId}/pin":
    put:
      description: |-
        Pin a topic
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: pinTopic
      parameters:
        - description: The id of the topic
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                position:
                  description: The position to pin to
                  format: int32
                  maximum: 255
                  minimum: 0
                  type: number
              required:
                - position
              type: object
        required: true
      responses:
        "200":
          description: Topic successfully pinned.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: Pin a topic
      tags:
        - Spaces
  "/spaces/{topicId}/unpin":
    put:
      description: |-
        Unpin a topic
        OauthScopes: WRITE_SPACE, MANAGE_SPACE
      operationId: unpinTopic
      parameters:
        - description: The id of the topic to unpin
          in: path
          name: topicId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: Topic successfully unpinned.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_SPACE
            - MANAGE_SPACE
      summary: Unpin a topic
      tags:
        - Spaces
  /telephony/deviceInfos:
    get:
      description: |-
        Get the device infos of the requesting user
        OauthScopes: READ_USER_PROFILE
      operationId: v2GetDeviceInfos
      responses:
        "200":
          content:
            "*/*":
              schema:
                items:
                  $ref: "#/components/schemas/V2DistributedClientInfo"
                type: array
          description: Device infos successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER_PROFILE
      summary: Get devices infos
      tags:
        - Telephony
  /telephony/telephonyConversationId:
    get:
      description: |-
        Get telephony conversation id for requesting client
        OauthScopes: READ_CONVERSATIONS
      operationId: v2GetTelephonyConversationId
      responses:
        "200":
          description: Telephony conversation id successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Get telephony conversation id
      tags:
        - Telephony
  "/telephony/{telephonyConversationId}/journal":
    get:
      description: |-
        Get telephony journal
        OauthScopes: READ_CONVERSATIONS
      operationId: getJournalEntries
      parameters:
        - description: The id of the telephony conversation
          in: path
          name: telephonyConversationId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: A timestamp, default = 0
          in: query
          name: timestamp
          required: false
          schema:
            default: 0
            format: int64
            maximum: 9223372036854776000
            minimum: 0
            type: number
        - description: The number of entries, between 1 and 100, default = 25
          in: query
          name: numberOfEntries
          required: false
          schema:
            default: 25
            format: int32
            maximum: 100
            minimum: 1
            type: number
        - description: The direction (BEFORE||AFTER||BOTH), default = AFTER
          in: query
          name: direction
          required: false
          schema:
            default: AFTER
            enum:
              - AFTER
              - BEFORE
              - BOTH
            maxLength: 2048
            type: string
        - description: The filter, ALL||MISSED||DIALED||RECEIVED||DIVERTED||VOICEMAILS||UNHERAD_VOICEMAILS. default = ALL
          in: query
          name: journalFilter
          required: false
          schema:
            default: ALL
            enum:
              - ALL
              - MISSED
              - DIALED
              - RECEIVED
              - DIVERTED
              - VOICEMAILS
              - UNHERAD_VOICEMAILS
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/ConversationItem"
                type: array
          description: Journal successfully retrieved
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
      summary: Get journal
      tags:
        - Telephony
  /users:
    get:
      description: |-
        Search for users based on an email address or username
        OauthScopes: READ_USER
      operationId: searchUser
      parameters:
        - description: Search for a user by name
          in: query
          name: name
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: The users which match the search criteria
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: The search term did not much any results
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Search for users
      tags:
        - Users
  /users/labels:
    get:
      description: |-
        Returns all labels of the user that were defined either explicit or implicit via assignment to conversations.
        OauthScopes: READ_USER_PROFILE, ORGANIZE_CONVERSATIONS
      operationId: getLabel
      responses:
        "200":
          content:
            "*/*":
              schema:
                items:
                  $ref: "#/components/schemas/Label"
                type: array
          description: List of labels
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER_PROFILE
            - ORGANIZE_CONVERSATIONS
      summary: Returns all user labels
      tags:
        - Users
    post:
      description: |-
        Add a label to the list of user labels
        OauthScopes: WRITE_USER_PROFILE, ORGANIZE_CONVERSATIONS
      operationId: addLabel
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                label:
                  description: The label value to add
                  maxLength: 2048
                  type: string
              required:
                - label
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Label"
            application/xml:
              schema:
                $ref: "#/components/schemas/Label"
          description: The label was successfully added
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_USER_PROFILE
            - ORGANIZE_CONVERSATIONS
      summary: Add a user label
      tags:
        - Conversations
  "/users/labels/{labelId}":
    delete:
      description: |-
        Remove a label from the list of user labels
        OauthScopes: WRITE_USER_PROFILE, ORGANIZE_CONVERSATIONS
      operationId: removeLabel
      parameters:
        - description: The label value to remove, either the unique ID or the label value
          in: path
          name: labelId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Label"
            application/xml:
              schema:
                $ref: "#/components/schemas/Label"
          description: The label was successfully removed
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>a field constraint is violated</li><li>the label does not exist</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_USER_PROFILE
            - ORGANIZE_CONVERSATIONS
      summary: Remove a user label
      tags:
        - Conversations
  /users/list:
    get:
      description: |-
        Search multiple users given by id or email address.
        OauthScopes: READ_USER
      operationId: searchUsersList
      parameters:
        - description: Multiple email addresses or UUIDs.
          explode: true
          in: query
          name: name
          required: true
          schema:
            items:
              maxLength: 2048
              type: string
            type: array
        - description: Boolean, return full user info?
          in: query
          name: returnFullUserInfo
          required: false
          schema:
            default: false
            type: boolean
        - description: Boolean, lookup secondary email?
          in: query
          name: secondaryLookup
          required: false
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: At least one user was found and returned in a list
        "400":
          description: Bad Request
        "401":
          description: The authentication was not successful
        "404":
          description: No user was found
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Search multiple users.
      tags:
        - Users
  /users/presence:
    get:
      description: |-
        Gets the presence status of the users whose IDs or email addresses are given.
        OauthScopes: READ_USER
      operationId: getPresence
      parameters:
        - description: A list of unique user IDs or email addresses of the users you want to query the presence state for
          explode: true
          in: query
          name: userIds
          required: true
          schema:
            items:
              maxLength: 6500
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/Presence"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/Presence"
                type: array
          description: The presence states
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the userIds passed as parameter are not provided in the correct format</li><li> or a valid email address</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: One or more of the users do not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Gets the presence status
      tags:
        - Users
    put:
      description: |-
        Updates the presence status of the authenticated user.
        OauthScopes: WRITE_USER_PROFILE, MANAGE_PRESENCE
      operationId: setUserPresence
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                clearDND:
                  default: false
                  description: Clear the DND of the user.
                  type: boolean
                dndUntil:
                  description: Timestamp until the DND state of the user is active. This field is mandatory when the state is set to DND.
                  format: date-time
                  type: string
                state:
                  description: The user's presence.
                  maxLength: 2048
                  type: string
                statusMessage:
                  description: An optional status message that is displayed instead of the location
                  maxLength: 2048
                  type: string
              required:
                - state
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Presence"
            application/xml:
              schema:
                $ref: "#/components/schemas/Presence"
          description: The presence states
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the presence state is DND and the data format of the passed dndUntil is missing </li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_USER_PROFILE
            - MANAGE_PRESENCE
      summary: Updates the presence status
      tags:
        - Users
  /users/profile:
    get:
      description: |-
        Gets the authenticated user's profile information.
        OauthScopes: READ_USER_PROFILE
      operationId: getProfile
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/User"
          description: Gets the authenticated user's profile information
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER_PROFILE
      summary: Gets the authenticated user's profile information
      tags:
        - Users
    put:
      description: |-
        Updates the user profile of the authenticated user
        OauthScopes: WRITE_USER_PROFILE
      operationId: updateProfile
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                firstname:
                  description: The new firstname of the user
                  maxLength: 128
                  type: string
                jobTitle:
                  description: The new job title of the user
                  maxLength: 128
                  type: string
                lastname:
                  description: The new lastname of the user
                  maxLength: 128
                  type: string
                locale:
                  description: The new locale of the user. One of EN_US, DE_DE, EN_GB, ES_ES, FR_FR, IT_IT, RU_RU, ZH_HANS_CN.
                  enum:
                    - EN_US
                    - DE_DE
                    - EN_GB
                    - ES_ES
                    - FR_FR
                    - IT_IT
                    - RU_RU
                    - ZH_HANS_CN
                    - PT_BR
                    - NL_NL
                    - CA_ES
                  maxLength: 5
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
            application/xml:
              schema:
                $ref: "#/components/schemas/User"
          description: The modified user object.
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the user does not exist</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_USER_PROFILE
      summary: Updates the user profile
      tags:
        - Conversations
  /users/supportinfo:
    get:
      description: |-
        Gets the support information for the tenant of the requesting user
        OauthScopes: READ_USER_PROFILE
      operationId: getSupportInfo
      responses:
        "200":
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/SupportInfo"
          description: The operation was successful, the support information returned
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER_PROFILE
      summary: Gets the support information
      tags:
        - Users
  "/users/{emailAddress}/getUserByEmail":
    get:
      description: |-
        Get user by first or secondary email address
        OauthScopes: READ_USER_PROFILE
      operationId: getUserByEmailAddress
      parameters:
        - description: The main or secondary email address of a user.
          in: path
          name: emailAddress
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: secondaryLookup enabled (default = false)
          in: query
          name: secondaryLookup
          required: false
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
            application/xml:
              schema:
                $ref: "#/components/schemas/User"
          description: User successfully retrieved
        "401":
          description: The authentication was not successful
        "404":
          description: "User not found or not a session guest. "
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER_PROFILE
      summary: Get user by email
      tags:
        - Users
  "/users/{id}":
    get:
      description: |-
        Gets the profile information of the user with the given ID.
        OauthScopes: READ_USER
      operationId: getUserById
      parameters:
        - description: The unique ID or the email address of the user to fetch
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/User"
            application/xml:
              schema:
                $ref: "#/components/schemas/User"
          description: The operation was successful, the user profile is returned
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the data format of the passed user does not match either a UUID (user primary key)</li><li> or an valid email address</li><li>or a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: The user does not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Gets the user's profile information
      tags:
        - Users
  "/users/{id}/presence":
    get:
      description: |-
        Gets the presence status of the users whose ID or email address is given.
        OauthScopes: READ_USER
      operationId: getUserPresence
      parameters:
        - description: The unique ID or the email address of the user to fetch.
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Presence"
            application/xml:
              schema:
                $ref: "#/components/schemas/Presence"
          description: The presence state
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the data format of the passed user does not match either a UUID (user primary key)</li><li> or a valid email address</li><li>or a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: The user does not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Gets the presence status
      tags:
        - Users
  /webhooks:
    delete:
      description: |-
        Unregisters all webHooks of the authenticated user
        OauthScopes: READ_CONVERSATIONS, READ_USER
      operationId: removeWebHooks
      responses:
        "204":
          description: The operation was successful
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - READ_USER
      summary: Removes all webHooks
      tags:
        - Outgoing Webhooks
    get:
      description: |-
        Gets the list of webHooks registered for this user or API.
        OauthScopes: READ_CONVERSATIONS, READ_USER
      operationId: getWebHook
      responses:
        "200":
          content:
            "*/*":
              schema:
                items:
                  $ref: "#/components/schemas/WebHook"
                type: array
          description: The list of registered webHooks
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - READ_USER
      summary: Gets a list of webHooks
      tags:
        - Outgoing Webhooks
    post:
      description: |-
        Registers the webHook with the given filter and callback URL.
        OauthScopes: READ_CONVERSATIONS, READ_USER
      operationId: addWebHook
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                filter:
                  description: "A filter for WebHooks that checks for a list of configured events. This filter will use a regular expression to determine if it is interested in the events or not. The event itself is converted into a string of format AREA.EVENT. Examples: CONVERSATION.CREATE / USER.UPDATE"
                  items:
                    enum:
                      - CONVERSATION.CREATE
                      - CONVERSATION.UPDATE
                      - CONVERSATION.ADD_ITEM
                      - CONVERSATION.UPDATE_ITEM
                      - USER.INCOMING_CALL
                      - USER.USER_UPDATED
                      - USER.USER_SETTING_UPDATED
                      - USER.SUBMIT_FORM_DATA
                    maxLength: 2048
                    type: string
                  type: array
                url:
                  description: WebHook callback URL
                  maxLength: 2048
                  type: string
              required:
                - url
                - filter
              type: object
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebHook"
            application/xml:
              schema:
                $ref: "#/components/schemas/WebHook"
          description: The webHook was successfully registered
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>an invalid URL</li><li>an invalid event filter</li><li>an unsupported event filter</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "403":
          description: The maximum number of allowed webHook is reached
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - READ_USER
      summary: Registers a WebHook
      tags:
        - Outgoing Webhooks
  "/webhooks/incoming/create/{conversationId}":
    post:
      description: |-
        Create a new webhook. Conversation must exist and creater has to be participant.
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: createIncomingWebhook
      parameters:
        - description: The id of the conversation.
          in: path
          name: conversationId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: The name of the webhook
          in: query
          name: name
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: The id of the user of the webhook
          in: query
          name: userId
          required: false
          schema:
            maxLength: 2048
            type: string
        - description: A short description of the webhook
          in: query
          name: description
          required: false
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IncomingWebhook"
            application/xml:
              schema:
                $ref: "#/components/schemas/IncomingWebhook"
          description: The created webhook object as JSON string.
        "400":
          description: Could not create webhook.
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Create a new webhook for existing conversation.
      tags:
        - Incoming Webhooks
  "/webhooks/incoming/user/{userId}":
    get:
      description: |-
        Get all webhooks of a special user.
        OauthScopes: READ_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: getIncomingWebhookByUser
      parameters:
        - description: The id of the user.
          in: path
          name: userId
          required: true
          schema:
            maxLength: 2048
            type: string
        - description: Max number of hooks per request. Default is 25
          in: query
          name: pagesize
          required: false
          schema:
            default: 25
            format: int32
            maximum: 100
            minimum: 1
            type: number
        - description: Start of search if consequtive call.
          in: query
          name: searchpointer
          required: false
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/IncomingWebhook"
                type: array
            application/xml:
              schema:
                items:
                  $ref: "#/components/schemas/IncomingWebhook"
                type: array
          description: Result successful
        "400":
          description: The request cannot be fulfilled due to bad syntax
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Get all webhooks of a special user.
      tags:
        - Incoming Webhooks
  "/webhooks/incoming/{webhookId}":
    delete:
      description: |-
        Delete a new webhook. Webhook must exist
        OauthScopes: WRITE_CONVERSATIONS, MANAGE_CONVERSATIONS
      operationId: deleteIncomingWebhook
      parameters:
        - description: The id of the webhook
          in: path
          name: webhookId
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          description: The webhook was deleted
        "401":
          description: The authentication was not successful
        "404":
          description: Could not find webhook
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - WRITE_CONVERSATIONS
            - MANAGE_CONVERSATIONS
      summary: Delete an existing webhook
      tags:
        - Incoming Webhooks
    post:
      description: Post text items to conversations via slack apps.
      operationId: postWebhookAsSlackMessage
      parameters:
        - description: The id of the webhook.
          in: path
          name: webhookId
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: "#/components/schemas/IncomingWebhookSlackMessage"
        description: Attached JSON object in slack format.
        required: true
      responses:
        "200":
          description: Message was posted to conversation
        "400":
          description: The request cannot be fulfilled due to bad syntax
        "401":
          description: The authentication was not successful
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      summary: Post text item for conversation via webhook.
      tags:
        - Incoming Webhooks
  /webhooks/presence:
    post:
      description: |-
        Registers a webHook that has a presence filter with the given URL and userIds. There is a maximum number of userIds allowed
        OauthScopes: READ_USER
      operationId: addPresenceWebHook
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                url:
                  description: WebHook callback URL
                  maxLength: 2048
                  type: string
                userIds:
                  description: The IDs of the users to subscribe for their presence
                  items:
                    maxLength: 6500
                    type: string
                  type: array
              required:
                - url
                - userIds
              type: object
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebHook"
            application/xml:
              schema:
                $ref: "#/components/schemas/WebHook"
          description: The webHook was successfully registered
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>an invalid URL</li><li>one or more invalid userIds</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "403":
          description: The maximum number of allowed userIds is reached or the maximum number of allowed webHook is reached
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Registers Presence WebHook registration
      tags:
        - Outgoing Webhooks
  "/webhooks/presence/{id}":
    put:
      description: |-
        Updates a registration of a webHook that has a presence filter. The update can be performed either on the URL and/or the userIds. The new userIds, if any, will override any existing userIds.
        OauthScopes: READ_USER
      operationId: updatePresenceWebHook
      parameters:
        - description: The unique ID of the webHook to update
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                url:
                  description: WebHook callback URL
                  maxLength: 2048
                  type: string
                userIds:
                  description: The IDs of the users to subscribe for their presence
                  items:
                    maxLength: 6500
                    type: string
                  type: array
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebHook"
            application/xml:
              schema:
                $ref: "#/components/schemas/WebHook"
          description: The webHook registration was successfully updated
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>an invalid URL</li><li>one or more invalid userIds</li><li>no input parameter is provided</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "403":
          description: The maximum number of allowed userIds is reached
        "404":
          description: The webHook does not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_USER
      summary: Updates a Presence WebHook registration
      tags:
        - Outgoing Webhooks
  "/webhooks/{id}":
    delete:
      description: |-
        Unregisters the webHook with the given ID.
        OauthScopes: READ_CONVERSATIONS, READ_USER
      operationId: removeWebHook
      parameters:
        - description: The unique ID of the webHook to remove
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "204":
          description: The operation was successful
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the data format of the given id does not match a UUID</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: The webHook does not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - READ_USER
      summary: Removes a registered webHook
      tags:
        - Outgoing Webhooks
    get:
      description: |-
        Gets the registered webHook with the given ID.
        OauthScopes: READ_CONVERSATIONS, READ_USER
      operationId: getWebHookById
      parameters:
        - description: The unique ID of the webHook to fetch
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebHook"
            application/xml:
              schema:
                $ref: "#/components/schemas/WebHook"
          description: The registered webHook with the given ID
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>the data format of the given id does not match a UUID</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: The webHook does not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - READ_USER
      summary: Gets a webHook
      tags:
        - Outgoing Webhooks
    put:
      description: |-
        Updates a webHook registration with the given filter and callback URL.
        OauthScopes: READ_CONVERSATIONS, READ_USER
      operationId: updateWebHook
      parameters:
        - description: The unique ID of the webHook to update
          in: path
          name: id
          required: true
          schema:
            maxLength: 2048
            type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                filter:
                  description: "A filter for WebHooks that checks for a list of configured events. This filter will use a regular expression to determine if it is interested in the events or not. The event itself is converted into a string of format AREA.EVENT. Examples: CONVERSATION.CREATE / USER.UPDATE"
                  items:
                    enum:
                      - CONVERSATION.CREATE
                      - CONVERSATION.UPDATE
                      - CONVERSATION.ADD_ITEM
                      - CONVERSATION.UPDATE_ITEM
                      - USER.INCOMING_CALL
                      - USER.USER_UPDATED
                      - USER.USER_SETTING_UPDATED
                      - USER.SUBMIT_FORM_DATA
                    maxLength: 2048
                    type: string
                  type: array
                url:
                  description: WebHook callback URL
                  maxLength: 2048
                  type: string
              type: object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebHook"
            application/xml:
              schema:
                $ref: "#/components/schemas/WebHook"
          description: The webHook registration was successfully updated
        "400":
          description: "The request cannot be fulfilled due to bad syntax: <ul><li>an invalid URL</li><li>an invalid event filter</li><li>an unsupported event filter</li><li>no input parameter is provided</li><li>a field constraint is violated</li></ul>"
        "401":
          description: The authentication was not successful
        "404":
          description: The webHook does not exist
        "500":
          description: The server encountered an internal error and the operation could not be completed.
        "503":
          description: The server is currently unable to receive requests.
      security:
        - oauth:
            - ALL
            - READ_CONVERSATIONS
            - READ_USER
      summary: Updates a WebHook registration
      tags:
        - Outgoing Webhooks
components:
  requestBodies:
    addParticipantCommunity:
      content:
        application/x-www-form-urlencoded:
          schema:
            properties:
              participants:
                description: The IDs or the unique email addresses of the Circuit users that should to be added.
                items:
                  maxLength: 6500
                  type: string
                type: array
            required:
              - participants
            type: object
      required: true
  schemas:
    AddParticipantsSearchResult:
      properties:
        department:
          description: The department of the participant
          type: string
        firstName:
          description: The first name of the participant
          type: string
        isMember:
          description: is the participant a member, true or false
          type: boolean
        jobTitle:
          description: The job title of the participant
          type: string
        lastName:
          description: The last name of the participant
          type: string
        smallImageUri:
          description: The uri of the small picture of the participant
          type: string
        tenantId:
          description: the tenant id of the participant
          type: string
        userId:
          description: The id of the participant
          type: string
    Attachment:
      properties:
        creationTime:
          description: The creation time of the attachment.
          format: int64
          type: number
        creatorId:
          description: The id of the creator of the attachment.
          type: string
        deleteUrl:
          description: The delete URL of the attachment.
          type: string
        fileId:
          description: The id of the attachment file.
          type: string
        fileName:
          description: The name of the attachment file.
          type: string
        itemId:
          description: The item id to which the attachment is attached.
          type: string
        mimeType:
          description: The mime type of the attachment file.
          type: string
        modificationTime:
          description: The modification time of the attachment.
          format: int64
          type: number
        size:
          description: The size of the attachment file.
          format: int64
          type: number
        url:
          description: The URL of the attachment.
          type: string
    BasicSearchResult:
      properties:
        spaces:
          description: List of spaces
          items:
            $ref: "#/components/schemas/Space"
          type: array
        status:
          description: The status of the search (NORESULT, ERROR, TIMEOUT, MORERESULT)
          type: string
    BridgeNumber:
      properties:
        bridgeNumber:
          description: The number that has to be called to join the real time session of a conversation
          type: string
        country:
          description: The country where the bridge is hosted
          type: string
        isMostUsed:
          description: Is most used
          type: boolean
        locale:
          description: The locale of the bridge
          type: string
        name:
          description: The name / identifier of the bridge
          type: string
        type:
          description: Information of the billing for the call, i.e. if the caller has to pay or not for the call
          type: string
    Conversation:
      properties:
        avatar:
          description: The URL of the small avatar image of the conversation
          type: string
        avatarLarge:
          description: The URL of the large avatar image of the conversation
          type: string
        convId:
          description: The ID of the conversation
          type: string
        creationTime:
          description: UTC timestamp when the conversation was created
          format: int64
          type: number
        creatorId:
          description: The ID of the user who created the conversation
          type: string
        creatorTenantId:
          description: The ID of the Circuit domain (tenant) where the creator of the conversation belongs to
          type: string
        description:
          description: The description of the conversation. This field is available only for conversations with type COMMUNITY
          type: string
        isGuestAccessDisabled:
          description: Indicates whether guest access to the conversation is disabled or not
          type: boolean
        isModerated:
          description: Indicates whether the conversation is moderated or not. In a moderated conversation only participants who have been assigned the role of a moderator are allowed to add or remove participants into the conversation
          type: boolean
        modificationTime:
          description: UTC timestamp when the conversation was modified. A conversation is modified when any of the conversation object fields change but not when conversation items are added or edited
          format: int64
          type: number
        participants:
          description: Array of active participants
          items:
            type: string
          type: array
        topic:
          description: The title of the conversation. Conversations of type DIRECT cannot have a title
          type: string
        topicPlaceholder:
          description: The title of the conversation. Conversations of type DIRECT cannot have a title
          type: string
        type:
          description: "The type of the conversation. It can be one of the following: DIRECT, GROUP, COMMUNITY or LARGE"
          type: string
    ConversationDetails:
      properties:
        bridgeNumbers:
          description: A list of bridge numbers which can be used to dial in to the real time session via phone
          items:
            $ref: "#/components/schemas/BridgeNumber"
          type: array
        convId:
          description: missing documentation
          type: string
        conversationCreatorId:
          description: The user ID of the conversation creator
          type: string
        isModerationAllowed:
          description: Indicates if the conversation is allowed to be moderated
          type: boolean
        isRecordingAllowed:
          description: Indicates if the conversation is allowed to be recorded
          type: boolean
        link:
          description: A link that can be used in a browser to join the session
          type: string
        pin:
          description: The PIN to join a real time session via phone
          type: string
    ConversationItem:
      properties:
        attachments:
          description: Array of files attached to the item
          items:
            $ref: "#/components/schemas/Attachment"
          type: array
        convId:
          description: The ID of the conversation the item belongs to
          type: string
        creationTime:
          description: UTC timestamp when the item was created
          format: int64
          type: number
        creatorId:
          description: The ID of the user who created the conversation item
          type: string
        includeInUnreadCount:
          description: Indicates whether the item is included in the unread message count
          type: boolean
        itemId:
          description: The ID of the item
          type: string
        modificationTime:
          description: UTC timestamp when the conversation was modified
          format: int64
          type: number
        rtc:
          $ref: "#/components/schemas/RtcItem"
        system:
          $ref: "#/components/schemas/SystemItem"
        text:
          $ref: "#/components/schemas/ConversationTextItem"
        type:
          description: The type of the conversation item. It can be one of the following TEXT, SYSTEM or RTC
          type: string
    ConversationParticipant:
      properties:
        displayName:
          description: The display name of the participant.
          type: string
        firstName:
          description: The first name of the participant.
          type: string
        isDeleted:
          description: If the participant is deleted.
          type: boolean
        largeImageUri:
          description: The large image uri of the participant.
          type: string
        lastName:
          description: The last name of the participant.
          type: string
        smallImageUri:
          description: The small image uri of the participant;
          type: string
        type:
          description: The type of the participant
          type: string
        userId:
          description: The unique user id of the participant.
          type: string
    ConversationParticipantsList:
      properties:
        hasMore:
          description: are more results available, then start another search with finer query
          type: boolean
        participantList:
          description: list of participants
          items:
            $ref: "#/components/schemas/ConversationParticipant"
          type: array
        searchPointer:
          description: "pointer for stored search "
          type: string
    ConversationSearchResult:
      properties:
        matchingConversations:
          description: A list of result items for conversations that match the search term.
          items:
            $ref: "#/components/schemas/ConversationSearchResultItem"
          type: array
    ConversationSearchResultItem:
      properties:
        convId:
          description: The ID of the conversation to which the matching items belong.
          type: string
        itemIds:
          description: The conversation items which contain the search result. The list maybe empty in case a hit was found for the conversation related data like topic or participants.
          items:
            type: string
          type: array
    ConversationTextItem:
      properties:
        content:
          description: The content of the text item
          type: string
        contentType:
          description: "The type of the text item. It can be one of the following: RICH (with HTML content) or PLAIN (only text)"
          type: string
        formMetaData:
          description: The meta data form
          type: string
        isWebhookMessage:
          description: Is this a webhook message?
          type: boolean
        likedUserIds:
          description: Array of IDs of the users who liked the item
          items:
            type: string
          type: array
        parentId:
          description: The ID of the parent item of the text item. This field is optional and can be used for thread views
          type: string
        preview:
          $ref: "#/components/schemas/Preview"
        state:
          description: "The state of the text item. It can be one of the following: CREATED (which denotes that it was not modified since its creation), EDITED (which denotes that the creator of this item modified the item) or DELETED (which denotes that the item itself exists but its content was removed)"
          type: string
        subject:
          description: TThe subject of the text item. This field is optional and maybe filled when creating the text item
          type: string
    ConversationsPage:
      properties:
        conversationList:
          description: List of conversations
          items:
            $ref: "#/components/schemas/Conversation"
          type: array
        hasMore:
          description: Has more pages of conversations
        nextPagePointer:
          description: Pointer to the next set page of conversations
          type: string
    DirectoryResult:
      properties:
        hasMore:
          description: are more results available, than start another search
          type: boolean
        searchPointer:
          description: "pointer for stored search "
          type: string
        spaces:
          description: list of spaces
          items:
            $ref: "#/components/schemas/Space"
          type: array
    FlaggedItem:
      properties:
        item:
          $ref: "#/components/schemas/SpaceItem"
        parentItem:
          $ref: "#/components/schemas/SpaceItem"
    FlaggedItemsResult:
      properties:
        flaggedItems:
          description: A list of flagged items
          items:
            $ref: "#/components/schemas/FlaggedItem"
          type: array
        hasMore:
          description: More results available (true-use searchpointer for next search/false)
          type: boolean
        searchPointer:
          description: The searchpointer
          type: string
    GetSpacesResult:
      properties: {}
    IncomingWebhook:
      properties:
        conversationId:
          description: The conversation where the posts go to
          type: string
        creationTime:
          description: Milliseconds since 1.1.1900 when the hook was created
          format: int64
          type: number
        creatorId:
          description: Th e user who created the webhook
          type: string
        description:
          description: A short plain text to describe the webhook
          type: string
        modificationTime:
          description: Milliseconds since 1.1.1900 when the hook was modified
          format: int64
          type: number
        name:
          description: A name to identify the webhook
          type: string
        status:
          description: Status may be ENABLED or DISABLED. A disabled hook cannot be used
          type: string
        tenantId:
          description: The tenant where the conversation and users belong to
          type: string
        url:
          description: The url where the webhokk can be used
          type: string
        userId:
          description: The user who will occur as author of the posts
          type: string
        webhookId:
          description: Unique id of the webhook
          type: string
    IncomingWebhookSlackMessage:
      properties:
        fileURL:
          description: missing documentation
          type: string
        filename:
          description: missing documentation
          type: string
        markdown:
          description: missing documentation
          type: boolean
        subject:
          description: missing documentation
          type: string
        text:
          description: The text which will occur in the conversation. May contain formats like *bold* or _italic_
          type: string
    Label:
      properties:
        labelId:
          description: The unique ID of the label
          type: string
        value:
          description: The clear text value
          type: string
    LabelIds:
      properties:
        labelIds:
          description: A list of label ids.
          items:
            type: string
          type: array
    Participant:
      properties:
        creationTime:
          description: Time when the participant was added to the space
          format: int64
          type: number
        labelIds:
          description: The list of label IDs of all the labels assigned to the space.
          items:
            type: string
          type: array
        lastContentCreationTime:
          description: Time stamp when user last created content in the space.
          format: int64
          type: number
        lastReadTimestamp:
          description: Last time stamp when the user read content in this space.
          format: int64
          type: number
        modificationTime:
          description: Time when the participant was changed last.
          format: int64
          type: number
        numberOfReplies:
          description: Number of replies in the space created by this participant.
          format: int32
          type: number
        numberOfTopics:
          description: Number of topics in the space created by this participant.
          format: int32
          type: number
        role:
          description: The name of the role of the participant.
          type: string
        spaceId:
          description: The unique ID of the space to which the participant.
          type: string
        state:
          description: The name of the state of the participant;
          type: string
        tenantId:
          description: The unique tenant id of the participant.
          type: string
        userId:
          description: The unique user id of the participant.
          type: string
    ParticipantAddResult:
      properties: {}
    ParticipantSearchResult:
      properties:
        creationTime:
          description: Time when the participant was added to the space
          format: int64
          type: number
        firstName:
          description: The first name of the participant
          type: string
        lastName:
          description: The last name of the participant
          type: string
        modificationTime:
          description: Time when the participant was changed last.
          format: int64
          type: number
        numberOfReplies:
          description: Number of replies in the space created by this participant.
          format: int32
          type: number
        numberOfTopics:
          description: Number of topics in the space created by this participant.
          format: int32
          type: number
        role:
          description: The name of the role of the participant
          type: string
        smallImageUri:
          description: The uri of the small picture of the participant
          type: string
        state:
          description: The name of the state of the participant
          type: string
        tenantId:
          description: the tenant id of the participant
          type: string
        userId:
          description: The id of the participant
          type: string
    ParticipantSearchResultLarge:
      properties:
        creationTime:
          description: Time when the participant was added to the space
          format: int64
          type: number
        department:
          description: The department of the participant
          type: string
        firstName:
          description: The first name of the participant
          type: string
        isMember:
          description: Is the participant a member of the space
          type: boolean
        jobDescription:
          description: The job description of the participant
          type: string
        lastContentCreationTime:
          description: The last time the participant created content.
          format: int64
          type: number
        lastName:
          description: The last name of the participant
          type: string
        modificationTime:
          description: Time when the participant was changed last.
          format: int64
          type: number
        numberOfReplies:
          description: The number of replies
          format: int32
          type: number
        numberOfTopics:
          description: The number of topics
          format: int32
          type: number
        reason:
          description: The reason of it all (42)
          type: string
        role:
          description: The name of the role of the participant
          type: string
        smallImageUri:
          description: The uri of the small picture of the participant
          type: string
        spaceId:
          description: The id of the space
          type: string
        state:
          description: "The name of the state "
          type: string
        tenantId:
          description: the tenant id of the participant
          type: string
        userId:
          description: The id of the participant
          type: string
    ParticipantSpaceWrapper:
      properties: {}
    ParticipantsImportDataResult:
      properties:
        actualNumberOfImportedParticipants:
          description: Actual number of imported participants
          format: int32
          type: number
        estimatedImportDuration:
          description: Estimated import duration
          format: int64
          type: number
        importEndDate:
          description: Import end date
          format: int64
          type: number
        importFileId:
          description: The file id of the import
          type: string
        importFileName:
          description: The name of the import file
          type: string
        importProgress:
          description: The progress of the import
          format: int32
          type: number
        importStartDate:
          description: Import start date
          format: int64
          type: number
        importStatus:
          description: The status of the import
          type: string
        plannedNumberOfImportedParticipants:
          description: Planned number of imported participants
          format: int32
          type: number
        resultFileId:
          description: The file id of the result file
          type: string
        resultFileName:
          description: The name of the result file
          type: string
    ParticipantsLike:
      properties:
        firstName:
          description: The first name of the user
          type: string
        largeImageUri:
          description: The large image uri of the user
          type: string
        lastName:
          description: The last name of the user
          type: string
        smallImageUri:
          description: The small image uri of the user
          type: string
        userId:
          description: The id of the user
          type: string
    ParticipantsLikeResult:
      properties:
        hasMore:
          description: More results available (true-use searchpointer for next search/false)
          type: boolean
        participants:
          description: A list of participants who like the topic
          items:
            $ref: "#/components/schemas/ParticipantsLike"
          type: array
        searchPointer:
          description: The searchpointer
          type: string
    ParticipantsSearchResult:
      properties:
        hasMore:
          description: are more results available, than start another search
          type: boolean
        participants:
          description: list of participants
          items:
            $ref: "#/components/schemas/ParticipantSearchResult"
          type: array
        searchPointer:
          description: "pointer for stored search "
          type: string
    ParticipantsSearchResultLarge:
      properties:
        hasMore:
          description: are more results available, then start another search with finer query
          type: boolean
        participants:
          description: list of participants
          items:
            $ref: "#/components/schemas/ParticipantSearchResultLarge"
          type: array
        searchPointer:
          description: "pointer for stored search "
          type: string
    PinnedTopic:
      properties:
        conversationId:
          description: '"ID of the conversation"'
          type: string
        conversationItemId:
          description: '"ID of the pinned topic"'
          type: string
        pinnedTime:
          description: '"The exact moment the Pinning was happening"'
          format: int64
          type: number
    Presence:
      properties:
        dndUntil:
          description: Timestamp until the DND state of the user is active
          format: int64
          type: number
        isOptedOut:
          description: Indicates whether the user has opted out of their presence
          type: boolean
        latitude:
          description: The latitude of the geo location of the user
          format: float
          type: number
        locationText:
          description: The geo location of the user in clear text
          type: string
        longitude:
          description: The longitude of the geo location of the user
          format: float
          type: number
        mobile:
          description: Identifies whether the presence state is based on the state information of a mobile device or not
          type: boolean
        poor:
          description: n/a
          type: boolean
        state:
          description: "The presence state of the user. It can be one of the following: AVAILABLE, OFFLINE, AWAY, BUSY, or DND (Do-Not-Disturb)"
          type: string
        statusMessage:
          description: A free formed status message of the user
          type: string
        timeZoneOffset:
          description: The timezone offset of the user compared to UTC
          format: int32
          type: number
        userId:
          description: The ID of the user
          type: string
    Preview:
      properties:
        imageURI:
          description: n/a
          type: string
        srcURL:
          description: n/a
          type: string
        title:
          description: n/a
          type: string
        type:
          description: n/a
          type: string
    RtcEnded:
      properties:
        duration:
          description: The duration of the call.
          format: int64
          type: number
        maxNumberOfAttendees:
          description: The maximum number of attendees during a call.
          format: int32
          type: number
        pickFromParticipant:
          description: UserID of the pick from participant.
          type: string
    RtcItem:
      properties:
        ended:
          $ref: "#/components/schemas/RtcEnded"
        missed:
          description: Indicates a missed call.
          type: string
        moved:
          $ref: "#/components/schemas/RtcMoved"
        rtcParticipants:
          description: Participants of the call.
          items:
            $ref: "#/components/schemas/RtcParticipant"
          type: array
        type:
          description: The type of the RTC item.
          type: string
    RtcMoved:
      properties:
        conversationId:
          description: ID of the conversation moved from or to.
          type: string
        direction:
          description: Moved from or to conversation.
          type: string
    RtcParticipant:
      properties:
        displayName:
          description: The display name of the participant.
          type: string
        fullyQualifiedNumber:
          description: missing documentation
          type: string
        phoneNumber:
          description: missing documentation
          type: string
        resolvedUser:
          description: missing documentation
        type:
          description: The RTC type of the participant.
          type: string
        userId:
          description: The ID of the participant.
          type: string
    SharedItem:
      properties:
        containerId:
          description: The Id of the container
          type: string
        containerName:
          description: Name of the container
          type: string
        containerType:
          description: Type of the container
          type: string
        creationTime:
          description: The time this Item has been created
          format: int64
          type: number
        creatorId:
          description: The Id of the creator
          type: string
        itemId:
          description: Id of the item
          type: string
        parentTopicId:
          description: The Id of the parent topic
          type: string
        subType:
          description: The subtype
          type: string
    Space:
      properties:
        accessModeType:
          description: The name of the access mode type of the space.
          type: string
        creationTime:
          description: The space creation time.
          format: int64
          type: number
        creatorId:
          description: The ID of the space creator.
          type: string
        defaultRole:
          description: The name of the default role of a new participant.
          type: string
        description:
          description: The space description.
          type: string
        largePictureBase64:
          description: Base64 encoded image that can be set during the creation and the update of a space.
          type: string
        largePictureContentType:
          description: The content type of the image.
          type: string
        largePictureId:
          description: The file id of the large version of the picture.
          type: string
        lastContentCreationTime:
          description: Time stamp when the last content (topic / reply) was created within this space.
          format: int64
          type: number
        lastContentCreatorId:
          description: User ID of the user which created the last content.
          type: string
        modificationTime:
          description: The space modification time.
          format: int64
          type: number
        name:
          description: The unique space name.
          type: string
        numberOfExternalParticipants:
          description: Number of external participants in the space.
          format: int32
          type: number
        numberOfParticipants:
          description: Number of participants in the space.
          format: int32
          type: number
        numberOfPinnedTopics:
          description: Number of pinned topics in the space.
          format: int32
          type: number
        numberOfReplies:
          description: Number of replies in the space.
          format: int32
          type: number
        numberOfTopics:
          description: Number of topics in the space.
          format: int32
          type: number
        ownerId:
          description: The ID of the space owner.
          type: string
        smallPictureBase64:
          description: Base64 encoded image that can be set during the creation and the update of a space.
          type: string
        smallPictureContentType:
          description: The content type of the image.
          type: string
        smallPictureId:
          description: The file id of the small version of the picture.
          type: string
        spaceId:
          description: The unique space ID generated by the backend during the creation of the space.
          type: string
        status:
          description: The name of the status of the space.
          type: string
        tags:
          description: The list of space tags.
          items:
            type: string
          type: array
        tenantId:
          description: The ID of the space tenant.
          type: string
        type:
          description: The name of the space type.
          type: string
    SpaceAttachment:
      properties:
        creationTime:
          description: time this item has been created
          format: int64
          type: number
        creatorId:
          description: the id of the creator
          type: string
        fileId:
          description: the id of the field
          type: string
        fileName:
          description: name of the file
          type: string
        inlineUsage:
          description: is inline usage allowed
          type: boolean
        itemId:
          description: id of the item
          type: string
        layout:
          description: layout
          type: string
        mimeType:
          description: the media type
          type: string
        modificationTime:
          description: the time this item has been ben modified
          format: int64
          type: number
        size:
          description: size of this file
          format: int64
          type: number
        spaceId:
          description: id of the space
          type: string
        thumbnailId:
          description: the id of the tumbnail
          type: string
    SpaceExternalAttachment:
      properties:
        attachment:
          $ref: "#/components/schemas/SpaceAttachment"
        downloadLocation:
          description: the location of the download
          type: string
        previewLocation:
          description: the location of the preview
          type: string
        shareLinkToken:
          description: The share link token
          type: string
        type:
          description: the type
          type: string
    SpaceItem:
      properties:
        Status:
          description: The Status of this item
          type: string
        attachments:
          description: The list of attachments
          items:
            $ref: "#/components/schemas/SpaceAttachment"
          type: array
        complex:
          description: Is this item complex
          type: boolean
        content:
          description: The content of this item
          type: string
        creationTime:
          description: The time this item got created
          format: int64
          type: number
        creatorId:
          description: The Id of the creator
          type: string
        deletedBy:
          description: Incase this item got deleted, the id of the deletor
          type: string
        externalAttachments:
          description: A list of external attachments
          items:
            $ref: "#/components/schemas/SpaceExternalAttachment"
          type: array
        formMetaData:
          description: Incase there is FormMetaData
          type: string
        itemId:
          description: the Id of this item
          type: string
        mentionedUsers:
          description: A list of userIds who have been mentioned in this item
          items:
            type: string
          type: array
        modificationTime:
          description: the time this item got modified
          format: int64
          type: number
        numberOfLikes:
          description: The number of likes
          format: int32
          type: number
        previews:
          description: A list of previews
          items:
            $ref: "#/components/schemas/SpaceItemPreview"
          type: array
        sharedItems:
          description: missing documentation
          items:
            $ref: "#/components/schemas/SharedItem"
          type: array
        spaceId:
          description: the Id of the space containing this item
          type: string
        tenantId:
          description: the Id of the tenant
          type: string
    SpaceItemPreview:
      properties:
        description:
          description: The description of this preview
          type: string
        html:
          description: Html code
          type: string
        imageURI:
          description: The URI of the image
          type: string
        provider:
          description: the provider
          type: string
        srcURL:
          description: The URL of the source
          type: string
        title:
          description: The title of this preview
          type: string
        type:
          description: The type of this preview
          type: string
    SpacePinnedTopic:
      properties:
        position:
          description: The position of a pinned topic
          format: int32
          type: number
        subject:
          description: The subject of a pinned topic
          type: string
        topicId:
          description: The id of a pinned topic
          type: string
    SpaceReply:
      properties:
        parentTopicId:
          description: The Id of the parent topic
          type: string
        spaceItem:
          $ref: "#/components/schemas/SpaceItem"
    SpaceSearchResultDetailed:
      properties:
        fileIds:
          description: =The list of file ids
          items:
            type: string
          type: array
        itemIds:
          description: =The list of items ids
          items:
            type: string
          type: array
        spaceId:
          description: The id of the space
          type: string
        status:
          description: The status of the search (NORESULT, ERROR, TIMEOUT, MORERESULT)
          type: string
    SpaceSearchResultDetailedBack:
      properties:
        resList:
          description: A list of v2restspacesearchresultdetailedback containing spaceId, item ids and file ids
          items:
            $ref: "#/components/schemas/SpaceSearchResultDetailed"
          type: array
    SpaceTopic:
      properties:
        lastContentCreationTime:
          description: The last time new content was created
          format: int64
          type: number
        lastContentCreatorId:
          description: The Id of the last content creator
          type: string
        numberOfReplies:
          description: The number of replies this topic has
          format: int32
          type: number
        pinned:
          description: Is this topic pinned
          type: boolean
        spaceItem:
          $ref: "#/components/schemas/SpaceItem"
        subject:
          description: The subject of this topic
          type: string
        tags:
          description: "The tags "
          items:
            type: string
          type: array
    SpaceTopicWithReplies:
      properties:
        replies:
          description: A List holding the replies for a topic
          items:
            $ref: "#/components/schemas/SpaceReply"
          type: array
        topic:
          $ref: "#/components/schemas/SpaceTopic"
    SpacesSearchTerm:
      properties:
        endTime:
          description: The end time
        scope:
          description: The scope of the search
          type: string
        searchTerm:
          description: The search term
          type: string
        startTime:
          description: The start time
    SpacesSearchTermResult:
      properties:
        resList:
          description: A list of space search terms.
          items:
            $ref: "#/components/schemas/SpacesSearchTerm"
          type: array
    String:
      properties:
        CASE_INSENSITIVE_ORDER: {}
    SupportInfo:
      properties:
        supportEmailAddress:
          description: The email address of the support
          type: string
        supportType:
          description: The type of support (a number)
    SystemItem:
      properties:
        affectedParticipants:
          description: List off affected participants (user ID of the Circuit user) in case the item type PARTICIPANT_ADDED or PARTICIPANT_REMOVED
          items:
            type: string
          type: array
        newTopic:
          description: Filled with the new topic of a conversation if the type of the item is CONVERSATION_RENAMED.
          type: string
        oldTopic:
          description: Filled with the previous topic of a conversation if the type of the item is CONVERSATION_RENAMED.
          type: string
        type:
          description: The type of the system item
          type: string
    User:
      properties:
        avatar:
          description: The URL of the small avatar picture.
          type: string
        avatarLarge:
          description: The URL of the large avatar picture.
          type: string
        company:
          description: The name of the user's company
          type: string
        department:
          description: missing documentation
          type: string
        displayName:
          description: The user's display name
          type: string
        emailAddress:
          description: The primary email address of the user
          type: string
        emailAddresses:
          description: additional email addresses of the user
          items:
            $ref: "#/components/schemas/UserEmailAddress"
          type: array
        firstName:
          description: The first name of the user
          type: string
        jobTitle:
          description: The job title of the user
          type: string
        lastName:
          description: The last name of the user
          type: string
        locale:
          description: The locale of the user. (E.g. en-US, de-DE)
          type: string
        phoneNumber:
          description: provisioned phone number of the user
          type: string
        phoneNumbers:
          description: additional phone numbers of the user
          items:
            $ref: "#/components/schemas/UserPhoneNumber"
          type: array
        primaryTenantId:
          description: The primary tenant id
          type: string
        secondaryEmailAddress:
          description: The secondary email address
          type: string
        secondaryTenantId:
          description: The secondary tenant id
          type: string
        userId:
          description: The ID of the user
          type: string
        userState:
          description: The state of the user, e.g. deleted
          type: string
        userType:
          description: the type of the user
          type: string
    UserEmailAddress:
      properties:
        address:
          description: the email address
          type: string
        type:
          description: the type of the email address
          type: string
    UserPhoneNumber:
      properties:
        phoneNumber:
          description: the phone number
          type: string
        type:
          description: the type of the phone number
          type: string
    V2DistributedClientInfo:
      properties:
        clientId:
          description: The client id
          type: string
        clientVersion:
          description: The version of the client
          type: string
        deviceSubtype:
          description: The device sub type
          type: string
        deviceType:
          description: The devicetype
          type: string
        hardwareModel:
          description: The hardware model
          type: string
        homeNode:
          description: The home node name
          type: string
        manufacturer:
          description: The manufacturer
          type: string
        osVersion:
          description: The version of the operating system
          type: string
        userId:
          description: The user id
          type: string
    WebHook:
      properties:
        creationTime:
          description: The time when this WebHook was created. This does not necessary mean the time when an manifest file was created.
          format: int64
          type: number
        filter:
          description: An optional list of filter parameters for this webhook.
          items:
            type: string
          type: array
        id:
          description: The unique identifier for this webhook. Can be used later to unregister the webhook.
          type: string
        subscriptionIds:
          description: The optional list of userids for which this webhook is subscribed, i.e. presence events for the user are forwarded to the WebHook callback URL.
          items:
            type: string
          type: array
        type:
          description: The type of a WebHook. This can either be MANUAL or EXTENSION. While manual WebHooks are only temporary and for development only use, permanent ones (EXTENSION) will bemanaged by the system.
          type: string
        url:
          description: The callback URL of this webhook.
          type: string
        userId:
          description: The user ID for which this webhook is subscribed, i.e. events for this user are forwarded to the WebHook callback URL.
          type: string
  securitySchemes:
    oauth:
      flows:
        implicit:
          authorizationUrl: https://circuitsandbox.net/oauth/authorize
          scopes:
            ALL: allows full access to all functionalities of the REST API
            CALLS: allows to start or join real time collaboration session
            CALL_RECORDING: allows to record a call
            CREATE_CONVERSATIONS_CONTENT: Create content of conversations
            CREATE_SPACE_CONTENT: "*Originally missing*"
            DELETE_CONVERSATIONS_CONTENT: Delete content of conversations
            DELETE_SPACE_CONTENT: "*Originally missing*"
            MANAGE_CONVERSATIONS: Manage conversations
            MANAGE_PRESENCE: Manage presence state
            MANAGE_SPACE: "*Originally missing*"
            MENTION_EVENT: allows to receive text item events in which the user was mentioned
            MODERATE_CONVERSATIONS: MOderate conversations
            ORGANIZE_CONVERSATIONS: Organize conversations
            ORGANIZE_SPACE: "*Originally missing*"
            READ_CONVERSATIONS: allows to read conversations of the authenticated user
            READ_SPACE: "*Originally missing*"
            READ_USER: allows to read user information for all users that belong to the tenant of the authenticated user
            READ_USER_PROFILE: allows to read the user profile of the authenticated user
            SEARCH_CONVERSATIONS: Search conversations
            UPDATE_CONVERSATION_CONTENT: Update content of conversations
            UPDATE_SPACE_CONTENT: "*Originally missing*"
            USER_MANAGEMENT: allows to create, update and delete users
            USER_TO_USER: User2User
            WRITE_CONVERSATIONS: allows to create and update conversations of the authenticated user or to post messages
            WRITE_SPACE: "*Originally missing*"
            WRITE_USER_PROFILE: allows to update the user profile of the authenticated user
      type: oauth2
