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. Messages

Message Search

Allows to search messages based on multiple search parameters.

Last updated 8 months ago

Was this helpful?

📘 Optional attributes returned

Note that some attributes are returned in the payload only under specific conditions:

  • sharedMessage only when the message represented by this class is a wall post sharing another message;

  • initialMessageId, initialTimestamp, and replacing only when the corresponding message is sent as an update to another message thanks to endpoint. Note that the first two attributes relate to the original (and therefore first) message sent, whereas the replacing attribute relates to the message that has been updated by this message;

  • replacedBy only when this message has been updated by a new message. It contains the id of the replacing message.

  • parentMessageId only when this message is a reply or a forward of another message which id is returned in this attribute.

🚧 Important

Allow to search messages across the message space the authenticated user has access to. This means all rooms this user is a member of and all public rooms.

Query arguments

The query parameter supports the following combination of arguments. When multiple arguments are supported, the search results are the union of all query arguments, defined as argument:value pairs combined by the operator "AND". Only a certain combination of arguments is supported.

Argument
Usage
Comment

hashtag

Searches for a specific hashtag across messages to or in a specific streamType

  • Can be used in conjunction with cashtag or mention.

  • Can be used in conjunction to author or text only for a specific streamType

cashtag

Searches for a specific cashtag across all messages or in a specific streamType

  • Can be used in conjunction with hashtag or mention.

  • Can be used in conjunction to author or text only for a specific streamType

mention

Searches for a specific user mention, by user id, across all messages or in a specific streamType

  • Can be used in conjunction with hashtag or cashtag.

  • Can be used in conjunction to author or text only for a specific streamType

author

Searches for a specific message author, by user id, across all messages or for a specific streamType

(1.52 and later) You can now search for an author in conjunction with a specific streamType

text

Searches for plain text field in a specific message, not including any hashtag, cashtag or user mention.

  • Requires a streamId to be provided.

  • Searching for text across all messages or a specific streamType is not supported.

  • Multi-word search is allowed. Syntax: "text":"Hello World"

streamType

Searches for messages in a specific stream type, either: • CHAT (1-1 instant messages and multi-party instant messages), • IM (1-1 instant message), • MIM (multi-party instant message), • ROOM, or • POST (user profile wall posts).

Can be used in conjunction with author, hashtag, cashtag or mention

streamId

Can be used in conjunction with hashtag, cashtag, mention, text or author

signal

Search for messages matching this signal.

Can only be combined with date filtering and paging parameters.

Usage

  • At least one argument in the list above is required.

  • To provide multiple arguments, the query is formatted as argument:value, and separated with the operator AND. Returned messages will include messages that match all the arguments.

  • Arguments names and values are case-insensitive.

  • The same argument cannot be used multiple times.

  • Search terms cannot contain the following reserved characters: colon :, parentheses ( ) and whitespaces (except when applying multi-word text search. See the text argument in the table above).

Date selector

The queryparameter can optionally support the following date selectors:

  • fromDate: selects messages sent after fromDate. Supported for all query parameters above.

  • toDate: selects messages sent before toDate. Supported for all query parameters above. The date selector parameter is inclusive: a message sent at exactly the same time as the query fromDate will be included in the results

Examples

  • query=hashtag:newWorld

  • query=hashtag:newWorld AND mention:7627861917906

  • query=hashtag:newWorld AND author:7627861917906 AND streamId:YQ_Q3ml8vMp98so2WRK_W3___qTUhq1_dA

  • query=author:7627861917906

📘 Note

Spaces are expected between query arguments joined with AND.

📘 See also

You should use the endpoint where the query string is specified in the request body if your Agent is in-cloud. With this GET endpoint, query strings will be transmitted in the clear.

Searches for messages in a specific stream. See for streamId format.

POST Message Search
Message
MessageML
Message ID
Message Format - MessageML
PresentationML
Message Format - ExtensionML
Colors
Symphony Elements
Conversation ID
Update Message

