Symphony Messaging REST APIs
  • Symphony Messaging API Reference documentation
  • Endpoints Reference
    • Bots Authentication
      • Session Authenticate
      • Key Manager Authenticate
      • Session Authenticate (Cert)
      • Key Manager Authenticate (Cert)
      • Session Logout
      • Key Manager Logout
    • Apps Authentication
      • Authenticate App
      • Pod Certificate
    • Apps On Behalf Of (OBO)
      • API Endpoints for Apps
      • App Authentication
      • User Authentication by User ID
      • User Authentication by User Name
    • Info - Health Check
      • Health Check
      • Health Check Extended
      • Session User
      • Agent Info
      • Echo
    • Messages
      • Get Messages
      • Create Message
      • Blast Message
      • Attachment
      • Import Message
      • Update Message
      • Suppress Message
      • Message Search
      • Message Search
      • Message Status
      • Attachment Types
      • Get Message
      • List Attachments
      • List Message Receipts
      • Message Metadata
    • Datafeed - Real Time Events
      • Create Datafeed
      • Read Datafeed
      • List Datafeed
      • Delete Datafeed
    • Datahose - Pod Real Time Events
      • Datahose - Read Events
    • Streams - Conversations
      • Related to IMs
        • Create IM
        • Create IM non-inclusive
        • Update IM
        • IM Info
      • Related to Rooms
        • Room Attributes
        • Create Room
        • Update Room
        • Room Info
        • De/Re-activate Room
        • Room Members
        • Add Member
        • Remove Member
        • Promote Owner
        • Demote Owner
        • Search Rooms
      • All streams
        • Share Content
        • List User Streams
        • List User Streams (Admin)
        • Stream Info
        • List Streams for Enterprise
        • Stream Members
    • Signals
      • List Signals
      • Get Signal
      • Create Signal
      • Update Signal
      • Delete Signal
      • Subscribe Signal
      • Unsubscribe Signal
      • Suscribers
      • Signal Object
    • Connections
      • Get Connection
      • List Connection
      • Create Connection
      • Accept Connection
      • Reject Connection
      • Remove Connection
    • Presence
      • Get Presence
      • Get All Presence
      • Get User Presence
      • External Presence Interest
      • Set Presence
      • Set Other User's Presence - Admin
    • Users
      • Users Lookup
      • Search Users
      • Follow User
      • Unfollow User
      • List User Followers
      • List Users Followed
    • User Management
      • User Attributes Object
      • Password Object
      • Roles Object
      • UserKeyRequest Object
      • Get User
      • List Users
      • Create User
      • Update User
      • User Avatar
      • Update User Avatar
      • User Status
      • Update User Status
      • List Features
      • User Features
      • Update User Features
      • Find Users
      • List Roles
      • Add Role
      • Remove Role
      • List Audit Trail
      • Suspend User Account
      • Get Bot Manifest
      • Update Bot Manifest
    • User Sessions
      • List Sessions
      • Logout Session
      • Logout All Sessions
    • Groups - Distribution Lists
      • OAuth2 Authenticate
      • Add a new user to an existing group
      • Insert a new group
      • Retrieve a group
      • Update a group
      • List all groups of specified type
      • Update the group avatar
    • URI Protocols
      • Create Protocol
      • List Protocols
      • Delete Protocol
    • Manage Apps
      • Create App
      • Update App
      • Delete App
      • Get App
    • Apps Entitlements
      • List Apps
      • Update App Entitlements
      • List User Apps
      • Update User Apps
      • Update All User Apps
    • Disclaimers
      • Disclaimer
      • List Disclaimers
      • List Disclaimer Users
      • User Disclaimer
      • Update User Disclaimer
      • Unassign User Disclaimer
    • Delegates
      • User Delegates
      • Update User Delegates
    • Information Barrier Groups
      • List IB Groups
      • List IB Group Members
      • Add IB Group Members
      • Remove IB Group Members
      • List Policies
    • Certificates
      • Public (Signing) Certificate
      • List Company Certificates
      • Create Company Certificate
      • Delete Company Certificate
      • Company Certificate Details
      • List Verified Certificates
      • List Trusted Certificates
      • List Certificate Types
      • Update Company Certificate
    • Malware Scanner
      • Malware Scanner APIs
        • File Malware Scanner State
        • Update File Malware Scanner State
      • Customer Malware Scanner APIs
        • Malware Scanner Health
        • File Malware Scanner
    • DLP Dictionary & Policy Management
      • Overview
      • Dictionary Management endpoints
        • Create Dictionary
        • All Dictionaries
        • Specific Dictionary
        • Update Dictionary
        • Upload Dictionary Content
        • Download Dictionary Content
        • Delete Dictionary
      • V3 Policy Management endpoints
        • V3 Policy structure for Create/Update
        • V3 Create Policy
        • V3 All Policies
        • V3 Get Policy
        • V3 Update Policy
        • V3 Enable Policy
        • V3 Disable Policy
        • V3 Delete Policy
      • V3 Violations endpoints
        • V3 Violations - Sample Responses
        • V3 Violations - Special Scenarios of Attachments
        • V3 Message Violations
        • V3 Signal Violations
        • V3 Stream Violations
        • V3 Violation Attachment Download
    • Audit Trail 2
      • OAuth2 Authenticate
      • Get Audit trails
      • Get distinct values of a list of filters
      • Get Audit Trail Stream
      • Get categories permissions
    • Compliance Barrier Groups
      • Compliance Group Types
      • Compliance User Groups
        • List Compliance User Groups
        • Get a Compliance User Group
        • Create a Compliance User Group
        • Update a Compliance User Group
      • Compliance Group Assignments
        • List Assignments
        • List Compliance Group Assignments
        • Update a Compliance Group
      • Compliance Group Memberships
        • List Memberships
        • List Compliance Group Memberships
        • Add Compliance Group Membership
        • Update a User Membership
  • Deprecated Endpoints
    • DLP Dictionary and Policy management
      • V2 Policy Management endpoints
        • V2 Create Policy
        • V2 All Policies
        • V2 Get Policy
        • V2 Update Policy
        • V2 Enable Policy
        • V2 Disable Policy
        • V2 Delete Policy
      • V2 Violations endpoints
        • V2 Signal Violations
        • V2 Message Violations
        • V2 Stream Violations
    • Create Presence Feed
    • Read Presence Feed
    • Delete Presence Feed
    • Get Message IDs by Timestamp
    • Health Check v2
    • Datafeed 1
      • Create Datafeed 1
      • Read Datafeed 1
