Create Room

Creates a new chatroom. See Room Attributes for room creation parameters.

Starting with SBE 20.14, it is possible to create External chat rooms with view history enabled, depending on a pod parameter.

Create a new chatroom.

Create a new chatroom.

If no attributes are specified, the room is created as a private chatroom.

POSTyourpodURL.symphony.com/pod/v3/room/create
Header parameters
Body
namestring

Room name.

Example: "API room"
keywordsarray of RoomTag (object)

Keywords for search to use to find this room

descriptionstring

Room description.

Example: "Created via the API"
membersCanInviteboolean

If true, any chatroom participant can add new participants. If false, only owners can add new participants.

Example: true
discoverableboolean

If true, this chatroom (name, description and messages) can be searched and listed by non-participants. If false, only participants can search this room.

Example: false
publicboolean

If true, this is a public chatroom. IF false, a private chatroom.

Example: false
readOnlyboolean

If true, only stream owners can send messages.

Example: false
copyProtectedboolean

If true, clients disable the clipboard copy for content in this stream.

Example: false
crossPodboolean

If true, this room is a cross pod room

Example: false
viewHistoryboolean

If true, new members can view the room chat history of the room.

Example: false
multiLateralRoomboolean

If true, this is a multi lateral room where we can find users belonging to more than 2 companies.

Example: false
scheduledMeetingboolean

If true, this room is for a scheduled meeting.

Example: false
subTypestring

This field is ignored when creating a new room as it was only used for email integration which is now sunset.

pinnedMessageIdstring

UrlSafe message id of the pinned message inside the room. To perform unpin operation, send an empty string.

Example: "vd7qwNb6hLoUV0BfXXPC43___oPIvkwJbQ"
groupChatboolean

If true, this room is a group chat. Note: this parameter is ignored for creating rooms. Since SBE 20.16.

Example: false
Response

OK

Body
roomAttributesV3RoomAttributes (object)
roomSystemInfoRoomSystemInfo (object)
groupsarray of GroupItem (object)

List of groups (aka SDLs) that were added to the room.

Request
const response = await fetch('yourpodURL.symphony.com/pod/v3/room/create', {
    method: 'POST',
    headers: {
      "sessionToken": "text",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "roomAttributes": {
    "name": "API room",
    "keywords": [
      {
        "key": "region",
        "value": "EMEA"
      },
      {
        "key": "lead",
        "value": "Daffy Duck"
      }
    ],
    "description": "Created via the API",
    "membersCanInvite": true,
    "discoverable": false,
    "public": false,
    "readOnly": false,
    "copyProtected": false,
    "crossPod": false,
    "viewHistory": false,
    "multiLateralRoom": false,
    "scheduledMeeting": false,
    "subType": "text",
    "pinnedMessageId": "vd7qwNb6hLoUV0BfXXPC43___oPIvkwJbQ",
    "groupChat": false
  },
  "roomSystemInfo": {
    "id": "bjHSiY4iz3ar4iIh6-VzCX___peoM7cPdA",
    "creationDate": 1547661232368,
    "createdByUserId": 14362370637825,
    "active": true
  },
  "groups": [
    {
      "id": 68719476744,
      "addedBy": 68719476743
    }
  ]
}

Starting with SBE 20.14, it is possible to create External chat rooms with view history enabled, depending on a pod parameter. See Room Attributes for room creation parameters.

🚧 More Information

  • Room names will be considered the same if they only differ in capitalization and whitespace. E.g. "room1" and "R O O M 1" are considered the same. Also, room names must be shorter than 50 characters.

  • viewHistory, discoverable and membersCanInvite attributes cannot be false if public=true.

  • readOnly, public and discoverable attributes cannot be true if crossPod=true.

  • When 'crossPod' is true, then viewHistory can be true ONLY if the pod entitlement canCreateExternalRoomSharedHistory is enabled.

📘 Overview of streams

A stream is like a container for messages exchanged between two or more users via a given instant message (IM) or chat room. For more information, refer to Overview of streams.

🚧 Entitlements

  • A user needs to have the entitlement canCreatePublicRoom if he wants to create a public room (User entitlements are set on Admin Portal).

  • A user needs to have the entitlement isExternalRoomEnabled if he wants to create a crosspod room (User entitlements are set on Admin Portal).

Last updated