Search messages

get

Search messages according to the specified criteria. The "query" parameter takes a search query defined as "field:value" pairs combined by the operator "AND" (e.g. "text:foo AND autor:bar"). Supported fields are (case-insensitive): "text", "author", "hashtag", "cashtag", "mention", "signal", "fromDate", "toDate", "streamId", "streamType". "text" search requires a "streamId" to be specified. "streamType" accepts one of the following values: "chat" (IMs and MIMs), "im", "mim", "chatroom", "post". "signal" queries can only be combined with "fromDate", "toDate", "skip" and "limit" parameters.

Query parameters
querystringRequired

The search query. See above for the query syntax.

skipintegerOptional

No. of results to skip.

limitintegerOptional

Max no. of results to return. If no value is provided, 50 is the default.

scopestringOptional

Describes where content should be searched for that query. It can exclusively apply to Symphony content or to one Connector.

sortDirstringOptional

Messages sort direction : ASC or DESC (default to DESC)

Header parameters
sessionTokenstringRequired

Session authentication token.

keyManagerTokenstringRequired

Key Manager authentication token.

Responses
200
OK
application/json
204
No Messages.
400
Client error, see response body for further details.
application/json
401
Unauthorized: Session tokens invalid.
application/json
403
Forbidden: Caller lacks necessary entitlement.
application/json
500
Server error, see response body for further details.
application/json
get
GET /agent/v1/message/search?query=text HTTP/1.1
Host: youragentURL.symphony.com
sessionToken: text
keyManagerToken: text
Accept: */*
[
  {
    "messageId": "text",
    "parentMessageId": "text",
    "timestamp": 1,
    "message": "text",
    "sharedMessage": {
      "messageId": "text",
      "parentMessageId": "text",
      "timestamp": 1,
      "message": "text",
      "sharedMessage": {
        "messageId": "text",
        "parentMessageId": "text",
        "timestamp": 1,
        "message": "text",
        "sharedMessage": {
          "messageId": "text",
          "parentMessageId": "text",
          "timestamp": 1,
          "message": "text",
          "sharedMessage": {
            "messageId": "text",
            "parentMessageId": "text",
            "timestamp": 1,
            "message": "text",
            "sharedMessage": "[Circular Reference]",
            "data": "text",
            "attachments": [
              {
                "id": "text",
                "name": "text",
                "size": 1,
                "images": [
                  {
                    "id": "text",
                    "dimension": "text"
                  }
                ]
              }
            ],
            "user": {
              "userId": 1,
              "firstName": "text",
              "lastName": "text",
              "displayName": "text",
              "email": "text",
              "username": "text"
            },
            "stream": {
              "streamId": "text",
              "streamType": "text",
              "roomName": "text",
              "members": [
                {
                  "userId": 1,
                  "firstName": "text",
                  "lastName": "text",
                  "displayName": "text",
                  "email": "text",
                  "username": "text"
                }
              ],
              "external": true,
              "crossPod": true
            },
            "externalRecipients": true,
            "diagnostic": "text",
            "userAgent": "text",
            "originalFormat": "text",
            "disclaimer": "text",
            "sid": "fa691cd3-484a-4109-aeb2-57c05b78c95b",
            "replacing": "text",
            "replacedBy": "text",
            "initialTimestamp": 1,
            "initialMessageId": "text",
            "silent": true
          },
          "data": "text",
          "attachments": [
            {
              "id": "text",
              "name": "text",
              "size": 1,
              "images": [
                {
                  "id": "text",
                  "dimension": "text"
                }
              ]
            }
          ],
          "user": {
            "userId": 1,
            "firstName": "text",
            "lastName": "text",
            "displayName": "text",
            "email": "text",
            "username": "text"
          },
          "stream": {
            "streamId": "text",
            "streamType": "text",
            "roomName": "text",
            "members": [
              {
                "userId": 1,
                "firstName": "text",
                "lastName": "text",
                "displayName": "text",
                "email": "text",
                "username": "text"
              }
            ],
            "external": true,
            "crossPod": true
          },
          "externalRecipients": true,
          "diagnostic": "text",
          "userAgent": "text",
          "originalFormat": "text",
          "disclaimer": "text",
          "sid": "fa691cd3-484a-4109-aeb2-57c05b78c95b",
          "replacing": "text",
          "replacedBy": "text",
          "initialTimestamp": 1,
          "initialMessageId": "text",
          "silent": true
        },
        "data": "text",
        "attachments": [
          {
            "id": "text",
            "name": "text",
            "size": 1,
            "images": [
              {
                "id": "text",
                "dimension": "text"
              }
            ]
          }
        ],
        "user": {
          "userId": 1,
          "firstName": "text",
          "lastName": "text",
          "displayName": "text",
          "email": "text",
          "username": "text"
        },
        "stream": {
          "streamId": "text",
          "streamType": "text",
          "roomName": "text",
          "members": [
            {
              "userId": 1,
              "firstName": "text",
              "lastName": "text",
              "displayName": "text",
              "email": "text",
              "username": "text"
            }
          ],
          "external": true,
          "crossPod": true
        },
        "externalRecipients": true,
        "diagnostic": "text",
        "userAgent": "text",
        "originalFormat": "text",
        "disclaimer": "text",
        "sid": "fa691cd3-484a-4109-aeb2-57c05b78c95b",
        "replacing": "text",
        "replacedBy": "text",
        "initialTimestamp": 1,
        "initialMessageId": "text",
        "silent": true
      },
      "data": "text",
      "attachments": [
        {
          "id": "text",
          "name": "text",
          "size": 1,
          "images": [
            {
              "id": "text",
              "dimension": "text"
            }
          ]
        }
      ],
      "user": {
        "userId": 1,
        "firstName": "text",
        "lastName": "text",
        "displayName": "text",
        "email": "text",
        "username": "text"
      },
      "stream": {
        "streamId": "text",
        "streamType": "text",
        "roomName": "text",
        "members": [
          {
            "userId": 1,
            "firstName": "text",
            "lastName": "text",
            "displayName": "text",
            "email": "text",
            "username": "text"
          }
        ],
        "external": true,
        "crossPod": true
      },
      "externalRecipients": true,
      "diagnostic": "text",
      "userAgent": "text",
      "originalFormat": "text",
      "disclaimer": "text",
      "sid": "fa691cd3-484a-4109-aeb2-57c05b78c95b",
      "replacing": "text",
      "replacedBy": "text",
      "initialTimestamp": 1,
      "initialMessageId": "text",
      "silent": true
    },
    "data": "text",
    "attachments": [
      {
        "id": "text",
        "name": "text",
        "size": 1,
        "images": [
          {
            "id": "text",
            "dimension": "text"
          }
        ]
      }
    ],
    "user": {
      "userId": 1,
      "firstName": "text",
      "lastName": "text",
      "displayName": "text",
      "email": "text",
      "username": "text"
    },
    "stream": {
      "streamId": "text",
      "streamType": "text",
      "roomName": "text",
      "members": [
        {
          "userId": 1,
          "firstName": "text",
          "lastName": "text",
          "displayName": "text",
          "email": "text",
          "username": "text"
        }
      ],
      "external": true,
      "crossPod": true
    },
    "externalRecipients": true,
    "diagnostic": "text",
    "userAgent": "text",
    "originalFormat": "text",
    "disclaimer": "text",
    "sid": "fa691cd3-484a-4109-aeb2-57c05b78c95b",
    "replacing": "text",
    "replacedBy": "text",
    "initialTimestamp": 1,
    "initialMessageId": "text",
    "silent": true
  }
]
  • GETSearch messages
  • Query arguments
  • Usage
  • Date selector
  • Examples