Powered by GitBook
On this page

Was this helpful?

  1. Endpoints Reference
  2. Streams - Conversations
  3. All streams

List Streams for Enterprise

Last updated 11 months ago

Was this helpful?

Returns a list of all the streams (IMs, chatrooms, Wall posts as well as streams reserved for internal use) for the calling user's company, sorted by creation date (ascending – oldest to newest).

Filtering parameters can be used to narrow the list of streams that are returned. For more information, refer to the Filtering Returned Streams section below.

Request Example

curl -X POST \
https://acme.symphony.com/pod/v2/admin/streams/list \
    -H 'Content-Type: application/json' \ 
    -H 'sessionToken: SESSION_TOKEN' \ 
    -d '{
          "streamTypes": [
            {"type": "IM"},
            {"type": "MIM"},
            {"type": "ROOM"},
            {"type": "POST"}
          ]
        }'

🚧 Required Permissions

This endpoint may only be called by Service User accounts with the User Provisioning role.

Required Permissions: This endpoint may only be called by Service User accounts with the User Provisioning role.

The property attributes.originCompany may be missing, in the rare event where the company owning the cross pod stream is no longer a Symphony customer.

Filtering Returned Streams

You can filter the streams that are returned by specifying optional body parameters.

For instance, the filter below would return active external chatrooms created by users who do not belong to your firm, created between Mon, 12 Dec 2016 20:37:36.047 GMT and Thu, 29 Dec 2016 19:01:29.833 GMT.

{
	"streamTypes": [{"type": "ROOM"}],
	"scope": "EXTERNAL",
	"origin": "EXTERNAL",
	"privacy": "PRIVATE",
	"status": "ACTIVE",
	"startDate": 1481575056047,
	"endDate": 1483038089833
}

📘 lastMessageDate

This is the date that the last message was sent in that room. The time is in epoch format.

📘 Scope vs. Origin

The scope property refers to the participants of the room: whether the room contains only users within the company (internal scope) or whether the room contains users within the company as well as users belonging to another company (external scope). The scope property can apply to IMs and MIMs as well.

The origin property applies only to rooms with external scope. Origin refers to the creator of the room with external scope: whether the room was created by a user of the company (internal origin) or whether the room was created by a user belonging to another company (external origin).

A room with external scope and internal origin would be a room created by a user within the company, where members can belong to both the origin company and one other company.

The response has defined variable "isExternal", and for external scope, can have two values {true, false}. This value is false, whenever the stream is created by an internal user.

📘 Privacy

The privacy property applies only to rooms with internal scope. It refers to the privacy setting of the internal room: whether members (who must belong to the same company) must be added to the room or whether anyone in the company can find and join the room.

