openapi: 3.0.1 info: title: Agent API description: | This document refers to Symphony API calls to send and receive messages and content. They need the on-premise Agent installed to perform decryption/encryption of content. - sessionToken and keyManagerToken can be obtained by calling the authenticationAPI on the symphony back end and the key manager respectively. Refer to the methods described in authenticatorAPI.yaml. - Actions are defined to be atomic, ie will succeed in their entirety or fail and have changed nothing. - If it returns a 40X status then it will have sent no message to any stream even if a request to some subset of the requested streams would have succeeded. - If this contract cannot be met for any reason then this is an error and the response code will be 50X. - MessageML is a markup language for messages. See reference here: https://rest-api.symphony.com/docs/messagemlv2 - **Real Time Events**: The following events are returned when reading from a real time messages and events stream ("datafeed"). These events will be returned for datafeeds created with the v5 endpoints. To know more about the endpoints, refer to Create Messages/Events Stream and Read Messages/Events Stream. Unless otherwise specified, all events were added in 1.46. version: 25.8.1 servers: - url: 'youragentURL.symphony.com/agent' paths: /v3/health: get: tags: - System summary: Checks health status description: | _Available on Agent 2.57.0 and above._ Returns the connectivity status of your Agent server. If your Agent server is started and running, the status value will be `UP` operationId: v3Health responses: 200: description: Agent application is alive. content: application/json: schema: $ref: '#/components/schemas/V3Health' example: { "status": "UP" } /v3/health/extended: get: tags: - System summary: Checks health status of services and users description: | _Available on Agent 2.57.0 and above._ Returns the connectivity status of the Agent services (**pod**, **key manager** and **datafeed**) as well as users connectivity (**agentservice** and **ceservice**). The global status will be set to `DOWN` if at least one of the sub-status is also `DOWN`. operationId: v3ExtendedHealth responses: 200: description: Agent is healthy, all components are `UP`. content: application/json: schema: $ref: '#/components/schemas/V3Health' example: { "services": { "pod": { "status": "UP", "version": "24.1.1-411-36efd5b" }, "key_manager": { "status": "UP", "version": "24.1.1-411-36efd5b" }, "datafeed": { "status": "UP", "version": "2.11.6" } }, "status": "UP", "users": { "agentservice": { "authType": "RSA", "status": "UP" }, "ceservice": { "authType": "RSA", "status": "UP" } }, "version": "24.3.2-778" } 503: description: Agent is unhealthy, some components are `DOWN`. content: application/json: schema: $ref: '#/components/schemas/V3Health' example: { "services": { "pod": { "status": "UP", "version": "24.1.1-411-36efd5b" }, "key_manager": { "status": "DOWN", "version": "24.1.1-411-36efd5b" }, "datafeed": { "status": "UP", "version": "2.11.6" } }, "status": "UP", "users": { "agentservice": { "authType": "RSA", "status": "UP" }, "ceservice": { "authType": "RSA", "status": "UP" } }, "version": "24.3.2-778" } /v4/message/import: post: tags: - Messages summary: Import messages from other systems into Symphony. description: | Sends a message to be imported into the system. Allows you to override the timestamp and author of the message with your desired values. The requesting user must have the Content Management role. The user that the message is intended to have come from must also be present in the conversation. The intended message timestamp must be a valid time from the past. It cannot be a future timestamp. Optionally the original message ID can be specified to identify the imported message for the purpose of repeat imports. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V4MessageImportList' required: true responses: 200: description: Message sent. content: application/json: schema: $ref: '#/components/schemas/V4ImportResponseList' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: messageList /v4/message/blast: post: tags: - Messages summary: Post a message to multiple existing streams. description: | Post a new message to the given list of streams. The stream can be a chatroom, an IM or a multiparty IM. You may include an attachment on the message. The message can be provided as MessageMLV2 or PresentationML. Both formats support Freemarker templates. The optional parameter "data" can be used to provide a JSON payload containing entity data. If the message contains explicit references to entity data (in "data-entity-id" element attributes), this parameter is required. If the message is in MessageML and fails schema validation a client error results This endpoint is idempotent, it means that a 200 response will be returned even if the message has not been delivered to some streams. Check the `errors` map from the response in order to see on which stream(s) the message has not been delivered. The maximum number of streams where the message can be sent is limitted to 100. Regarding authentication, you must either use the sessionToken which was created for delegated app access or both the sessionToken and keyManagerToken together. parameters: - name: sessionToken in: header description: Authorization token used to make delegated calls. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: multipart/form-data: schema: required: - sids properties: sids: type: array description: A comma-separated list of Stream IDs items: type: string message: type: string description: The message payload in MessageML. data: type: string description: Optional message data in EntityJSON. version: type: string description: | Optional message version in the format "major.minor". If empty, defaults to the latest supported version. attachment: type: string description: Optional file attachment. format: binary preview: type: string description: Optional attachment preview. format: binary responses: 200: description: Blast message sent. content: application/json: schema: $ref: '#/components/schemas/V4MessageBlastResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 451: description: Compliance Issues found in message or file content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/message/{id}: get: tags: - Messages summary: Get a message by ID parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: Message ID as a URL-safe string required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V4Message' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/message/search: get: tags: - Messages summary: Search messages description: | 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. parameters: - name: query in: query description: The search query. See above for the query syntax. required: true schema: type: string - name: skip in: query description: No. of results to skip. schema: type: integer - name: limit in: query description: Max no. of results to return. If no value is provided, 50 is the default. schema: type: integer - name: scope in: query description: | Describes where content should be searched for that query. It can exclusively apply to Symphony content or to one Connector. schema: type: string - name: sortDir in: query description: | Messages sort direction : ASC or DESC (default to DESC) schema: type: string - name: tier in: query description: | Target search tier : hot, warm or all (default to hot) schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V4MessageList' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' post: tags: - Messages summary: Search messages description: Search messages according to the specified criteria. parameters: - name: skip in: query description: No. of results to skip. schema: type: integer - name: limit in: query description: Max no. of results to return. If no value is provided, 50 is the default. schema: type: integer - name: scope in: query description: | Describes where content should be searched for that query. It can exclusively apply to Symphony content or to one Connector. schema: type: string - name: sortDir in: query description: | Messages sort direction : ASC or DESC (default to DESC) schema: type: string - name: tier in: query description: | Target search tier : hot, warm or all (default to hot) schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: The search query. See above for the query syntax. content: application/json: schema: $ref: '#/components/schemas/MessageSearchQuery' required: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V4MessageList' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: query /v1/stream/{sid}/attachment: get: tags: - Attachments summary: Download an attachment. description: Downloads the attachment body by the attachment ID, stream ID, and message ID. parameters: - name: sid in: path description: Stream ID required: true schema: type: string - name: fileId in: query description: The attachment ID (Base64-encoded) required: true schema: type: string - name: messageId in: query description: The ID of the message containing the attachment required: true schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: Attachment body as Base64 encoded string. content: application/octet-stream: schema: type: string format: byte 400: description: Client error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' /v4/stream/{sid}/message: get: tags: - Messages summary: Get messages from an existing stream. description: | A caller can fetch all unseen messages by passing the timestamp of the last message seen as the since parameter and the number of messages with the same timestamp value already seen as the skip parameter. This means that every message will be seen exactly once even in the case that an additional message is processed with the same timestamp as the last message returned by the previous call, and the case where there are more than maxMessages with the same timestamp value. This method is intended for historic queries and is generally reliable but if guaranteed delivery of every message in real time is required then the equivilent firehose method should be called. parameters: - name: sid in: path description: Stream ID required: true schema: type: string - name: since in: query description: | Timestamp of first required message. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: until in: query description: | Timestamp of last required message. This is a long integer value representing milliseconds since Jan 1 1970 schema: type: integer format: int64 - name: skip in: query description: No. of messages to skip. schema: type: integer - name: limit in: query description: | Max No. of messages to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V4MessageList' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v4/stream/{sid}/message/create: post: tags: - Messages summary: Post a message to one existing stream. description: | Post a new message to the given stream. The stream can be a chatroom,,an IM or a multiparty IM. You may include an attachment on the message. The message can be provided as MessageMLV2 or PresentationML. Both formats support Freemarker templates. The optional parameter "data" can be used to provide a JSON payload containing entity data. If the message contains explicit references to entity data (in "data-entity-id" element attributes), this parameter is required. If the message is in MessageML and fails schema validation a client error will be returned. If the message is sent then 200 is returned. Regarding authentication, you must either use the sessionToken which was created for delegated app access or both the sessionToken and keyManagerToken together. parameters: - name: sid in: path description: Stream ID required: true schema: type: string - name: sessionToken in: header description: Authorization token used to make delegated calls. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: multipart/form-data: schema: properties: message: type: string description: The message payload in MessageML. data: type: string description: Optional message data in EntityJSON. version: type: string description: | Optional message version in the format "major.minor". If empty, defaults to the latest supported version. attachment: type: string description: Optional file attachment. format: binary preview: type: string description: Optional attachment preview. format: binary responses: 200: description: Message sent. content: application/json: schema: $ref: '#/components/schemas/V4Message' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 451: description: Compliance Issues found in message or file content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v4/stream/{sid}/message/{mid}/update: post: tags: - Messages summary: Update an existing message. description: | Update an existing message. The existing message must be a valid social message, that has not been deleted. The message can be provided as MessageMLV2 or PresentationML. Both formats support Freemarker templates. The optional parameter "data" can be used to provide a JSON payload containing entity data. If the message contains explicit references to entity data (in "data-entity-id" element attributes), this parameter is required. Regarding authentication, you must either use the sessionToken which was created for delegated app access or both the sessionToken and keyManagerToken together. Starting with SBE v24.1, attachments are supported. parameters: - name: sid in: path description: Stream ID required: true schema: type: string - name: mid in: path description: ID of the message to be updated required: true schema: type: string - name: sessionToken in: header description: Authorization token used to make delegated calls. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: multipart/form-data: schema: properties: message: type: string description: The message payload in MessageML. data: type: string description: Optional message data in EntityJSON. version: type: string description: | Optional message version in the format "major.minor". If empty, defaults to the latest supported version. attachment: type: string description: Optional file attachment. format: binary preview: type: string description: Optional attachment preview. format: binary silent: type: string description: | Optional boolean field that will determine if the user/s should receive the message as read or not (true by default) responses: 200: description: Message sent. content: application/json: schema: $ref: '#/components/schemas/V4Message' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 451: description: Compliance Issues found in message or file content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v3/stream/{sid}/share: post: tags: - Share summary: PROVISIONAL - Share a piece of content into Symphony description: | Given a 3rd party content (eg. news article), it can share to the given stream. The stream can be a chatroom, an IM or a multiparty IM. parameters: - name: sid in: path description: Stream ID required: true schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ShareContent' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V2Message' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: shareContent /v1/util/echo: post: tags: - Util summary: Test endpoint, returns input. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: Message in plain text content: application/json: schema: $ref: '#/components/schemas/SimpleMessage' required: true responses: 200: description: Message sent. content: application/json: schema: $ref: '#/components/schemas/SimpleMessage' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: echoInput /v1/signals/list: get: tags: - Signals summary: | List signals for the requesting user. This includes signals that the user has created and public signals to which they subscribed. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: skip in: query description: No. of signals to skip. schema: type: integer - name: limit in: query description: | Max no. of signals to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer responses: 200: description: List of signals for the requesting user. content: application/json: schema: $ref: '#/components/schemas/SignalList' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/signals/{id}/get: get: tags: - Signals summary: Get details of the requested signal. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: The ID of the signal to display. required: true schema: type: string responses: 200: description: List of signals for the requesting user. content: application/json: schema: $ref: '#/components/schemas/Signal' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/signals/create: post: tags: - Signals summary: Create a signal. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: Signal definition. content: application/json: schema: $ref: '#/components/schemas/BaseSignal' required: true responses: 200: description: Signal created. content: application/json: schema: $ref: '#/components/schemas/Signal' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 451: description: Compliance Issues found in signal content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: signal /v1/signals/{id}/update: post: tags: - Signals summary: Update a signal. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: The id of the signal. required: true schema: type: string requestBody: description: Signal definition. content: application/json: schema: $ref: '#/components/schemas/BaseSignal' required: true responses: 200: description: Signal updated. content: application/json: schema: $ref: '#/components/schemas/Signal' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 451: description: Compliance Issues found in signal content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: signal /v1/signals/{id}/delete: post: tags: - Signals summary: Delete a signal. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: The id of the signal. required: true schema: type: string responses: 200: description: Signal deleted. content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/signals/{id}/subscribe: post: tags: - Signals summary: Subscribe to a Signal. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: The id of the signal. required: true schema: type: string - name: pushed in: query description: Prevent the user to unsubscribe (only for bulk subscription) schema: type: boolean requestBody: description: UserIds to subscribe (only for bulk subscription) content: application/json: schema: type: array items: type: integer format: int64 required: false responses: 200: description: Signal subscribed. content: application/json: schema: $ref: '#/components/schemas/ChannelSubscriptionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: users /v1/signals/{id}/unsubscribe: post: tags: - Signals summary: Unsubscribe to a Signal. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: The id of the signal. required: true schema: type: string requestBody: description: UserIds to unsubscribe (only for bulk unsubscription) content: application/json: schema: type: array items: type: integer format: int64 required: false responses: 200: description: Signal unsubscribed. content: application/json: schema: $ref: '#/components/schemas/ChannelSubscriptionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: users /v1/signals/{id}/subscribers: get: tags: - Signals summary: Get the subscribers of a signal parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: id in: path description: The id of the signal. required: true schema: type: string - name: skip in: query description: No. of results to skip. schema: type: integer default: 0 - name: limit in: query description: Max No. of subscribers to return. If no value is provided, 100 is the default. schema: type: integer default: 100 responses: 200: description: Signal Subscribers. content: application/json: schema: $ref: '#/components/schemas/ChannelSubscriberResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/info: get: tags: - Signals summary: Get information about the Agent responses: 200: description: Agent info. content: application/json: schema: $ref: '#/components/schemas/AgentInfo' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v1/dlp/policies: get: tags: - DLP Policies and Dictionary Management summary: Get all policies description: Get all policies parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: page in: query description: Optional parameter to specify which page to return (default is 0) schema: type: integer format: int32 - name: limit in: query description: | Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. schema: type: integer format: int32 responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPoliciesCollectionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - DLP Policies and Dictionary Management summary: Creates a policy description: | Creates a new policy with dictionary references. At the time of policy creation, the caller should only provide - contentTypes, name, scopes and type. The rest of the information is populated automatically. Note - You need to enable the policy after creation to start enforcing the policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: Details about the policy that should be created. content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v1/dlp/policies/{policyId}: get: tags: - DLP Policies and Dictionary Management summary: Get a policy description: Get a policy parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string - name: policyVersion in: query description: | Optional parameter, if set to be valid policy version number, will return policy with specified policyVersion. Otherwise, return the latest policy. schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' put: tags: - DLP Policies and Dictionary Management summary: Updates a policy. Cannot be used for creation. description: | Update the policy (name, type, contentTypes, scopes) and also the dictionaries for a policy. Warning: If you send empty list of dictionaries during the update operation, then all the dictionaries for this policy are deleted and policy is automatically disabled. Note: The policy should already exist. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body delete: tags: - DLP Policies and Dictionary Management summary: Delete a policy description: | Delete a policy. Note: Only disabled policy can be deleted parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/policies/{policyId}/enable: post: tags: - DLP Policies and Dictionary Management summary: Enables a policy. description: Enables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/policies/{policyId}/disable: post: tags: - DLP Policies and Dictionary Management summary: Disables a policy. description: Disables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/dictionaries: get: tags: - DLP Policies and Dictionary Management summary: Get all dictionary metadatas description: | Get all dictionary metadatas with the latest version. Each dictionary object will only contain meta data of the content. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: page in: query description: Optional parameter to specify which page to return (default is 0) schema: type: integer format: int32 - name: limit in: query description: | Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. schema: type: integer format: int32 responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataCollectionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - DLP Policies and Dictionary Management summary: Create a dictionary description: | Creates a dictionary with basic metadata and no content. Only "name" and "type" field is used to create a new dictionary entry. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataCreateRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v1/dlp/dictionaries/{dictId}: get: tags: - DLP Policies and Dictionary Management summary: Get dictionary metadata description: Get basic information for a dictionary. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string - name: dictVersion in: query description: | If set to be valid dictionary version number, will return dictionary metadata with specified version. Otherwise, return the latest dictionary metadata. schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' put: tags: - DLP Policies and Dictionary Management summary: Updates a dictionary description: | Updates the dictionary's basic metadata without content. This API cannot be used for creating a new dictionary. In case of update only "name" can be changed. Note: All related policies will also have versions updated. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataUpdateRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body delete: tags: - DLP Policies and Dictionary Management summary: Delete a dictionary description: | Deletes a dictionary. Note: All related policies will be affected. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/dictionaries/{dictId}/data/download: get: tags: - DLP Policies and Dictionary Management summary: Downloads Base 64 encoded dictionary content. description: Downloads Base 64 encoded dictionary content. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string - name: dictVersion in: query description: | If set to be valid dictionary version number, will return dictionary with specified version. Otherwise, return the latest dictionary. schema: type: string responses: 200: description: Attachment body as Base64 encoded string. content: application/octet-stream: schema: type: string format: byte 400: description: Client error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' /v1/dlp/dictionaries/{dictId}/data/upload: post: tags: - DLP Policies and Dictionary Management summary: Override dictionary content with provided content. description: Override dictionary content with provided content. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string requestBody: content: multipart/form-data: schema: required: - data properties: data: type: string format: binary required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/violations/message: get: tags: - Violations summary: Get violations as a result of policy enforcement on messages. parameters: - name: startTime in: query description: | Timestamp of the first required violation. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: endTime in: query description: | Timestamp of the last required violation. This is a long integer value representing milliseconds since Jan 1 1970 If unspecified, it will default to current time of the request. schema: type: integer format: int64 - name: next in: query description: Offset of the next chunk of violations. Value is null for the first request. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V1DLPViolationMessageResponse' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/violations/stream: get: tags: - Violations summary: Get violations as a result of policy enforcement on streams. parameters: - name: startTime in: query description: | Timestamp of the first required violation. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: endTime in: query description: | Timestamp of the last required violation. This is a long integer value representing milliseconds since Jan 1 1970 If unspecified, it will default to current time of the request. schema: type: integer format: int64 - name: next in: query description: Offset of the next chunk of violations. Value is null for the first request. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V1DLPViolationStreamResponse' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/violations/signal: get: tags: - Violations summary: Get violations as a result of policy enforcement on signals. parameters: - name: startTime in: query description: | Timestamp of the first required violation. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: endTime in: query description: | Timestamp of the last required violation. This is a long integer value representing milliseconds since Jan 1 1970 If unspecified, it will default to current time of the request. schema: type: integer format: int64 - name: next in: query description: Offset of the next chunk of violations. Value is null for the first request. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V1DLPViolationSignalResponse' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies: get: tags: - DLP Policies and Dictionary Management summary: Get all policies description: Get all policies parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: page in: query description: Optional parameter to specify which page to return (default is 0) schema: type: integer format: int32 - name: limit in: query description: | Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. schema: type: integer format: int32 responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPoliciesCollectionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - DLP Policies and Dictionary Management summary: Creates a policy description: | Creates a new policy with dictionary references. At the time of policy creation, the caller should only provide - contentTypes, name, scopes and type. The rest of the information is populated automatically. Note - You need to enable the policy after creation to start enforcing the policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: Details about the policy that should be created. content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v3/dlp/policies/{policyId}: get: tags: - DLP Policies and Dictionary Management summary: Get a policy description: Get a policy parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string - name: policyVersion in: query description: | Optional parameter, if set to be valid policy version number, will return policy with specified policyVersion. Otherwise, return the latest policy. schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies/{policyId}/update: post: tags: - DLP Policies and Dictionary Management summary: Updates a policy. Cannot be used for creation. description: | Update the policy (name, type, contentTypes, scopes) and also the dictionaries for a policy. Warning: If you send empty list of dictionaries during the update operation, then all the dictionaries for this policy are deleted and policy is automatically disabled. Note: The policy should already exist. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v3/dlp/policies/{policyId}/delete: post: tags: - DLP Policies and Dictionary Management summary: Delete a policy description: | Delete a policy. Note: Only disabled policy can be deleted parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies/{policyId}/enable: post: tags: - DLP Policies and Dictionary Management summary: Enables a policy. description: Enables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies/{policyId}/disable: post: tags: - DLP Policies and Dictionary Management summary: Disables a policy. description: Disables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/violations/message: get: tags: - Violations summary: Get violations as a result of policy enforcement on messages. description: Retrieves DLP v3 message related violations for a given time range parameters: - name: startTime in: query description: | Timestamp of the first required violation. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: endTime in: query description: | Timestamp of the last required violation. This is a long integer value representing milliseconds since Jan 1 1970 If unspecified, it will default to current time of the request. schema: type: integer format: int64 - name: next in: query description: Offset of the next chunk of violations. Value is null for the first request. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V3DLPViolationMessageResponse' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/violations/stream: get: tags: - Violations summary: Get violations as a result of policy enforcement on streams. description: Retrieves DLP v3 signal related violations for a given time range parameters: - name: startTime in: query description: | Timestamp of the first required violation. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: endTime in: query description: | Timestamp of the last required violation. This is a long integer value representing milliseconds since Jan 1 1970 If unspecified, it will default to current time of the request. schema: type: integer format: int64 - name: next in: query description: Offset of the next chunk of violations. Value is null for the first request. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V3DLPViolationStreamResponse' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/violations/signal: get: tags: - Violations summary: Get violations as a result of policy enforcement on signals. description: Retrieves DLP v3 signal related violations for a given time range parameters: - name: startTime in: query description: | Timestamp of the first required violation. This is a long integer value representing milliseconds since Jan 1 1970 required: true schema: type: integer format: int64 - name: endTime in: query description: | Timestamp of the last required violation. This is a long integer value representing milliseconds since Jan 1 1970 If unspecified, it will default to current time of the request. schema: type: integer format: int64 - name: next in: query description: Offset of the next chunk of violations. Value is null for the first request. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. The maximum supported value is 500. schema: type: integer - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V3DLPViolationSignalResponse' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/violation/attachment: get: tags: - Violations summary: Get attachments that were sent as part of messages that were flagged by the DLP System. description: Retrieves attachments from related message violations as a base64 encoded String. parameters: - name: fileId in: query description: ID of attachment that will be downloaded. required: true schema: type: string - name: violationId in: query description: ID of violation that corresponds to the flagged message that contains the attachment required: true schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 200: description: Attachment body as Base64 encoded string. content: application/octet-stream: schema: type: string format: byte 400: description: Client error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 404: description: Resource not found. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' /v1/audittrail/privilegeduser: get: tags: - AuditTrail summary: Get a list of actions performed by a privileged account acting as privileged user given a period of time. description: Get a list of actions performed by a privileged account acting as privileged user given a period of time. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: startTimestamp in: query description: Start timestamp in unix timestamp in millseconds. required: true schema: type: integer format: int64 - name: endTimestamp in: query description: End timestamp in unix timestamp in millseconds. If not specified, it assumes to be current time. schema: type: integer format: int64 - name: before in: query description: Return results from an opaque “before” cursor value as presented via a response cursor. schema: type: string - name: after in: query description: Return results from an opaque “after” cursor value as presented via a response cursor. schema: type: string - name: limit in: query description: | Max No. of violations to return. If no value is provided, 50 is the default. Some maximums for limit may be enforced for performance reasons. The maximum supported value is 500. schema: type: integer - name: initiatorId in: query description: If present, only the initiator with this initiator will be returned. schema: type: integer format: int64 - name: role in: query description: | If present, only the audit trail initiated by s user with privileged role acting as privileged user will be returned. Privileged eliglible roles: User Provisioning (USER_PROVISIONING), Content Management (CONTENT_MANAGEMENT), Expression Filter Policy Management (EF_POLICY_MANAGEMENT), SCO (SUPER_COMPLIANCE_OFFICER), CO (COMPLIANCE_OFFICER), Super admin (SUPER_ADMINISTRATOR), Admin (ADMINISTRATOR), L1 (L1_SUPPORT), L2 (L2_SUPPORT), Scope Manager (SCOPE_MANAGEMENT) schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/V1AuditTrailInitiatorList' 204: description: No Messages. content: {} 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v5/datafeeds: get: tags: - Datafeed summary: Returns the list of active datafeeds of the user. description: | _Available on Agent 2.57.0 and above._ The datafeed provides messages and events from all conversations that the user is in. The types of events surfaced in the datafeed can be found in the [Real Time Events](./docs/real-time-events.md) list. In most cases, only one active datafeed per user is required at a time. operationId: listDatafeed parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: tag in: query description: A unique identifier to ensure uniqueness of the datafeed. Used to restrict search. schema: maxLength: 100 type: string responses: 200: description: Datafeed sucessfully created. content: application/json: schema: type: array items: $ref: '#/components/schemas/V5Datafeed' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/V2Error' post: tags: - Datafeed summary: Create a new real time feed of messages and events. description: | _Available on Agent 2.57.0 and above._ The datafeed provides messages and events from all conversations that the user is in. The types of events surfaced in the datafeed can be found in the Real Time Events list. (see definition on top of the file) Returns the ID of the newly created datafeed. This ID should then be used as input to the Read Datafeed endpoint. operationId: createDatafeed parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V5DatafeedCreateBody' required: false responses: 201: description: Datafeed sucessfully created. content: application/json: schema: $ref: '#/components/schemas/V5Datafeed' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: body /v5/datafeeds/{datafeedId}: delete: tags: - Datafeed summary: Delete the specified real time message / event stream ("datafeed"). description: | _Available on Agent 2.57.0 and above._ The datafeed provides messages and events from all conversations that the user is in. The types of events surfaced in the datafeed can be found in the Real Time Events list. (see definition on top of the file) Delete the specified datafeed. operationId: deleteDatafeed parameters: - name: datafeedId in: path description: ID of the datafeed required: true schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string responses: 204: description: Datafeed successfully deleted. content: application/json: schema: $ref: '#/components/schemas/V2Error' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/V2Error' /v5/datafeeds/{datafeedId}/read: post: tags: - Datafeed summary: Read the specified real time message / event stream ("datafeed"). description: | _Available on Agent 2.57.0 and above._ The datafeed provides messages and events from all conversations that the user is in. The types of events surfaced in the datafeed can be found in the Real Time Events list. (see definition on top of the file) Read the specified datafeed. The ackId sent as parameter can be empty for the first call. In the response an ackId will be sent back and it can be used for the next call: in this way you acknowledge that you have received the events that came with that ackId; datafeed will remove the events associated with that ackId from your queue operationId: readDatafeed parameters: - name: datafeedId in: path description: ID of the datafeed required: true schema: type: string - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AckId' required: false responses: 200: description: Datafeed successfully read. content: application/json: schema: $ref: '#/components/schemas/V5EventList' 400: description: "Do not retry: the feed no longer exists, please create a new feed. The datafeed has a 30 minutes ttl. Alternatively, the format of the provided ackId may be incorrect." content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: Too many feeds created. This happens when you reached 20 active feeds. Usually, only one active feed is required per service account. content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Internal server error. Please retry reading the datafeed with an exponential backoff. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: ackId /v5/events/read: post: tags: - Datahose summary: Creates and Reads a real time feed of messages and events of your pod (Datahose) description: | _Available on Agent 22.5.1 and above._ This API provides a real time feed of all the messages and events in the pod, even from conversations where the calling service account is not a member. The types of events surfaced can be found in the Real Time Events list. In case you retrieving SOCIALMESSAGE events, the credentials of the ceservice account must be properly configured in the Agent. The types of events returned can be found in the Real Time Events list (see definition on top of the file). The ackId sent as parameter must be empty for the first call. In the response an ackId will be sent back and it can be used for the next call: in this way you acknowledge that you have received the events that came with that ackId. If you have several instances of the same bot, they must share the same feed so that events are spread across all bot instances. To do so, you must: share the same service account provide the same "tag" and same "filters" values. The Datahose API is an add-on to the Symphony Services, and is subject to additional charges. Prior to using Datahose in your Symphony environment(s), you will need to enter into a specific contract. operationId: readEvents parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V5EventsReadBody' example: type: "datahose" tag: "mybotusername" eventTypes: ["MESSAGE_SENT"] updatePresence: false required: true responses: 200: description: Datafeed successfully read. content: application/json: schema: $ref: '#/components/schemas/V5EventList' 400: description: Bad request. content: application/json: schema: $ref: '#/components/schemas/V2Error' 401: description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/V2Error' 403: description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/V2Error' 500: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/V2Error' x-codegen-request-body-name: body components: schemas: Error: type: object properties: code: type: integer format: int32 message: type: string IngestionError: type: object properties: code: type: integer format: int32 message: type: string ingestionStatus: type: string V2Error: required: - code - message type: object properties: code: type: integer format: int32 message: type: string details: type: object SuccessResponse: type: object properties: format: type: string enum: - TEXT - XML message: type: string V2BaseMessage: required: - streamId - timestamp - v2messageType type: object properties: id: type: string description: The messageId is assigned by the ingestor service when a message is sent. timestamp: type: string v2messageType: type: string streamId: type: string discriminator: propertyName: v2messageType V2Message: description: A representation of a message sent by a user of Symphony. allOf: - $ref: '#/components/schemas/V2BaseMessage' - required: - fromUserId - message type: object properties: message: type: string description: Message text in MessageML format: MessageML fromUserId: type: integer description: the Symphony userId of the user who sent the message. This will be populated by the server (and actually ignored if included when sending a message). format: int64 attachments: type: array default: [] items: $ref: '#/components/schemas/AttachmentInfo' RoomCreatedMessage: description: Generated when a room is created. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: creationDate: type: integer format: int64 name: type: string keywords: type: array default: [] items: $ref: '#/components/schemas/RoomTag' description: type: string createdByUserId: type: integer description: The Symphony userId of the user who created the room. format: int64 readOnly: type: boolean discoverable: type: boolean public: type: boolean membersCanInvite: type: boolean copyProtected: type: boolean RoomDeactivatedMessage: description: Generated when a room is deactivated. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: deactivatedByUserId: type: integer format: int64 RoomReactivatedMessage: description: Generated when a room is reactivated. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: reactivatedByUserId: type: integer format: int64 RoomUpdatedMessage: description: Generated when a room is updated. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: oldName: type: string newName: type: string keywords: type: array default: [] items: $ref: '#/components/schemas/RoomTag' oldDescription: type: string newDescription: type: string membersCanInvite: type: boolean discoverable: type: boolean readOnly: type: boolean copyProtected: type: boolean UserJoinedRoomMessage: description: Generated when a user joins a room. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: addedByUserId: type: integer format: int64 memberAddedUserId: type: integer format: int64 UserLeftRoomMessage: description: Generated when a user leaves a room. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: removedByUserId: type: integer format: int64 memberLeftUserId: type: integer format: int64 informationBarrierRemediation: type: boolean RoomMemberPromotedToOwnerMessage: description: Generated when a room member is promoted to owner. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: promotedByUserId: type: integer format: int64 promotedUserId: type: integer format: int64 RoomMemberDemotedFromOwnerMessage: description: Generated when a room member is promoted to owner. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: demotedByUserId: type: integer format: int64 demotedUserId: type: integer format: int64 ConnectionRequestMessage: description: Generated when a connection request is sent. allOf: - $ref: '#/components/schemas/V2BaseMessage' - type: object properties: requestingUserId: type: integer format: int64 targetUserId: type: integer format: int64 firstRequestedAt: type: integer format: int64 updatedAt: type: integer format: int64 requestCounter: type: integer status: type: string AttachmentInfo: required: - id - name - size type: object properties: id: type: string description: The attachment ID. name: type: string description: The file name. size: type: integer description: Size in bytes. format: int64 V2MessageList: type: array items: $ref: '#/components/schemas/V2BaseMessage' SimpleMessage: type: object properties: message: type: string description: A string wrapped in a JSON object. RoomTag: required: - key - value type: object properties: key: type: string description: A unique label of the Tag. value: type: string description: The value of this Tag's label. description: Room Tag object. A key:value pair describing additional properties of the room. ShareArticle: required: - appId - author - publisher - title type: object properties: articleId: type: string description: | An ID for this article that should be unique to the calling application. Either an articleId or an articleUrl is required. title: type: string description: The title of the article subTitle: type: string description: The subtitle of the article message: type: string description: The message text that can be send along with the shared article publisher: type: string description: Publisher of the article publishDate: type: integer description: Article publish date in unix timestamp format: int64 thumbnailUrl: type: string description: Url to the thumbnail image author: type: string description: Author of the article articleUrl: type: string description: Url to the article summary: type: string description: Preview summary of the article appId: type: string description: App ID of the calling application appName: type: string description: App name of the calling application appIconUrl: type: string description: App icon url of the calling application ShareContent: type: object properties: type: type: string description: Type of content to be shared. Currently only support "com.symphony.sharing.article" content: $ref: '#/components/schemas/ShareArticle' V2HealthCheckResponse: type: object properties: podConnectivity: type: boolean description: Indicates whether the Agent server can connect to the Pod podConnectivityError: type: string description: Error details in case of no Pod connectivity keyManagerConnectivity: type: boolean description: Indicates whether the Agent server can connect to the Key Manager keyManagerConnectivityError: type: string description: Error details in case of no Key Manager connectivity firehoseConnectivity: type: boolean description: Indicates whether the Agent server can connect to Firehose Service firehoseConnectivityError: type: string description: Error details in case of no Firehose connectivity datafeedConnectivity: type: boolean description: Indicates whether the Agent server can connect to Datafeed V2 Service datafeedConnectivityError: type: string description: Error details in case of no Datafeed V2 connectivity datafeedVersion: type: string description: Indicates the Datafeed V2 version encryptDecryptSuccess: type: boolean description: Indicates whether the Agent can successfully decrypt and encrypt messages encryptDecryptError: type: string description: Error details in case of the encryption or decryption of the message fails podVersion: type: string description: The version number of the pod agentVersion: type: string description: The version number of the Agent server agentServiceUser: type: boolean description: Indicates whether agent service user is setup correctly. agentServiceUserError: type: string description: Error details in case agent service user is setup incorrectly. ceServiceUser: type: boolean description: Indicates whether CEService user is setup correctly. ceServiceUserError: type: string description: Error details in case CEService user is setup incorrectly. MessageSearchQuery: type: object properties: text: type: string description: Search for messages containing this text. Requires streamId to be specified. streamId: type: string description: Search for messages sent to this stream streamType: type: string description: | Search for messages sent to this type of streams. Accepted values are CHAT, IM, MIM, ROOM, POST. author: type: integer description: Search for messages sent by this user ID format: int64 hashtag: type: string description: Search for messages containing this hashtag cashtag: type: string description: Search for messages containing this cashtag mention: type: integer description: Search for messages mentioning this user ID format: int64 signal: type: string description: | Search for messages matching this signal. Can only be combined with date filtering and paging parameters. fromDate: type: integer description: Search for messages sent on or after this timestamp format: int64 toDate: type: integer description: Search for messages sent before this timestamp format: int64 V4MessageImportList: type: array description: | An ordered list of historic messages to be imported. A list of import responses will be returned in the same order. items: $ref: '#/components/schemas/V4ImportedMessage' V4ImportedMessage: required: - intendedMessageFromUserId - intendedMessageTimestamp - message - originatingSystemId - streamId type: object properties: message: type: string description: Message text in MessageMLV2 format: MessageML data: type: string description: Entity data in EntityJSON format: JSON intendedMessageTimestamp: type: integer description: | The timestamp representing the time when the message was sent in the original system in milliseconds since Jan 1st 1970. format: int64 intendedMessageFromUserId: type: integer description: The long integer userid of the Symphony user who you intend to show sent the message. format: int64 originatingSystemId: type: string description: The ID of the system through which the message was originally sent. originalMessageId: type: string description: The ID of the message in the original system. streamId: type: string attachments: type: array description: List of message attachments. Since Agent 20.14. items: $ref: '#/components/schemas/V4ImportedMessageAttachment' x-since: 20.14 previews: type: array description: List of attachments previews. Since Agent 20.14. items: $ref: '#/components/schemas/V4ImportedMessageAttachment' x-since: 20.14 description: | A historic message to be imported into the system. The importing user must have the Content Management role. Also, the importing user must be a member of the conversation it is importing into. The user that the message is intended to have come from must also be present in the conversation. The intended message timestamp must be a valid time from the past. It cannot be a future timestamp. By design, imported messages do not stream to datafeed or firehose endpoints. V4ImportedMessageAttachment: type: object properties: filename: type: string description: Attachment filename example: car.png content: type: string description: Attachment content as Base64 encoded string V4ImportResponseList: type: array items: $ref: '#/components/schemas/V4ImportResponse' V4ImportResponse: type: object properties: messageId: type: string description: | If the message was successfully imported then the message ID in the system of the newly created message. originatingSystemId: type: string description: The ID of the system through which the message was originally sent. originalMessageId: type: string description: The ID of the message in the original system. diagnostic: type: string description: | A diagnostic message containing an error message in the event that the message import failed. May also be present in the case of a successful call if there is useful narrative to return. V4AttachmentInfo: required: - id - name - size - images type: object properties: id: type: string description: The attachment ID. name: type: string description: The file name. size: type: integer description: Size in bytes. format: int64 images: type: array items: $ref: '#/components/schemas/V4ThumbnailInfo' V4ThumbnailInfo: type: object properties: id: type: string description: The thumbnail ID. dimension: type: string description: The thumbnail pixel size. V4MessageList: type: array items: $ref: '#/components/schemas/V4Message' V4Message: type: object properties: messageId: type: string description: Id of the message parentMessageId: type: string description: Id of the parent message, set when the message is a reply to another message or a forwarded message. Since Agent 20.14. x-since: 20.14 timestamp: type: integer description: Timestamp of the message in milliseconds since Jan 1 1970 format: int64 message: type: string description: Message content in MessageMLV2 format: MessageMLV2 sharedMessage: $ref: '#/components/schemas/V4Message' data: type: string description: Message data in EntityJSON format: JSON attachments: type: array default: [] description: Message attachments items: $ref: '#/components/schemas/V4AttachmentInfo' user: $ref: '#/components/schemas/V4User' stream: $ref: '#/components/schemas/V4Stream' externalRecipients: type: boolean description: Indicates if the message have external recipients. Only present on real time messaging. diagnostic: type: string description: | Details if event failed to parse for any reason. The contents of this field may not be useful, depending on the nature of the error. Only present when error occurs. userAgent: type: string description: | User agent string for client that sent the message. Allows callers to identify which client sent the origin message (e.g. API Agent, SFE Client, mobile, etc) originalFormat: type: string description: | Indicates the format in which the message was originally sent. This could have been either: - com.symphony.markdown - Markdown OR Message ML V1 - com.symphony.messageml.v2 - Message ML V2 disclaimer: type: string description: | Message that may be sent along with a regular message if configured for the POD, usually the first message sent in a room that day. sid: type: string description: | Unique session identifier from where the message was created. example: fa691cd3-484a-4109-aeb2-57c05b78c95b replacing: type: string description: Id of the message that the current message is replacing (present only if set) replacedBy: type: string description: Id of the message that the current message is being replaced with (present only if set) initialTimestamp: type: integer description: | Timestamp of when the initial message has been created in milliseconds since Jan 1 1970 (present only if set) format: int64 initialMessageId: type: string description: Id the the initial message that has been updated (present only if set) silent: type: boolean description: When false the user/s will receive the message update as unread (true by default) x-since: 20.14 description: A representation of a message sent by a user of Symphony V4MessageBlastResponse: type: object required: - messages - errors properties: messages: type: array default: [] description: List of messages successfully sent items: $ref: '#/components/schemas/V4Message' errors: type: object additionalProperties: $ref: '#/components/schemas/Error' description: List of streams where the messages ingestion has failed description: Wrapper response for a single message sent to multiple streams V4User: type: object properties: userId: type: integer description: Id of user format: int64 firstName: type: string description: First name of user lastName: type: string description: Last name of user displayName: type: string description: User display name email: type: string description: Email of user username: type: string description: Applicable only to internal users V4Stream: type: object properties: streamId: type: string description: Id of stream streamType: type: string description: | Stream type, possible values are: - IM - MIM - ROOM - POST roomName: type: string description: Applicable only to rooms members: type: array description: Applicable only to IM Created items: $ref: '#/components/schemas/V4User' external: type: boolean crossPod: type: boolean recipientTenantIds: type: array description: | List of tenant identifiers (aka pod identifiers) involved in the conversation. It contains more than one item if the conversation is external. Field is only present for real time messaging. items: type: integer format: int32 x-since: 24.2 V4RoomProperties: type: object properties: name: type: string description: type: string creatorUser: $ref: '#/components/schemas/V4User' createdDate: type: integer description: Timestamp format: int64 external: type: boolean crossPod: type: boolean public: type: boolean copyProtected: type: boolean readOnly: type: boolean discoverable: type: boolean membersCanInvite: type: boolean keywords: type: array default: [] items: $ref: '#/components/schemas/V4KeyValuePair' canViewHistory: type: boolean V4KeyValuePair: type: object properties: key: type: string value: type: string V4MessageSent: type: object properties: message: $ref: '#/components/schemas/V4Message' V4Initiator: type: object properties: user: $ref: '#/components/schemas/V4User' V4SharedPost: type: object properties: message: $ref: '#/components/schemas/V4Message' sharedMessage: $ref: '#/components/schemas/V4Message' V4InstantMessageCreated: type: object properties: stream: $ref: '#/components/schemas/V4Stream' V4RoomCreated: type: object properties: stream: $ref: '#/components/schemas/V4Stream' roomProperties: $ref: '#/components/schemas/V4RoomProperties' V4RoomUpdated: type: object properties: stream: $ref: '#/components/schemas/V4Stream' newRoomProperties: $ref: '#/components/schemas/V4RoomProperties' V4RoomDeactivated: type: object properties: stream: $ref: '#/components/schemas/V4Stream' V4RoomReactivated: type: object properties: stream: $ref: '#/components/schemas/V4Stream' V4UserJoinedRoom: type: object properties: stream: $ref: '#/components/schemas/V4Stream' affectedUser: $ref: '#/components/schemas/V4User' V4UserLeftRoom: type: object properties: stream: $ref: '#/components/schemas/V4Stream' affectedUser: $ref: '#/components/schemas/V4User' V4RoomMemberPromotedToOwner: type: object properties: stream: $ref: '#/components/schemas/V4Stream' affectedUser: $ref: '#/components/schemas/V4User' V4RoomMemberDemotedFromOwner: type: object properties: stream: $ref: '#/components/schemas/V4Stream' affectedUser: $ref: '#/components/schemas/V4User' V4ConnectionRequested: type: object properties: toUser: $ref: '#/components/schemas/V4User' V4ConnectionAccepted: type: object properties: fromUser: $ref: '#/components/schemas/V4User' V4MessageSuppressed: type: object properties: messageId: type: string stream: $ref: '#/components/schemas/V4Stream' V4SymphonyElementsAction: type: object properties: stream: $ref: '#/components/schemas/V4Stream' formMessageId: type: string description: The id of the message that contains the Form formId: type: string description: The id of the Form element formValues: type: object description: The values (in JSON format) answered on the Form V4UserRequestedToJoinRoom: type: object properties: stream: $ref: '#/components/schemas/V4Stream' affectedUsers: type: array description: List of affected users by the action (i.e. owners of the room) items: $ref: '#/components/schemas/V4User' V4GenericSystemEvent: type: object properties: stream: $ref: '#/components/schemas/V4Stream' eventTimestamp: type: integer description: The timestamp when the event was emitted format: int64 sourceSystem: type: string description: The name of the system that emitted the event eventSubtype: type: string description: The identifier of the type of generic event parameters: type: object description: Free-form properties that provide context about the event additionalProperties: true V4Payload: type: object properties: messageSent: $ref: '#/components/schemas/V4MessageSent' sharedPost: $ref: '#/components/schemas/V4SharedPost' instantMessageCreated: $ref: '#/components/schemas/V4InstantMessageCreated' roomCreated: $ref: '#/components/schemas/V4RoomCreated' roomUpdated: $ref: '#/components/schemas/V4RoomUpdated' roomDeactivated: $ref: '#/components/schemas/V4RoomDeactivated' roomReactivated: $ref: '#/components/schemas/V4RoomReactivated' userJoinedRoom: $ref: '#/components/schemas/V4UserJoinedRoom' userLeftRoom: $ref: '#/components/schemas/V4UserLeftRoom' roomMemberPromotedToOwner: $ref: '#/components/schemas/V4RoomMemberPromotedToOwner' roomMemberDemotedFromOwner: $ref: '#/components/schemas/V4RoomMemberDemotedFromOwner' connectionRequested: $ref: '#/components/schemas/V4ConnectionRequested' connectionAccepted: $ref: '#/components/schemas/V4ConnectionAccepted' messageSuppressed: $ref: '#/components/schemas/V4MessageSuppressed' symphonyElementsAction: $ref: '#/components/schemas/V4SymphonyElementsAction' userRequestedToJoinRoom: $ref: '#/components/schemas/V4UserRequestedToJoinRoom' genericSystemEvent: $ref: '#/components/schemas/V4GenericSystemEvent' V4Event: type: object properties: id: type: string description: Event ID messageId: type: string description: Message ID timestamp: type: integer description: Timestamp of event format: int64 type: type: string description: | Event type, possible events are: - MESSAGESENT - SHAREDPOST - INSTANTMESSAGECREATED - ROOMCREATED - ROOMUPDATED - ROOMDEACTIVATED - ROOMREACTIVATED - USERJOINEDROOM - USERLEFTROOM - ROOMMEMBERPROMOTEDTOOWNER - ROOMMEMBERDEMOTEDFROMOWNER - CONNECTIONREQUESTED - CONNECTIONACCEPTED - MESSAGESUPPRESSED - SYMPHONYELEMENTSACTION - USERREQUESTEDTOJOINROOM - GENERICSYSTEMEVENT diagnostic: type: string description: | Details if event failed to parse for any reason. The contents of this field may not be useful, depending on the nature of the error. Only present when error occurs. initiator: $ref: '#/components/schemas/V4Initiator' payload: $ref: '#/components/schemas/V4Payload' V4EventList: type: array items: $ref: '#/components/schemas/V4Event' BaseSignal: type: object properties: name: type: string description: Signal name query: type: string description: | The query used to define this signal. The query is defined as "field:value" pairs combined by the operators "AND" or "OR". Supported fields are (case-insensitive): "author", "hashtag" and "cashtag". MUST contain at least one "hashtag" or "cashtag" definition. visibleOnProfile: type: boolean description: Whether the signal is visible on its creator's profile companyWide: type: boolean description: Whether the signal is a push signal Signal: allOf: - $ref: '#/components/schemas/BaseSignal' - type: object properties: id: type: string description: Signal ID timestamp: type: integer description: Timestamp when the signal was created, in milliseconds since Jan 1 1970 format: int64 SignalList: type: array items: $ref: '#/components/schemas/Signal' ChannelSubscriptionResponse: type: object properties: requestedSubscription: type: integer description: The number of requested userIds to subscribe format: int64 successfulSubscription: type: integer description: The number of successful subscriptions done format: int64 failedSubscription: type: integer description: The number of subscription failures format: int64 subscriptionErrors: type: array items: $ref: '#/components/schemas/ChannelSubscriptionError' ChannelSubscriptionError: type: object properties: userId: type: integer description: The userId on which failure happened format: int64 code: type: string description: subscription failure code message: type: string description: subscription failure message ChannelSubscriberResponse: type: object properties: offset: type: integer description: The number of subscribers skipped format: int64 hasMore: type: boolean description: True if there are more subscribers total: type: integer description: The total number of subscribers data: type: array items: $ref: '#/components/schemas/ChannelSubscriber' ChannelSubscriber: type: object properties: subscriptionId: type: string pushed: type: boolean description: True if the subscriber is allowed to unsubscribe default: false owner: type: boolean description: True if the subscriber is the creator default: false subscriberName: type: string description: User display name userId: type: integer description: The user ID of the subscriber format: int64 timestamp: type: integer description: Timestamp when the signal was subscribed, in milliseconds since Jan 1 1970 format: int64 AgentInfo: type: object properties: ipAddress: type: string description: The IP address of the Agent server. hostname: type: string description: The hostname of the Agent server. serverFqdn: type: string description: The fully-qualified domain name of the Agent server. Must be set by the user at startup. version: type: string description: The version of the Agent. url: type: string description: The URL under which the Agent is available. onPrem: type: boolean description: Whether this is an on-prem or cloud installation. mt: type: boolean description: Whether this is a multi tenant instance. commitId: type: string description: The Git commit ID of the running revision. V1DLPPoliciesCollectionResponse: type: object required: - policies properties: policies: type: array description: List of policies items: $ref: '#/components/schemas/V1DLPPolicy' page: type: integer description: Page number of current page format: int32 pageCount: type: integer description: Total number of pages available format: int32 description: List of policies V1DLPPolicy: required: - contentTypes - name - scopes - dictionaryRefs - type type: object properties: active: type: boolean description: Indicate whether the policy is active or not contentTypes: type: array description: | The list of content types that policy should apply to. Cannot be empty. Policy content types could be either of "Messages", "RoomMeta", "SignalMeta". Default is set to ["Messages"] if not specified. items: type: string creationDate: type: integer description: Creation time of the policy in milliseconds elapsed as of epoch time. format: int64 creatorId: type: string description: Numeric userId of the creator dictionaryRefs: type: array description: List of dictionaries. items: $ref: '#/components/schemas/V1DLPDictionaryRef' lastDisabledDate: type: integer description: Recent disable time of the policy in milliseconds elapsed as of epoch time. format: int64 lastUpdatedDate: type: integer description: Recent update time of the policy in milliseconds elapsed as of epoch time. format: int64 name: type: string description: Unique name of a policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. policyId: type: string description: Policy Id scopes: type: array description: | List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. items: type: string type: type: string description: Type of policy. Possible values "Block" or "Warn". version: type: string description: | The version of a dictionary, in format "major.minor". Initial value will set by backend as "1.0" when created. Whenever the dictionary version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. description: The policy object for expression filter, one policy can have multiple dictionaries V1DLPPolicyRequest: required: - contentTypes - dictionaryIds - name - scopes - type type: object properties: contentTypes: type: array description: | The list of content types that policy should apply to. Cannot be empty. Policy content types could be either of "Messages", "RoomMeta", "SignalMeta". Default is set to ["Messages"] if not specified. items: type: string dictionaryIds: type: array description: List of dictionaries Ids for the policy. items: type: string name: type: string description: Unique name of a policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. scopes: type: array description: | List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. items: type: string type: type: string description: Type of policy. Possible values "Block" or "Warn". description: The policy object to use for creating/updating a policy. V1DLPPolicyResponse: type: object properties: data: $ref: '#/components/schemas/V1DLPPolicy' description: Policy Response V1DLPDictionary: required: - dictionaryMetadata type: object properties: content: $ref: '#/components/schemas/V1DLPDictionaryContent' dictionaryMetadata: $ref: '#/components/schemas/V1DLPDictionaryMetadata' description: Dictionary object V1DLPDictionaryContent: type: object properties: data: type: string description: A comma separated string which contains a lot of keywords/regexes. numKeywords: type: integer description: Number of Keywords in dictionary format: int32 md5: type: string description: MD5 value of the content description: Content of a dictionary V1DLPDictionaryMetadataCollectionResponse: type: object required: - items properties: items: type: array description: List of dictionary metadata items: $ref: '#/components/schemas/V1DLPDictionaryMetadata' page: type: integer description: Page number of current page format: int32 pageCount: type: integer description: Total number of pages available format: int32 description: List of dictionary metadata. V1DLPDictionaryMetadataResponse: required: - data type: object properties: data: $ref: '#/components/schemas/V1DLPDictionaryMetadata' description: Dictionary response containing dictionary metadata. V1DLPDictionaryMetadataCreateRequest: required: - name - type type: object properties: name: type: string description: | The name of dictionary type: type: string description: | The type of dictionary, which specify the content is a list of words or a list of regexes. By default set to "Word" if not specified. Possible values - Word, Regex description: Dictionary's metadata (excluding content) to use for dictionary create operations. V1DLPDictionaryMetadataUpdateRequest: required: - name type: object properties: name: type: string description: The name of dictionary description: Dictionary's metadata (excluding content) to use for dictionary update operations. V1DLPDictionaryMetadata: required: - dictRef - type type: object properties: creationDate: type: integer description: Creation time of the dictionary in milliseconds elapsed as of epoch time. format: int64 creatorId: type: string description: Numeric userId of the creator dictRef: $ref: '#/components/schemas/V1DLPDictionaryRef' lastUpdatedDate: type: integer description: The recent update time of the dictionary in milliseconds format: int64 type: type: string description: | The type of dictionary, which specify the content is a list of words or a list of regexes. By default set to "Word" if not specified. Possible values - Word, Regex description: Dictionary's metadata (excluding content) V1DLPDictionaryRef: required: - name type: object properties: dictId: type: string description: Unique dictionary id name: type: string description: Unique name of a dictionary, max 30 characters, with trimmed leading and trailing blank spaces. version: type: string description: | The version of a dictionary, in format "major.minor". Initial value will set by backend as "1.0" when created. Whenever the dictionary version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. description: Basic information needed to identify a dictionary V1DLPViolationMessageResponse: type: object required: - violations properties: violations: type: array description: A representation of list of violations due to messages sent by a user of Symphony items: $ref: '#/components/schemas/V1DLPViolationMessage' nextOffset: type: string description: Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations. V1DLPViolationStreamResponse: type: object required: - violations properties: violations: type: array items: $ref: '#/components/schemas/V1DLPViolationStream' nextOffset: type: string description: Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations. V1DLPViolationSignalResponse: type: object required: - violations properties: violations: type: array description: A representation of list of violations due to signal creation/update sent by a user of Symphony items: $ref: '#/components/schemas/V1DLPViolationSignal' nextOffset: type: string description: Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations. V1DLPViolationMessage: type: object properties: violation: $ref: '#/components/schemas/V1DLPViolation' message: $ref: '#/components/schemas/V4Message' diagnostic: type: string description: | A diagnostic message containing an error message in the event there are parsing errors. May also be present in the case of a successful call if there is useful narrative to return. V1DLPViolationStream: type: object properties: violation: $ref: '#/components/schemas/V1DLPViolation' stream: $ref: '#/components/schemas/V1DLPStream' V1DLPViolationSignal: type: object properties: violation: $ref: '#/components/schemas/V1DLPViolation' signal: $ref: '#/components/schemas/V1DLPSignal' V1DLPViolation: type: object properties: enforcementEventID: type: string description: Enforcement event ID. Unique ID that identifies this enforcement. entityID: type: string description: Entity ID is the content Id of the violation, for example, for messages, its the Id of the message createTime: type: integer description: Timestamp of the violation in milliseconds since Jan 1 1970 format: int64 lastModified: type: integer description: Timestamp of the last modification of violation in milliseconds since Jan 1 1970 format: int64 requesterId: type: integer description: Id of the requester responsible for the message/stream/signal format: int64 matchedPolicies: $ref: '#/components/schemas/V1DLPMatchedPolicyList' action: type: string description: action taken such as BLOCK or WARN. See outcome for a more detailed description of the outcome this action. outcome: $ref: '#/components/schemas/V1DLPOutcome' contentType: $ref: '#/components/schemas/V1DLPContentType' version: type: string description: Version of application which processed the message and produced this violation. ignoreDLPwarning: type: boolean description: Did the user chose to ignore DLP warning that was presented? description: A representation of a violation due to a message sent by a user of Symphony V1DLPMatchedPolicyList: type: array description: List of policies that matched the violation. items: $ref: '#/components/schemas/V1DLPMatchedPolicy' V1DLPMatchedPolicy: type: object properties: id: type: string description: Id of the policy version: type: string description: Version of the policy policyName: type: string description: Name of the policy type: type: string description: Whether BLOCK or WARN terms: type: string description: List of decrypted matched keywords in the policy diagnostic: type: string description: | A diagnostic message containing an error message in the event that the decryption of terms failed. May also be present in the case of a successful call if there is useful narrative to return. description: A representation of policy that matched the violation with a list of matched keywords in the policy V1DLPOutcome: type: object properties: type: type: string description: Outcome of DLP enforcement description: A representation of outcome of DLP message/stream/signal sent by a user of Symphony V1DLPContentType: type: object properties: type: type: string description: content type description: A representation of content type of message sent by a user of Symphony (message/stream/signal) V1DLPStream: type: object properties: name: type: string description: Name of the Stream/Room. creatorPrettyName: type: string description: Name of the creator of the Room. publicRoom: type: boolean description: Is this a public room? crossPod: type: boolean description: Is this a cross pod scenario? allowExternal: type: boolean description: Is external messaging allowed creatorId: type: string description: Id of the creator of the Room. roomDescription: type: string description: Description of the Room. streamId: type: string description: ThreadId of the Room. state: type: string description: State of the Room (example CREATED etc) type: type: string description: Type of the Room (example ROOM (or IM or Wall)) lastDisabled: type: integer description: Timestamp of last time the room is Disabled format: int64 memberAddUserEnabled: type: boolean description: Is memberAddUserEnabled active: type: boolean description: Is Room Active discoverable: type: boolean description: Is Room discoverable readOnly: type: boolean description: Is Room read-only copyDisabled: type: boolean description: Is Room copyDisabled externalOwned: type: boolean description: Is Room externalOwned sendMessageDisabled: type: boolean description: Is sendMessage Disabled for this Room moderated: type: boolean description: Is room moderated shareHistoryEnabled: type: boolean description: Is room shareHistoryEnabled diagnostic: type: string description: | A diagnostic message containing an error message in the event that the stream retrieval failed. May also be present in the case of a successful call if there is useful narrative to return. description: Room details in the context of violation. V1DLPSignal: type: object properties: id: type: string description: Unique ID of the Signal name: type: string description: Name of the Signal rules: type: string description: Signal rules decrypted. diagnostic: type: string description: | A diagnostic message containing an error message in the event that the signal decryption failed. May also be present in the case of a successful call if there is useful narrative to return. description: Signal details V3DLPPolicyRequest: required: - appliesTo - name - scopes type: object properties: name: type: string description: | Unique name of a policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. scopes: type: array description: | List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. items: type: string appliesTo: type: array items: $ref: '#/components/schemas/V3DLPPolicyAppliesTo' description: Request to be used to get policies. V3DLPPolicy: type: object required: - appliesTo properties: id: type: string description: Unique identifier for policy. policyId: type: string description: Policy Id. version: type: string description: | The version of the policy, in format "major.minor". Initial value will set by backend as "3.0" when created. Whenever the policy version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. name: type: string description: | Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. creatorId: type: integer description: Numeric userId of the creator. format: int64 scopes: type: array description: | List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. items: type: string appliesTo: type: array items: $ref: '#/components/schemas/V3DLPPolicyAppliesTo' active: type: boolean description: Indicate whether the policy is active or not. deleted: type: boolean description: Indicate whether the policy is deleted or not. creationDate: type: integer description: Creation time of the policy in milliseconds elapsed as of epoch time. format: int64 lastUpdatedDate: type: integer description: Recent update time of the policy in milliseconds elapsed as of epoch time. format: int64 lastDisabledDate: type: integer description: Recent disable time of the policy in milliseconds elapsed as of epoch time. format: int64 systemPolicy: type: boolean description: | A policy is the main entity of V3 policy/rule system. It is responsible to define rules and add scope constraints to the engine. V3DLPRule: required: - name - type type: object properties: id: type: string type: type: string description: Type of a rule used by policy. Can be ["UNKNOWN", "TEXT_MATCH", "FILE_EXTENSION", "FILE_SIZE", "FILE_PASSWORD", "FILE_CLASSIFIER"]. name: type: string description: Name for rule. textMatchConfig: $ref: '#/components/schemas/V3DLPTextMatchConfig' fileSizeConfig: $ref: '#/components/schemas/V3DLPFileSizeConfig' fileExtensionConfig: $ref: '#/components/schemas/V3DLPFileExtensionConfig' filePasswordConfig: $ref: '#/components/schemas/V3DLPFilePasswordConfig' fileClassifierConfig: $ref: '#/components/schemas/V3DLPFileClassifierConfig' description: | A Rule defines the actual matching specification for policies. It holds a type and a configuration for the rule, these properties should be used to build the corresponding matching implementation. Only one of the configuration property should be set [textMatchConfig, fileSizeConfig, fileExtensionConfig, filePasswordConfig, fileClassifierConfig]. V3DLPFilePasswordConfig: required: - applicableFileTypes - matchCriteria type: object properties: applicableFileTypes: type: array description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. items: type: string matchCriteria: type: string description: | Based on the criteria, whether a file is password protected or not means a match. Can be ["PASSWORD_PROTECTED", "NOT_PASSWORD_PROTECTED"]. The default is "NOT_PASSWORD_PROTECTED". description: Password protected detection config for files that are password protected or not. V3DLPFileExtensionConfig: required: - allowLists - blockLists type: object properties: allowLists: type: array description: File extensions that are allowed. items: type: string blockLists: type: array description: File extensions that are blocked. items: type: string description: Extension detection config for allowed and blocked types of file extensions. V3DLPFileSizeConfig: type: object properties: sizeLimit: type: integer format: int32 description: File size config defines maximum allowed size of file. Default max size limit is 20 MB. V3DLPTextMatchConfig: type: object required: - dictionaries - applicableFileTypes properties: dictionaries: type: array items: $ref: '#/components/schemas/V3DLPDictionaryMeta' countUniqueOccurrences: type: integer format: int32 applicableFileTypes: type: array description: | File types must be applied only for rule type "FileContent", otherwise must be empty. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. items: type: string description: | This is a configuration that can be used to match text or regex. Configuration that can be used by a rule. This is a configuration that can be used to match text or regex. This configuration also corresponds to V2 TextMatch/RegexMatch of dictionaries. V3DLPDictionaryMeta: required: - dictId - name - version type: object properties: dictId: type: string version: type: string name: type: string description: Identity of a dictionary. V3DLPFileClassifierConfig: required: - applicableFileTypes - classifiers type: object properties: classifiers: type: object additionalProperties: type: string description: | Classifier is defined as a Key and its Value: e.g.: "classification": "Internal". Name and value can contain UTF-8 characters. Neither the name nor value cannot be left empty. Maximum 30 characters for the name and value, case insensitive. If files contains k-v pairs in the classifers map, it means a match. Maximum 30 classifiers per policy. applicableFileTypes: type: array description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. items: type: string V3DLPPolicyAppliesTo: required: - action - dataType - rules type: object properties: dataType: type: string description: | The list of data types that policy should apply to. Can't be empty. Can be ["Messages","RoomMeta", "SignalMeta", "FileContent", "FileMeta"]. action: type: string description: | Action to be taken on violation detection. Can be ["Block", "Warn", "LogOnly"]. The default is "LogOnly". rules: type: array items: $ref: '#/components/schemas/V3DLPRule' V3DLPPolicyResponse: type: object properties: data: $ref: '#/components/schemas/V3DLPPolicy' description: Policy Response. V3DLPPoliciesCollectionResponse: type: object required: - policies properties: policies: type: array description: List of policies. items: $ref: '#/components/schemas/V3DLPPolicy' page: type: integer description: The starting page for pagination. format: int32 size: type: integer description: Size of policies displayed per page. format: int32 pageCount: type: integer description: Total number of pages available. format: int32 description: List of policies. V3DLPViolationMessageResponse: type: object required: - violations properties: violations: type: array description: A representation of list of violations due to messages sent by a user of Symphony items: $ref: '#/components/schemas/V3DLPViolationMessage' nextOffset: type: string description: | Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations. V3DLPViolationStreamResponse: type: object required: - violations properties: violations: type: array items: $ref: '#/components/schemas/V3DLPViolationStream' nextOffset: type: string description: | Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations. V3DLPViolationSignalResponse: type: object required: - violations properties: violations: type: array description: A representation of list of violations due to signal creation/update sent by a user of Symphony items: $ref: '#/components/schemas/V3DLPViolationSignal' nextOffset: type: string description: | Offset for the next chunk of violations to be submitted in the next request. Value is null if there are no further violations. V3DLPViolationMessage: type: object properties: violation: $ref: '#/components/schemas/V3DLPViolation' message: $ref: '#/components/schemas/V4Message' sharedMessage: $ref: '#/components/schemas/V4Message' diagnostic: type: string description: | A diagnostic message containing an error message in the event there are parsing errors. May also be present in the case of a successful call if there is useful narrative to return. V3DLPViolationStream: type: object properties: violation: $ref: '#/components/schemas/V3DLPViolation' stream: $ref: '#/components/schemas/V1DLPStream' V3DLPViolationSignal: type: object properties: violation: $ref: '#/components/schemas/V3DLPViolation' signal: $ref: '#/components/schemas/V1DLPSignal' V3DLPViolation: type: object properties: enforcementEventID: type: string description: Enforcement event ID. Unique ID that identifies this enforcement. entityID: type: string description: Entity ID is the content Id of the violation. For example, for messages it's the Id of the message createTime: type: integer description: Timestamp of the violation in milliseconds since Jan 1 1970 format: int64 lastModified: type: integer description: Timestamp of the last modification of violation in milliseconds since Jan 1 1970 format: int64 requesterId: type: integer description: Id of the requester responsible for the message/stream/signal format: int64 details: type: array description: JSON representation of the details of the violation. items: type: object action: type: string description: action taken such as BLOCK or WARN. See outcome for a more detailed description of the outcome this action. outcome: $ref: '#/components/schemas/V1DLPOutcome' version: type: string description: Version of application which processed the message and produced this violation. ignoreDLPwarning: type: boolean description: Did the user chose to ignore DLP warning that was presented? description: A representation of a violation due to an event created by a user of Symphony Pagination: required: - cursors type: object properties: cursors: type: object properties: before: type: string description: | This is the opaque url-safe string that points to the start of the page of data that has been returned. example: MTAxNTExOTQ1MjAwNzI5NDE= after: type: string description: | This is the opaque url-safe string that points to the end of the page of data that has been returned. example: NDMyNzQyODI3OTQw previous: type: string description: | API endpoint that will return the previous page of data. If not included, this is the first page of data. example: https://tenantapi.d.isym.io/v1/tenantinfo?limit=25&before=MTAxNTExOTQ1MjAwNzI5NDE= next: type: string description: | API endpoint that will return the next page of data. If not included, this is the last page of data. Due to how pagination works with visibility and privacy, it is possible that a page may be empty but contain a 'next' paging link. Stop paging when the 'next' link no longer appears. example: https://tenantapi.d.isym.io/v1/tenantinfo?limit=25&after=NDMyNzQyODI3OTQw V1AuditTrailInitiatorResponse: type: object properties: action: type: string description: The audit trail action that has peformed actionName: type: string description: The audit trail action name that has peformed timestamp: type: string description: The timestamp when the action has occurred initiatorId: type: string description: The user's id that has performed the action initiatorUsername: type: string description: The username that has performed the action initiatorEmailAddress: type: string description: The user's e-mail address that has performed the action description: | Audit Trail Initiator object response. The attributes may vary according to the action. There are different types of action and each action could have specific attributes. V1AuditTrailInitiatorList: type: object properties: items: type: array items: $ref: '#/components/schemas/V1AuditTrailInitiatorResponse' pagination: $ref: '#/components/schemas/Pagination' V5Datafeed: type: object properties: id: type: string description: ID of the datafeed createdAt: type: integer description: | [deprecated] Datafeed creation timestamp format: int64 deprecated: true type: type: string description: The type of feed. Only allowed value is "datahose". description: Container for the feed ID example: id: 371f465fb97b5d1027d20a5e7085863a_f type: fanout V5DatafeedCreateBody: type: object properties: tag: maxLength: 100 type: string description: A unique identifier to ensure uniqueness of the datafeed. includeInvisible: type: boolean description: Set to true to retrieve invisible rooms related events. Default is false. AckId: type: object properties: ackId: type: string description: | A unique id for events that can be deleted from a client's. Parameter must be omitted or set to empty string for the first read. For successive reads, must be set to the ackId received in the last Datafeed Read. updatePresence: type: boolean description: Set to false to avoid updating the user's presence when reading events. Default is true. default: true description: | An object containing the ackId (and parameters) associated with events that the client has received through an individual feed. V5EventList: type: object properties: events: type: array default: [] items: $ref: '#/components/schemas/V4Event' ackId: type: string description: | The ackId which acknowledges that the current batch of messages have been successfully received by the client V5EventsReadBody: required: - tag - type type: object properties: type: type: string description: The type of feed. Only allowed value is "datahose". tag: maxLength: 80 minLength: 1 type: string description: A unique identifier to ensure uniqueness of the datafeed. eventTypes: type: array description: | At least one value is required. Values must be valid Real-Time Events, i.e. one of: * MESSAGESENT * MESSAGESUPPRESSED * SYMPHONYELEMENTSACTION * SHAREDPOST * INSTANTMESSAGECREATED * ROOMCREATED * ROOMUPDATED * ROOMDEACTIVATED * ROOMREACTIVATED * USERREQUESTEDTOJOINROOM * USERJOINEDROOM * USERLEFTROOM * ROOMMEMBERPROMOTEDTOOWNER * ROOMMEMBERDEMOTEDFROMOWNER * CONNECTIONREQUESTED * CONNECTIONACCEPTED items: type: string x-since: 22.7 scopes: type: array description: | Allows to filter events by scope Scopes supported: * INTERNAL: Only events related to chats that are Internal are received. Shared Wall posts are included * EXTERNAL: Only events related to chats that are External are received. Connection Requested/Accepted events are included * FEDERATED: Only events related to chats that are Federated are received. Events that are not related to streams (Shared Wall Post, Connection Requested/Accepted) are not included. If more than one scope is set, then events included in the union of scopes will be received. If not set, then all events will be received. items: type: string x-since: 25.8 ackId: type: string description: | Must be omitted or set as an empty string for the first call. In successive calls, it must be set to the last read ackId. It acknowledges that the current batch of messages have been successfully received by the client. updatePresence: type: boolean description: | Whether to update the presence status of the account to AVAILABLE when calling the endpoint. Default value is true. default: true V3Health: type: object properties: services: type: object additionalProperties: $ref: '#/components/schemas/V3HealthComponent' status: $ref: '#/components/schemas/V3HealthStatus' users: type: object additionalProperties: $ref: '#/components/schemas/V3HealthComponent' version: type: string description: Required Agent verison V3HealthAuthType: type: string description: Type of authentication enum: - RSA - CERT V3HealthComponent: type: object properties: authType: $ref: '#/components/schemas/V3HealthAuthType' message: type: string description: An error message, if the component status is DOWN status: $ref: '#/components/schemas/V3HealthStatus' version: type: string description: Optional component version V3HealthStatus: type: string description: Application health status. enum: - UP - DOWN