External rooms are always private - members must be added to the room.

📘 Date Range Filter

The startDate and endDate properties can be used to filter the list of streams to return only streams that were modified within the specified time range.

For rooms, modification entails a change of room properties (ex. name or description updated, settings changed) or a change in room membership (ex. users added/removed, roles changed). Modification does not include message activity.

IMs and MIMs are immutable - there can be no membership changes or properties changes. Therefore, filtering is performed upon the stream creation date.

If neither startDate nor endDate are specified, all rooms since the beginning of the enterprise's time until the time of call are returned.

If startDate is specified, but not endDate, all rooms modified since the startDate until the time of call are returned.

If endDate is specified, but not startDate, all rooms modified since the beginning of the enterprise's time until the endDate are returned.

Note: visit for an overview of streams.

Overview
  • POSTRetrieve all the streams across the enterprise where the membership of the stream has been modified between a given time range
  • Request Example
  • Filtering Returned Streams

Retrieve all the streams across the enterprise where the membership of the stream has been modified between a given time range

post
Query parameters
skipintegerOptional

Number of items to skip. Default is 0.

limitintegerOptional

Maximum number of items to return. Default is 50. This value cannot exceed 100.

Header parameters
sessionTokenstringRequired

Session authentication token.

Body

stream filter criteria

scopestringOptional

Scope of the room. Valid values are INTERNAL or EXTERNAL. If not specified, it will include both Internal and External scope

Example: INTERNAL
originstringOptional

Origin of the room. It indicates whether the room was created by a user within the company by another company. Valid values are INTERNAL or EXTERNAL. If not specified, it will include both Internal and External origin

Example: INTERNAL
statusstringOptional

Status of the room. Valid values are ACTIVE or INACTIVE. If not specified, it will include both Active and Inactive status

Example: ACTIVE
privacystringOptional

Privacy setting of the stream. Valid values are PUBLIC or PRIVATE. If not specified, it will include both public and private streams

Example: PRIVATE
startDateinteger · int64Optional

Start date in unix timestamp in millseconds

Example: 1481575056047
endDateinteger · int64Optional

End date in unix timestamp in millseconds. If not specified, it assume to be current time.

Example: 1483038089833
Responses
200
OK
application/json
400
Client error, see response body for further details.
application/json
401
Unauthorized: Invalid session token.
application/json
403
Forbidden: Caller lacks necessary entitlement.
application/json
500
Server error, see response body for further details.
application/json
post
POST /pod/v2/admin/streams/list HTTP/1.1
Host: yourpodURL.symphony.com
sessionToken: text
Content-Type: application/json
Accept: */*
Content-Length: 174

{
  "streamTypes": [
    {
      "type": "IM"
    },
    {
      "type": "ROOM"
    }
  ],
  "scope": "INTERNAL",
  "origin": "INTERNAL",
  "status": "ACTIVE",
  "privacy": "PRIVATE",
  "startDate": 1481575056047,
  "endDate": 1483038089833
}
{
  "count": 4,
  "skip": 0,
  "limit": 50,
  "filter": {
    "streamTypes": [
      {
        "type": "IM"
      },
      {
        "type": "ROOM"
      }
    ],
    "scope": "INTERNAL",
    "origin": "INTERNAL",
    "status": "ACTIVE",
    "privacy": "PRIVATE",
    "startDate": 1481575056047,
    "endDate": 1483038089833
  },
  "streams": [
    {
      "id": "Q2KYGm7JkljrgymMajYTJ3___qcLPr1UdA",
      "isExternal": false,
      "isActive": true,
      "isPublic": false,
      "type": "ROOM",
      "attributes": {
        "roomName": "Active Internal Private Room",
        "roomDescription": "Active Internal Private Room",
        "createdByUserId": 8933531975689,
        "createdDate": 1481575056047,
        "lastModifiedDate": 1481575056047,
        "originCompany": "Symphony",
        "originCompanyId": 130,
        "membersCount": 1,
        "lastMessageDate": 1516699467959
      }
    },
    {
      "id": "_KnoYrMkhEn3H2_8vE0kl3___qb5SANQdA",
      "isExternal": true,
      "isActive": false,
      "isPublic": false,
      "type": "ROOM",
      "attributes": {
        "roomName": "Inactive External Room",
        "roomDescription": "Inactive External Room",
        "createdByUserId": 8933531975686,
        "createdDate": 1481876438194,
        "lastModifiedDate": 1481876438194,
        "originCompany": "Symphony",
        "originCompanyId": 130,
        "membersCount": 2,
        "lastMessageDate": 1516699467959
      }
    }
  ]
}