From 398429b41def1c1c408c1b2d761c17f36072856d Mon Sep 17 00:00:00 2001 From: symphonyjenkinsauto Date: Wed, 24 Mar 2021 10:35:42 +0000 Subject: [PATCH 1/2] [release] specs updated for 20.12.0 --- agent/agent-api-public-deprecated.yaml | 1248 +++++++++-------- agent/agent-api-public.yaml | 927 ++++++------ .../authenticator-api-public-deprecated.yaml | 98 +- authenticator/authenticator-api-public.yaml | 94 +- login/login-api-public.yaml | 72 +- pod/pod-api-public-deprecated.yaml | 684 ++++----- pod/pod-api-public.yaml | 472 +++---- 7 files changed, 1753 insertions(+), 1842 deletions(-) diff --git a/agent/agent-api-public-deprecated.yaml b/agent/agent-api-public-deprecated.yaml index 1fb45c8..75726ac 100644 --- a/agent/agent-api-public-deprecated.yaml +++ b/agent/agent-api-public-deprecated.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1-SNAPSHOT' title: Agent API description: | This document refers to Symphony API calls to send and receive messages @@ -31,10 +31,10 @@ paths: post: summary: Create a new real time message event stream. description: | - A datafeed provides the messages in all conversations that a user is in. - This also includes system messages like new users joining a chatroom. + A datafeed provides the messages in all conversations that a user is in. + This also includes system messages like new users joining a chatroom. - A datafeed will expire if it isn't read before its capacity is reached. + A datafeed will expire if it isn't read before its capacity is reached. parameters: - name: sessionToken description: Session authentication token. @@ -81,35 +81,35 @@ paths: get: summary: Read a given datafeed. description: | - Read messages from the given datafeed. If no more messages are available then this method will block. - It is intended that the client should re-call this method as soon as it has processed the messages - received in the previous call. If the client is able to consume messages more quickly than they become - available then each call will initially block, there is no need to delay before re-calling this method. + Read messages from the given datafeed. If no more messages are available then this method will block. + It is intended that the client should re-call this method as soon as it has processed the messages + received in the previous call. If the client is able to consume messages more quickly than they become + available then each call will initially block, there is no need to delay before re-calling this method. - A datafeed will expire if its unread capacity is reached. - A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. + A datafeed will expire if its unread capacity is reached. + A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. parameters: - - name: id - description: | - Datafeed ID - in: path - required: true - type: string - - name: limit - description: | + - name: id + description: | + Datafeed ID + in: path + required: true + type: string + - name: limit + description: | Max No. of messages to return. - in: query - type: integer - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: true - type: string + in: query + type: integer + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: keyManagerToken + description: Key Manager authentication token. + in: header + required: true + type: string consumes: - application/json produces: @@ -139,99 +139,6 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/V2Error' - '/v2/HealthCheck': - get: - summary: Checks the health of the Agent. - description: | - Used to validate the configuration of the agent. - Makes a request to the HealthCheck on the Symphony cloud. - Makes a request to the HealthCheck on the Key Manager service. - Encryts and decrypts a message inside either agent or user SbeSession with wall thread id. - parameters: - - name: showFirehoseErrors - description: | - Flag to set if Firehose Service connectivity errors will show on Agent's healthcheck or not. - Default is "false", so no errors will show up if connectivity check isn't successful. - in: query - required: false - type: boolean - - name: failOnPodConnectivity - description: | - Defines the HealthCheck status code response whenever the Pod connectivity fails. When set to "true", - in case of Pod connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnKeyManagerConnectivity - description: | - Defines the HealthCheck status code response whenever the Key Manager connectivity fails. When set to "true", - in case of Key Manager connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnAgentServiceUser - description: | - Defines the HealthCheck status code response whenever the Agent Service User connectivity fails. When set to "true", - in case of Agent Service connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnCeServiceUser - description: | - Defines the HealthCheck status code response whenever the Content Export Service User connectivity fails. When set to "true", - in case of Content Export Service User connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnEncryptDecryptSuccess - description: | - Defines the status code response whenever the Encrypt/Decrypt message check fails. When set to "true", - in case of Encrypt or Decrypt failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnAny - description: | - Defines the status code response whenever at least one of the checks fails. When set to "true", - in case of any failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnDatafeedConnectivity - description: | - Defines the HealthCheck status code response whenever the Datafeed2 connectivity fails. When set to "true", - in case of Datafeed connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: sessionToken - description: Session authentication token. - in: header - required: false - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: false - type: string - consumes: - - application/json - produces: - - application/json - tags: - - System - responses: - '200': - description: The Agent is functioning properly. - schema: - $ref: '#/definitions/V2HealthCheckResponse' '/v3/health': get: summary: Checks health status @@ -436,21 +343,21 @@ paths: produces: - application/json parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: true - type: string - - name: id - description: Message ID as a URL-safe string - in: path - required: true - type: string + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: keyManagerToken + description: Key Manager authentication token. + in: header + required: true + type: string + - name: id + description: Message ID as a URL-safe string + in: path + required: true + type: string tags: - Messages responses: @@ -480,13 +387,13 @@ paths: get: 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. + 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. produces: - application/json parameters: @@ -556,7 +463,7 @@ paths: post: summary: Search messages description: | - Search messages according to the specified criteria. + Search messages according to the specified criteria. consumes: - application/json produces: @@ -689,17 +596,17 @@ paths: get: 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. + 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. + 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. produces: - application/json parameters: @@ -965,8 +872,8 @@ paths: '/v1/signals/list': get: summary: | - List signals for the requesting user. This includes signals that the user has created and public signals - to which they subscribed. + List signals for the requesting user. This includes signals that the user has created and public signals + to which they subscribed. consumes: - application/json produces: @@ -3241,19 +3148,19 @@ paths: description: Internal server error. schema: $ref: '#/definitions/V2Error' - - # - # Deprecated paths - # + +# +# Deprecated paths +# '/v1/datafeed/create': post: deprecated: true summary: Create a new real time message event stream. description: | - A datafeed provides the messages in all conversations that a user is in. - System messages like new users joining a chatroom are not part of the datafeed. + A datafeed provides the messages in all conversations that a user is in. + System messages like new users joining a chatroom are not part of the datafeed. - A datafeed will expire after if it isn't read before its capacity is reached. + A datafeed will expire after if it isn't read before its capacity is reached. parameters: - name: sessionToken description: Session authentication token. @@ -3305,35 +3212,35 @@ paths: deprecated: true summary: Read a given datafeed. description: | - Read messages from the given datafeed. If no more messages are available then this method will block. - It is intended that the client should re-call this method as soon as it has processed the messages - received in the previous call. If the client is able to consume messages more quickly than they become - available then each call will initially block, there is no need to delay before re-calling this method. + Read messages from the given datafeed. If no more messages are available then this method will block. + It is intended that the client should re-call this method as soon as it has processed the messages + received in the previous call. If the client is able to consume messages more quickly than they become + available then each call will initially block, there is no need to delay before re-calling this method. - A datafeed will expire if its unread capacity is reached. - A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. + A datafeed will expire if its unread capacity is reached. + A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. parameters: - - name: id - description: | - Datafeed ID - in: path - required: true - type: string - - name: maxMessages - description: | + - name: id + description: | + Datafeed ID + in: path + required: true + type: string + - name: maxMessages + description: | Max No. of messages to return. - in: query - type: integer - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: true - type: string + in: query + type: integer + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: keyManagerToken + description: Key Manager authentication token. + in: header + required: true + type: string consumes: - application/json produces: @@ -3372,9 +3279,9 @@ paths: deprecated: true summary: Checks the health of the Agent. description: | - Used to validate the configuration of the agent. - Makes a request to the HealthCheck on the Symphony cloud. - Makes a request to the HealthCheck on the Key Manager service. + Used to validate the configuration of the agent. + Makes a request to the HealthCheck on the Symphony cloud. + Makes a request to the HealthCheck on the Key Manager service. produces: - application/json tags: @@ -3388,44 +3295,141 @@ paths: X-Warning: description: This method is deprecated type: string - '/v2/datafeed/{id}/read': + '/v2/HealthCheck': get: deprecated: true - summary: Read a given datafeed. + summary: Checks the health of the Agent. description: | - Read messages from the given datafeed. If no more messages are available then this method will block. - It is intended that the client should re-call this method as soon as it has processed the messages - received in the previous call. If the client is able to consume messages more quickly than they become - available then each call will initially block, there is no need to delay before re-calling this method. - - A datafeed will expire if its unread capacity is reached. - A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. + [deprecated] : This endpoint is deprecated. + The health check endpoint to be used instead is '/v3/health/extended'. + Unlike this deprecated endpoint, the extended health check endpoint provides status on external component such as pod, key manager, ceservice, agentservice... parameters: - - name: id + - name: showFirehoseErrors description: | - Datafeed ID - in: path - required: true - type: string - - name: maxMessages + [deprecated] Firehose Service has never been deployed. However, this request parameter has been kept here + for specs backward compatibility. + in: query + required: false + type: boolean + - name: failOnPodConnectivity description: | - Max No. of messages to return. + Defines the HealthCheck status code response whenever the Pod connectivity fails. When set to "true", + in case of Pod connectivity failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". in: query - type: integer + required: false + type: boolean + - name: failOnKeyManagerConnectivity + description: | + Defines the HealthCheck status code response whenever the Key Manager connectivity fails. When set to "true", + in case of Key Manager connectivity failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". + in: query + required: false + type: boolean + - name: failOnAgentServiceUser + description: | + Defines the HealthCheck status code response whenever the Agent Service User connectivity fails. When set to "true", + in case of Agent Service connectivity failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". + in: query + required: false + type: boolean + - name: failOnCeServiceUser + description: | + Defines the HealthCheck status code response whenever the Content Export Service User connectivity fails. When set to "true", + in case of Content Export Service User connectivity failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". + in: query + required: false + type: boolean + - name: failOnEncryptDecryptSuccess + description: | + Defines the status code response whenever the Encrypt/Decrypt message check fails. When set to "true", + in case of Encrypt or Decrypt failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". + in: query + required: false + type: boolean + - name: failOnAny + description: | + Defines the status code response whenever at least one of the checks fails. When set to "true", + in case of any failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". + in: query + required: false + type: boolean + - name: failOnDatafeedConnectivity + description: | + Defines the HealthCheck status code response whenever the Datafeed2 connectivity fails. When set to "true", + in case of Datafeed connectivity failure, the response status code will be 503; otherwise, it will be 200. + Default value is "false". + in: query + required: false + type: boolean - name: sessionToken description: Session authentication token. in: header - required: true + required: false type: string - name: keyManagerToken description: Key Manager authentication token. in: header - required: true + required: false type: string consumes: - application/json produces: - application/json + tags: + - System + responses: + '200': + description: The Agent is functioning properly. + schema: + $ref: '#/definitions/V2HealthCheckResponse' + headers: + X-Warning: + description: This method is deprecated + type: string + '/v2/datafeed/{id}/read': + get: + deprecated: true + summary: Read a given datafeed. + description: | + Read messages from the given datafeed. If no more messages are available then this method will block. + It is intended that the client should re-call this method as soon as it has processed the messages + received in the previous call. If the client is able to consume messages more quickly than they become + available then each call will initially block, there is no need to delay before re-calling this method. + + A datafeed will expire if its unread capacity is reached. + A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. + parameters: + - name: id + description: | + Datafeed ID + in: path + required: true + type: string + - name: maxMessages + description: | + Max No. of messages to return. + in: query + type: integer + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: keyManagerToken + description: Key Manager authentication token. + in: header + required: true + type: string + consumes: + - application/json + produces: + - application/json tags: - Datafeed responses: @@ -3709,17 +3713,17 @@ paths: deprecated: true 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. + 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. + 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. produces: - application/json parameters: @@ -3794,17 +3798,17 @@ paths: deprecated: true 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. + 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. + 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. produces: - application/json parameters: @@ -4206,7 +4210,7 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/Error' - + definitions: Error: type: object @@ -4227,8 +4231,8 @@ definitions: details: type: object required: - - code - - message + - code + - message SuccessResponse: type: object properties: @@ -4253,187 +4257,187 @@ definitions: streamId: type: string required: - - v2messageType - - timestamp - - streamId + - v2messageType + - timestamp + - streamId V2Message: type: object description: A representation of a message sent by a user of Symphony. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - message: - type: string - format: MessageML - description: Message text in MessageML - fromUserId: - type: integer - format: int64 - 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). - attachments: - type: array - items: - $ref: '#/definitions/AttachmentInfo' - required: - - message - - fromUserId + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + message: + type: string + format: MessageML + description: Message text in MessageML + fromUserId: + type: integer + format: int64 + 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). + attachments: + type: array + items: + $ref: '#/definitions/AttachmentInfo' + required: + - message + - fromUserId RoomCreatedMessage: type: object description: Generated when a room is created. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - creationDate: - type: integer - format: int64 - name: - type: string - keywords: - type: array - items: - $ref: '#/definitions/RoomTag' - description: - type: string - createdByUserId: - type: integer - format: int64 - description: The Symphony userId of the user who created the room. - readOnly: - type: boolean - discoverable: - type: boolean - public: - type: boolean - membersCanInvite: - type: boolean - copyProtected: - type: boolean + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + creationDate: + type: integer + format: int64 + name: + type: string + keywords: + type: array + items: + $ref: '#/definitions/RoomTag' + description: + type: string + createdByUserId: + type: integer + format: int64 + description: The Symphony userId of the user who created the room. + readOnly: + type: boolean + discoverable: + type: boolean + public: + type: boolean + membersCanInvite: + type: boolean + copyProtected: + type: boolean RoomDeactivatedMessage: type: object description: Generated when a room is deactivated. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - deactivatedByUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + deactivatedByUserId: + type: integer + format: int64 RoomReactivatedMessage: type: object description: Generated when a room is reactivated. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - reactivatedByUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + reactivatedByUserId: + type: integer + format: int64 RoomUpdatedMessage: type: object description: Generated when a room is updated. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - oldName: - type: string - newName: - type: string - keywords: - type: array - items: - $ref: '#/definitions/RoomTag' - oldDescription: - type: string - newDescription: - type: string - membersCanInvite: - type: boolean - discoverable: - type: boolean - readOnly: - type: boolean - copyProtected: - type: boolean + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + oldName: + type: string + newName: + type: string + keywords: + type: array + items: + $ref: '#/definitions/RoomTag' + oldDescription: + type: string + newDescription: + type: string + membersCanInvite: + type: boolean + discoverable: + type: boolean + readOnly: + type: boolean + copyProtected: + type: boolean UserJoinedRoomMessage: type: object description: Generated when a user joins a room. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - addedByUserId: - type: integer - format: int64 - memberAddedUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + addedByUserId: + type: integer + format: int64 + memberAddedUserId: + type: integer + format: int64 UserLeftRoomMessage: type: object description: Generated when a user leaves a room. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - removedByUserId: - type: integer - format: int64 - memberLeftUserId: - type: integer - format: int64 - informationBarrierRemediation: - type: boolean + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + removedByUserId: + type: integer + format: int64 + memberLeftUserId: + type: integer + format: int64 + informationBarrierRemediation: + type: boolean RoomMemberPromotedToOwnerMessage: type: object description: Generated when a room member is promoted to owner. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - promotedByUserId: - type: integer - format: int64 - promotedUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + promotedByUserId: + type: integer + format: int64 + promotedUserId: + type: integer + format: int64 RoomMemberDemotedFromOwnerMessage: type: object description: Generated when a room member is promoted to owner. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - demotedByUserId: - type: integer - format: int64 - demotedUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + demotedByUserId: + type: integer + format: int64 + demotedUserId: + type: integer + format: int64 ConnectionRequestMessage: type: object description: Generated when a connection request is sent. allOf: - - $ref: '#/definitions/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 + - $ref: '#/definitions/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: type: object properties: @@ -4448,9 +4452,9 @@ definitions: format: int64 description: Size in bytes. required: - - id - - name - - size + - id + - name + - size V2MessageList: type: array items: @@ -4476,8 +4480,8 @@ definitions: description: The value of this Tag's label. type: string required: - - key - - value + - key + - value ShareArticle: type: object properties: @@ -4522,10 +4526,10 @@ definitions: type: string description: App icon url of the calling application required: - - title - - publisher - - author - - appId + - title + - publisher + - author + - appId ShareContent: type: object properties: @@ -4535,50 +4539,50 @@ definitions: content: $ref: '#/definitions/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 - 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. + 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 + 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: @@ -4665,11 +4669,11 @@ definitions: streamId: type: string required: - - message - - intendedMessageTimestamp - - intendedMessageFromUserId - - originatingSystemId - - streamId + - message + - intendedMessageTimestamp + - intendedMessageFromUserId + - originatingSystemId + - streamId V4ImportResponseList: type: array items: @@ -4714,9 +4718,9 @@ definitions: items: $ref: '#/definitions/V4ThumbnailInfo' required: - - id - - name - - size + - id + - name + - size V4ThumbnailInfo: type: object properties: @@ -5251,10 +5255,10 @@ definitions: V1DLPPolicy: type: object required: - - "contentTypes" - - "name" - - "scopes" - - "type" + - "contentTypes" + - "name" + - "scopes" + - "type" properties: active: type: boolean @@ -5313,10 +5317,10 @@ definitions: V1DLPPolicyRequest: type: object required: - - "contentTypes" - - "name" - - "scopes" - - "type" + - "contentTypes" + - "name" + - "scopes" + - "type" properties: contentTypes: type: array @@ -5353,7 +5357,7 @@ definitions: V1DLPDictionary: type: object required: - - dictionaryMetadata + - dictionaryMetadata properties: content: $ref: '#/definitions/V1DLPDictionaryContent' @@ -5395,7 +5399,7 @@ definitions: V1DLPDictionaryMetadataResponse: type: object required: - - data + - data properties: data: $ref: '#/definitions/V1DLPDictionaryMetadata' @@ -5403,8 +5407,8 @@ definitions: V1DLPDictionaryMetadataCreateRequest: type: object required: - - name - - type + - name + - type properties: name: type: string @@ -5419,7 +5423,7 @@ definitions: V1DLPDictionaryMetadataUpdateRequest: type: object required: - - name + - name properties: name: type: string @@ -5429,8 +5433,8 @@ definitions: V1DLPDictionaryMetadata: type: object required: - - dictRef - - type + - dictRef + - type properties: creationDate: type: integer @@ -5454,7 +5458,7 @@ definitions: V1DLPDictionaryRef: type: object required: - - name + - name properties: dictId: type: string @@ -5514,8 +5518,8 @@ definitions: 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. + 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: @@ -5569,8 +5573,8 @@ definitions: 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? + type: boolean + description: Did the user chose to ignore DLP warning that was presented? V1DLPMatchedPolicyList: type: array items: @@ -5598,9 +5602,9 @@ definitions: 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. + 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. V1DLPOutcome: type: object description: A representation of outcome of DLP message/stream/signal sent by a user of Symphony @@ -5619,93 +5623,93 @@ definitions: type: object description: Room details in the context of violation. 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 - format: int64 - description: Timestamp of last time the room is Disabled - 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. + 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 + format: int64 + description: Timestamp of last time the room is Disabled + 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. V1DLPSignal: type: object description: Signal details properties: - 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. + 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. - # - # V3 Policies definitions - # +# +# V3 Policies definitions +# V3DLPPolicyRequest: type: object required: @@ -5793,8 +5797,8 @@ definitions: V3DLPRule: type: object required: - - "type" - - "name" + - "type" + - "name" properties: id: type: string @@ -5815,25 +5819,25 @@ definitions: fileClassifierConfig: $ref: '#/definitions/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]. + 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: type: object required: - "applicableFileTypes" - "matchCriteria" properties: - applicableFileTypes: - type: array - items: + applicableFileTypes: + type: array + items: + type: string + description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. + matchCriteria: type: string - description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. - 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: | + 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: type: object @@ -5864,14 +5868,14 @@ definitions: dictionaries: type: array items: - $ref: '#/definitions/V3DLPDictionaryMeta' + $ref: '#/definitions/V3DLPDictionaryMeta' countUniqueOccurrences: type: integer format: int32 applicableFileTypes: type: array items: - type: string + type: string description: | File types must be applied only for rule type "FileContent", otherwise must be empty. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. @@ -5902,16 +5906,16 @@ definitions: classifiers: type: object additionalProperties: - type: string + 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. + 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 items: - type: string + type: string description: | File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. V3DLPPolicyAppliesTo: @@ -6005,8 +6009,8 @@ definitions: # Message details when DLP was enforced $ref: '#/definitions/V4Message' sharedMessage: - description: Shared message details if present in message. - $ref: '#/definitions/V4Message' + description: Shared message details if present in message. + $ref: '#/definitions/V4Message' diagnostic: type: string description: | @@ -6067,8 +6071,8 @@ definitions: 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? + type: boolean + description: Did the user chose to ignore DLP warning that was presented? Pagination: type: object required: @@ -6175,21 +6179,21 @@ definitions: type: string description: The ackId which acknowledges that the current batch of messages have been successfully received by the client V3Health: - properties: - services: - additionalProperties: - $ref: '#/definitions/V3HealthComponent' - type: object - status: - $ref: '#/definitions/V3HealthStatus' - users: - additionalProperties: - $ref: '#/definitions/V3HealthComponent' - type: object - version: - description: Required Agent verison - type: string - type: object + properties: + services: + additionalProperties: + $ref: '#/definitions/V3HealthComponent' + type: object + status: + $ref: '#/definitions/V3HealthStatus' + users: + additionalProperties: + $ref: '#/definitions/V3HealthComponent' + type: object + version: + description: Required Agent verison + type: string + type: object V3HealthAuthType: description: Type of authentication enum: @@ -6215,10 +6219,10 @@ definitions: - UP - DOWN type: string - - # - # Deprecated definitions - # + +# +# Deprecated definitions +# MessageSubmission: type: object properties: @@ -6287,18 +6291,18 @@ definitions: streamId: type: string required: - - message - - intendedMessageTimestamp - - intendedMessageFromUserId - - originatingSystemId - - streamId + - message + - intendedMessageTimestamp + - intendedMessageFromUserId + - originatingSystemId + - streamId V2MessageImportList: - description: | - An ordered list of historic messages to be imported. - A list of import responsees will be returned in the same order. - type: array - items: - $ref: '#/definitions/V2ImportedMessage' + description: | + An ordered list of historic messages to be imported. + A list of import responsees will be returned in the same order. + type: array + items: + $ref: '#/definitions/V2ImportedMessage' V2ImportedMessage: description: | A historic message to be imported into the system. @@ -6340,11 +6344,11 @@ definitions: streamId: type: string required: - - message - - intendedMessageTimestamp - - intendedMessageFromUserId - - originatingSystemId - - streamId + - message + - intendedMessageTimestamp + - intendedMessageFromUserId + - originatingSystemId + - streamId ImportResponseList: type: array items: @@ -6403,9 +6407,9 @@ definitions: streamId: type: string required: - - messageType - - timestamp - - streamId + - messageType + - timestamp + - streamId V1HealthCheckResponse: deprecated: true type: object @@ -6429,22 +6433,22 @@ definitions: type: object description: A representation of a message sent by a user of Symphony. allOf: - - $ref: '#/definitions/BaseMessage' - - type: object - properties: - message: - type: string - format: MessageML - description: Message text in MessageML - fromUserId: - type: integer - format: int64 - 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). - required: - - message - - fromUserId + - $ref: '#/definitions/BaseMessage' + - type: object + properties: + message: + type: string + format: MessageML + description: Message text in MessageML + fromUserId: + type: integer + format: int64 + 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). + required: + - message + - fromUserId MessageList: type: array items: $ref: '#/definitions/Message' - + diff --git a/agent/agent-api-public.yaml b/agent/agent-api-public.yaml index 071b4b5..a127fdc 100644 --- a/agent/agent-api-public.yaml +++ b/agent/agent-api-public.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1-SNAPSHOT' title: Agent API description: | This document refers to Symphony API calls to send and receive messages @@ -31,10 +31,10 @@ paths: post: summary: Create a new real time message event stream. description: | - A datafeed provides the messages in all conversations that a user is in. - This also includes system messages like new users joining a chatroom. + A datafeed provides the messages in all conversations that a user is in. + This also includes system messages like new users joining a chatroom. - A datafeed will expire if it isn't read before its capacity is reached. + A datafeed will expire if it isn't read before its capacity is reached. parameters: - name: sessionToken description: Session authentication token. @@ -81,35 +81,35 @@ paths: get: summary: Read a given datafeed. description: | - Read messages from the given datafeed. If no more messages are available then this method will block. - It is intended that the client should re-call this method as soon as it has processed the messages - received in the previous call. If the client is able to consume messages more quickly than they become - available then each call will initially block, there is no need to delay before re-calling this method. + Read messages from the given datafeed. If no more messages are available then this method will block. + It is intended that the client should re-call this method as soon as it has processed the messages + received in the previous call. If the client is able to consume messages more quickly than they become + available then each call will initially block, there is no need to delay before re-calling this method. - A datafeed will expire if its unread capacity is reached. - A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. + A datafeed will expire if its unread capacity is reached. + A datafeed can only be consumed by one client thread at a time. E.g. polling the datafeed by two threads may lead to messages being delivered out of order. parameters: - - name: id - description: | - Datafeed ID - in: path - required: true - type: string - - name: limit - description: | + - name: id + description: | + Datafeed ID + in: path + required: true + type: string + - name: limit + description: | Max No. of messages to return. - in: query - type: integer - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: true - type: string + in: query + type: integer + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: keyManagerToken + description: Key Manager authentication token. + in: header + required: true + type: string consumes: - application/json produces: @@ -139,99 +139,6 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/V2Error' - '/v2/HealthCheck': - get: - summary: Checks the health of the Agent. - description: | - Used to validate the configuration of the agent. - Makes a request to the HealthCheck on the Symphony cloud. - Makes a request to the HealthCheck on the Key Manager service. - Encryts and decrypts a message inside either agent or user SbeSession with wall thread id. - parameters: - - name: showFirehoseErrors - description: | - Flag to set if Firehose Service connectivity errors will show on Agent's healthcheck or not. - Default is "false", so no errors will show up if connectivity check isn't successful. - in: query - required: false - type: boolean - - name: failOnPodConnectivity - description: | - Defines the HealthCheck status code response whenever the Pod connectivity fails. When set to "true", - in case of Pod connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnKeyManagerConnectivity - description: | - Defines the HealthCheck status code response whenever the Key Manager connectivity fails. When set to "true", - in case of Key Manager connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnAgentServiceUser - description: | - Defines the HealthCheck status code response whenever the Agent Service User connectivity fails. When set to "true", - in case of Agent Service connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnCeServiceUser - description: | - Defines the HealthCheck status code response whenever the Content Export Service User connectivity fails. When set to "true", - in case of Content Export Service User connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnEncryptDecryptSuccess - description: | - Defines the status code response whenever the Encrypt/Decrypt message check fails. When set to "true", - in case of Encrypt or Decrypt failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnAny - description: | - Defines the status code response whenever at least one of the checks fails. When set to "true", - in case of any failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: failOnDatafeedConnectivity - description: | - Defines the HealthCheck status code response whenever the Datafeed2 connectivity fails. When set to "true", - in case of Datafeed connectivity failure, the response status code will be 503; otherwise, it will be 200. - Default value is "false". - in: query - required: false - type: boolean - - name: sessionToken - description: Session authentication token. - in: header - required: false - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: false - type: string - consumes: - - application/json - produces: - - application/json - tags: - - System - responses: - '200': - description: The Agent is functioning properly. - schema: - $ref: '#/definitions/V2HealthCheckResponse' '/v3/health': get: summary: Checks health status @@ -436,21 +343,21 @@ paths: produces: - application/json parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: keyManagerToken - description: Key Manager authentication token. - in: header - required: true - type: string - - name: id - description: Message ID as a URL-safe string - in: path - required: true - type: string + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: keyManagerToken + description: Key Manager authentication token. + in: header + required: true + type: string + - name: id + description: Message ID as a URL-safe string + in: path + required: true + type: string tags: - Messages responses: @@ -480,13 +387,13 @@ paths: get: 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. + 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. produces: - application/json parameters: @@ -556,7 +463,7 @@ paths: post: summary: Search messages description: | - Search messages according to the specified criteria. + Search messages according to the specified criteria. consumes: - application/json produces: @@ -689,17 +596,17 @@ paths: get: 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. + 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. + 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. produces: - application/json parameters: @@ -965,8 +872,8 @@ paths: '/v1/signals/list': get: summary: | - List signals for the requesting user. This includes signals that the user has created and public signals - to which they subscribed. + List signals for the requesting user. This includes signals that the user has created and public signals + to which they subscribed. consumes: - application/json produces: @@ -3241,7 +3148,7 @@ paths: description: Internal server error. schema: $ref: '#/definitions/V2Error' - + definitions: Error: type: object @@ -3262,8 +3169,8 @@ definitions: details: type: object required: - - code - - message + - code + - message SuccessResponse: type: object properties: @@ -3288,187 +3195,187 @@ definitions: streamId: type: string required: - - v2messageType - - timestamp - - streamId + - v2messageType + - timestamp + - streamId V2Message: type: object description: A representation of a message sent by a user of Symphony. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - message: - type: string - format: MessageML - description: Message text in MessageML - fromUserId: - type: integer - format: int64 - 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). - attachments: - type: array - items: - $ref: '#/definitions/AttachmentInfo' - required: - - message - - fromUserId + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + message: + type: string + format: MessageML + description: Message text in MessageML + fromUserId: + type: integer + format: int64 + 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). + attachments: + type: array + items: + $ref: '#/definitions/AttachmentInfo' + required: + - message + - fromUserId RoomCreatedMessage: type: object description: Generated when a room is created. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - creationDate: - type: integer - format: int64 - name: - type: string - keywords: - type: array - items: - $ref: '#/definitions/RoomTag' - description: - type: string - createdByUserId: - type: integer - format: int64 - description: The Symphony userId of the user who created the room. - readOnly: - type: boolean - discoverable: - type: boolean - public: - type: boolean - membersCanInvite: - type: boolean - copyProtected: - type: boolean + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + creationDate: + type: integer + format: int64 + name: + type: string + keywords: + type: array + items: + $ref: '#/definitions/RoomTag' + description: + type: string + createdByUserId: + type: integer + format: int64 + description: The Symphony userId of the user who created the room. + readOnly: + type: boolean + discoverable: + type: boolean + public: + type: boolean + membersCanInvite: + type: boolean + copyProtected: + type: boolean RoomDeactivatedMessage: type: object description: Generated when a room is deactivated. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - deactivatedByUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + deactivatedByUserId: + type: integer + format: int64 RoomReactivatedMessage: type: object description: Generated when a room is reactivated. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - reactivatedByUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + reactivatedByUserId: + type: integer + format: int64 RoomUpdatedMessage: type: object description: Generated when a room is updated. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - oldName: - type: string - newName: - type: string - keywords: - type: array - items: - $ref: '#/definitions/RoomTag' - oldDescription: - type: string - newDescription: - type: string - membersCanInvite: - type: boolean - discoverable: - type: boolean - readOnly: - type: boolean - copyProtected: - type: boolean + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + oldName: + type: string + newName: + type: string + keywords: + type: array + items: + $ref: '#/definitions/RoomTag' + oldDescription: + type: string + newDescription: + type: string + membersCanInvite: + type: boolean + discoverable: + type: boolean + readOnly: + type: boolean + copyProtected: + type: boolean UserJoinedRoomMessage: type: object description: Generated when a user joins a room. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - addedByUserId: - type: integer - format: int64 - memberAddedUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + addedByUserId: + type: integer + format: int64 + memberAddedUserId: + type: integer + format: int64 UserLeftRoomMessage: type: object description: Generated when a user leaves a room. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - removedByUserId: - type: integer - format: int64 - memberLeftUserId: - type: integer - format: int64 - informationBarrierRemediation: - type: boolean + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + removedByUserId: + type: integer + format: int64 + memberLeftUserId: + type: integer + format: int64 + informationBarrierRemediation: + type: boolean RoomMemberPromotedToOwnerMessage: type: object description: Generated when a room member is promoted to owner. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - promotedByUserId: - type: integer - format: int64 - promotedUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + promotedByUserId: + type: integer + format: int64 + promotedUserId: + type: integer + format: int64 RoomMemberDemotedFromOwnerMessage: type: object description: Generated when a room member is promoted to owner. allOf: - - $ref: '#/definitions/V2BaseMessage' - - type: object - properties: - demotedByUserId: - type: integer - format: int64 - demotedUserId: - type: integer - format: int64 + - $ref: '#/definitions/V2BaseMessage' + - type: object + properties: + demotedByUserId: + type: integer + format: int64 + demotedUserId: + type: integer + format: int64 ConnectionRequestMessage: type: object description: Generated when a connection request is sent. allOf: - - $ref: '#/definitions/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 + - $ref: '#/definitions/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: type: object properties: @@ -3483,9 +3390,9 @@ definitions: format: int64 description: Size in bytes. required: - - id - - name - - size + - id + - name + - size V2MessageList: type: array items: @@ -3511,8 +3418,8 @@ definitions: description: The value of this Tag's label. type: string required: - - key - - value + - key + - value ShareArticle: type: object properties: @@ -3557,10 +3464,10 @@ definitions: type: string description: App icon url of the calling application required: - - title - - publisher - - author - - appId + - title + - publisher + - author + - appId ShareContent: type: object properties: @@ -3570,50 +3477,50 @@ definitions: content: $ref: '#/definitions/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 - 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. + 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 + 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: @@ -3700,11 +3607,11 @@ definitions: streamId: type: string required: - - message - - intendedMessageTimestamp - - intendedMessageFromUserId - - originatingSystemId - - streamId + - message + - intendedMessageTimestamp + - intendedMessageFromUserId + - originatingSystemId + - streamId V4ImportResponseList: type: array items: @@ -3749,9 +3656,9 @@ definitions: items: $ref: '#/definitions/V4ThumbnailInfo' required: - - id - - name - - size + - id + - name + - size V4ThumbnailInfo: type: object properties: @@ -4286,10 +4193,10 @@ definitions: V1DLPPolicy: type: object required: - - "contentTypes" - - "name" - - "scopes" - - "type" + - "contentTypes" + - "name" + - "scopes" + - "type" properties: active: type: boolean @@ -4348,10 +4255,10 @@ definitions: V1DLPPolicyRequest: type: object required: - - "contentTypes" - - "name" - - "scopes" - - "type" + - "contentTypes" + - "name" + - "scopes" + - "type" properties: contentTypes: type: array @@ -4388,7 +4295,7 @@ definitions: V1DLPDictionary: type: object required: - - dictionaryMetadata + - dictionaryMetadata properties: content: $ref: '#/definitions/V1DLPDictionaryContent' @@ -4430,7 +4337,7 @@ definitions: V1DLPDictionaryMetadataResponse: type: object required: - - data + - data properties: data: $ref: '#/definitions/V1DLPDictionaryMetadata' @@ -4438,8 +4345,8 @@ definitions: V1DLPDictionaryMetadataCreateRequest: type: object required: - - name - - type + - name + - type properties: name: type: string @@ -4454,7 +4361,7 @@ definitions: V1DLPDictionaryMetadataUpdateRequest: type: object required: - - name + - name properties: name: type: string @@ -4464,8 +4371,8 @@ definitions: V1DLPDictionaryMetadata: type: object required: - - dictRef - - type + - dictRef + - type properties: creationDate: type: integer @@ -4489,7 +4396,7 @@ definitions: V1DLPDictionaryRef: type: object required: - - name + - name properties: dictId: type: string @@ -4549,8 +4456,8 @@ definitions: 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. + 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: @@ -4604,8 +4511,8 @@ definitions: 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? + type: boolean + description: Did the user chose to ignore DLP warning that was presented? V1DLPMatchedPolicyList: type: array items: @@ -4633,9 +4540,9 @@ definitions: 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. + 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. V1DLPOutcome: type: object description: A representation of outcome of DLP message/stream/signal sent by a user of Symphony @@ -4654,93 +4561,93 @@ definitions: type: object description: Room details in the context of violation. 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 - format: int64 - description: Timestamp of last time the room is Disabled - 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. + 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 + format: int64 + description: Timestamp of last time the room is Disabled + 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. V1DLPSignal: type: object description: Signal details properties: - 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. + 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. - # - # V3 Policies definitions - # +# +# V3 Policies definitions +# V3DLPPolicyRequest: type: object required: @@ -4828,8 +4735,8 @@ definitions: V3DLPRule: type: object required: - - "type" - - "name" + - "type" + - "name" properties: id: type: string @@ -4850,25 +4757,25 @@ definitions: fileClassifierConfig: $ref: '#/definitions/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]. + 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: type: object required: - "applicableFileTypes" - "matchCriteria" properties: - applicableFileTypes: - type: array - items: + applicableFileTypes: + type: array + items: + type: string + description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. + matchCriteria: type: string - description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. - 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: | + 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: type: object @@ -4899,14 +4806,14 @@ definitions: dictionaries: type: array items: - $ref: '#/definitions/V3DLPDictionaryMeta' + $ref: '#/definitions/V3DLPDictionaryMeta' countUniqueOccurrences: type: integer format: int32 applicableFileTypes: type: array items: - type: string + type: string description: | File types must be applied only for rule type "FileContent", otherwise must be empty. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. @@ -4937,16 +4844,16 @@ definitions: classifiers: type: object additionalProperties: - type: string + 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. + 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 items: - type: string + type: string description: | File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. V3DLPPolicyAppliesTo: @@ -5040,8 +4947,8 @@ definitions: # Message details when DLP was enforced $ref: '#/definitions/V4Message' sharedMessage: - description: Shared message details if present in message. - $ref: '#/definitions/V4Message' + description: Shared message details if present in message. + $ref: '#/definitions/V4Message' diagnostic: type: string description: | @@ -5102,8 +5009,8 @@ definitions: 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? + type: boolean + description: Did the user chose to ignore DLP warning that was presented? Pagination: type: object required: @@ -5210,21 +5117,21 @@ definitions: type: string description: The ackId which acknowledges that the current batch of messages have been successfully received by the client V3Health: - properties: - services: - additionalProperties: - $ref: '#/definitions/V3HealthComponent' - type: object - status: - $ref: '#/definitions/V3HealthStatus' - users: - additionalProperties: - $ref: '#/definitions/V3HealthComponent' - type: object - version: - description: Required Agent verison - type: string - type: object + properties: + services: + additionalProperties: + $ref: '#/definitions/V3HealthComponent' + type: object + status: + $ref: '#/definitions/V3HealthStatus' + users: + additionalProperties: + $ref: '#/definitions/V3HealthComponent' + type: object + version: + description: Required Agent verison + type: string + type: object V3HealthAuthType: description: Type of authentication enum: @@ -5250,4 +5157,4 @@ definitions: - UP - DOWN type: string - + diff --git a/authenticator/authenticator-api-public-deprecated.yaml b/authenticator/authenticator-api-public-deprecated.yaml index 22830c5..f160d94 100644 --- a/authenticator/authenticator-api-public-deprecated.yaml +++ b/authenticator/authenticator-api-public-deprecated.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1' title: Authenticator API description: | For bots and other on-premise processes to authenticate. Once @@ -175,44 +175,44 @@ paths: schema: $ref: '#/definitions/Error' '/v1/app/username/{username}/authenticate': - post: - summary: PROVISIONAL - Authenicate an application in a delegated context to act on behalf of a user - parameters: - - name: username - description: username - in: path - required: true - type: string - - name: sessionToken - description: Authorization token obtains from app/authenicate API - in: header - required: true - type: string - produces: - - application/json - tags: - - CertificateAuthentication - responses: - '200': - description: OK. - schema: - $ref: '#/definitions/OboAuthResponse' - '400': - description: 'Client error.' - schema: - $ref: '#/definitions/Error' - '403': - description: 'Forbidden: Certificate authentication is not allowed for the requested user.' - schema: - $ref: '#/definitions/Error' - '404': - description: 'Username not found' - schema: - $ref: '#/definitions/Error' - '500': - description: 'Server error, see response body for further details.' - schema: - $ref: '#/definitions/Error' + post: + summary: PROVISIONAL - Authenicate an application in a delegated context to act on behalf of a user + parameters: + - name: username + description: username + in: path + required: true + type: string + - name: sessionToken + description: Authorization token obtains from app/authenicate API + in: header + required: true + type: string + produces: + - application/json + tags: + - CertificateAuthentication + responses: + '200': + description: OK. + schema: + $ref: '#/definitions/OboAuthResponse' + '400': + description: 'Client error.' + schema: + $ref: '#/definitions/Error' + '403': + description: 'Forbidden: Certificate authentication is not allowed for the requested user.' + schema: + $ref: '#/definitions/Error' + '404': + description: 'Username not found' + schema: + $ref: '#/definitions/Error' + '500': + description: 'Server error, see response body for further details.' + schema: + $ref: '#/definitions/Error' '/v1/logout': post: summary: Logout. @@ -245,11 +245,11 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/Error' - + # # Deprecated paths # - + definitions: Error: type: object @@ -274,12 +274,12 @@ definitions: the client. It is not intended to conatain any data interpretable by the client. The format is secret and subject to change without notice. ExtensionAppAuthenticateRequest: - type: object - description: Request body for extension app authentication - properties: - appToken: - type: string - description: application generated token + type: object + description: Request body for extension app authentication + properties: + appToken: + type: string + description: application generated token ExtensionAppTokens: type: object properties: @@ -313,8 +313,8 @@ definitions: certificate: description: Certificate in PEM format type: string - + # # Deprecated definitions # - + diff --git a/authenticator/authenticator-api-public.yaml b/authenticator/authenticator-api-public.yaml index 5906561..5e133e9 100644 --- a/authenticator/authenticator-api-public.yaml +++ b/authenticator/authenticator-api-public.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1' title: Authenticator API description: | For bots and other on-premise processes to authenticate. Once @@ -175,44 +175,44 @@ paths: schema: $ref: '#/definitions/Error' '/v1/app/username/{username}/authenticate': - post: - summary: PROVISIONAL - Authenicate an application in a delegated context to act on behalf of a user - parameters: - - name: username - description: username - in: path - required: true - type: string - - name: sessionToken - description: Authorization token obtains from app/authenicate API - in: header - required: true - type: string - produces: - - application/json - tags: - - CertificateAuthentication - responses: - '200': - description: OK. - schema: - $ref: '#/definitions/OboAuthResponse' - '400': - description: 'Client error.' - schema: - $ref: '#/definitions/Error' - '403': - description: 'Forbidden: Certificate authentication is not allowed for the requested user.' - schema: - $ref: '#/definitions/Error' - '404': - description: 'Username not found' - schema: - $ref: '#/definitions/Error' - '500': - description: 'Server error, see response body for further details.' - schema: - $ref: '#/definitions/Error' + post: + summary: PROVISIONAL - Authenicate an application in a delegated context to act on behalf of a user + parameters: + - name: username + description: username + in: path + required: true + type: string + - name: sessionToken + description: Authorization token obtains from app/authenicate API + in: header + required: true + type: string + produces: + - application/json + tags: + - CertificateAuthentication + responses: + '200': + description: OK. + schema: + $ref: '#/definitions/OboAuthResponse' + '400': + description: 'Client error.' + schema: + $ref: '#/definitions/Error' + '403': + description: 'Forbidden: Certificate authentication is not allowed for the requested user.' + schema: + $ref: '#/definitions/Error' + '404': + description: 'Username not found' + schema: + $ref: '#/definitions/Error' + '500': + description: 'Server error, see response body for further details.' + schema: + $ref: '#/definitions/Error' '/v1/logout': post: summary: Logout. @@ -245,7 +245,7 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/Error' - + definitions: Error: type: object @@ -270,12 +270,12 @@ definitions: the client. It is not intended to conatain any data interpretable by the client. The format is secret and subject to change without notice. ExtensionAppAuthenticateRequest: - type: object - description: Request body for extension app authentication - properties: - appToken: - type: string - description: application generated token + type: object + description: Request body for extension app authentication + properties: + appToken: + type: string + description: application generated token ExtensionAppTokens: type: object properties: @@ -309,4 +309,4 @@ definitions: certificate: description: Certificate in PEM format type: string - + diff --git a/login/login-api-public.yaml b/login/login-api-public.yaml index 95c14f7..aef0ee5 100644 --- a/login/login-api-public.yaml +++ b/login/login-api-public.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1' title: Login API description: | For bots and other on-premise processes to authenticate. Once @@ -83,7 +83,7 @@ paths: '400': description: 'Request object is invalid' schema: - $ref: '#/definitions/Error' + $ref: '#/definitions/Error' '401': description: 'Client is unauthorized to access this resource' schema: @@ -204,7 +204,7 @@ paths: '500': description: 'Server error, see response body for further details.' schema: - $ref: '#/definitions/Error' + $ref: '#/definitions/Error' definitions: Error: type: object @@ -229,38 +229,38 @@ definitions: the client. It is not intended to contain any data interpretable by the client. The format is secret and subject to change without notice. AuthenticateRequest: - type: object - description: Request body for pubkey authentication - properties: - token: - type: string - description: a JWT containing the caller's username or application appGroupId and an expiration date, signed by the caller's private key. + type: object + description: Request body for pubkey authentication + properties: + token: + type: string + description: a JWT containing the caller's username or application appGroupId and an expiration date, signed by the caller's private key. AuthenticateExtensionAppRequest: - type: object - description: Request body for extension app authentication - properties: - appToken: - type: string - description: application generated token - authToken: - type: string - description: a JWT containing the caller's username and an expiration date, signed by the caller's private key. + type: object + description: Request body for extension app authentication + properties: + appToken: + type: string + description: application generated token + authToken: + type: string + description: a JWT containing the caller's username and an expiration date, signed by the caller's private key. ExtensionAppTokens: - type: object - properties: - appId: - description: Application ID - type: string - appToken: - description: | - This token generated by the application when calling authentication endpoint - type: string - symphonyToken: - type: string - description: | - This token generated by Symphony and should be used by the application to verify that it's talking to Symphony. - expireAt: - type: integer - format: int64 - description: unix timestamp when the token expired - + type: object + properties: + appId: + description: Application ID + type: string + appToken: + description: | + This token generated by the application when calling authentication endpoint + type: string + symphonyToken: + type: string + description: | + This token generated by Symphony and should be used by the application to verify that it's talking to Symphony. + expireAt: + type: integer + format: int64 + description: unix timestamp when the token expired + diff --git a/pod/pod-api-public-deprecated.yaml b/pod/pod-api-public-deprecated.yaml index e2db499..2b8e0e6 100644 --- a/pod/pod-api-public-deprecated.yaml +++ b/pod/pod-api-public-deprecated.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1' title: Pod API description: | This document refers to Symphony API calls that do not need @@ -686,21 +686,21 @@ paths: post: summary: Create a new single or multi party instant message conversation between the caller and specified users. description: | - At least one user ID must be provided or - an error response will be sent. + At least one user ID must be provided or + an error response will be sent. - The caller is implicitly included in the members of the - created chat. + The caller is implicitly included in the members of the + created chat. - Duplicate users will be included in the membership of the chat but - the duplication will be silently ignored. + Duplicate users will be included in the membership of the chat but + the duplication will be silently ignored. - If there is an existing IM conversation with the same set of participants then - the id of that existing stream will be returned. + If there is an existing IM conversation with the same set of participants then + the id of that existing stream will be returned. - This method was incorrectly specified to take a query parameter in - version 1.0 of this specification but now expects a JSON array of - user IDs in the body of the request. + This method was incorrectly specified to take a query parameter in + version 1.0 of this specification but now expects a JSON array of + user IDs in the body of the request. consumes: - application/json produces: @@ -744,11 +744,11 @@ paths: post: summary: Create Presence status feed. description: | - Create a new stream capturing presence status changes ("presence feed"). - When read from, the feed will return the current presence status of company (pod) users - if it has changed since the last read. + Create a new stream capturing presence status changes ("presence feed"). + When read from, the feed will return the current presence status of company (pod) users + if it has changed since the last read. - Returns the ID of the presence feed to be used in subsequent read operations. + Returns the ID of the presence feed to be used in subsequent read operations. consumes: - application/json produces: @@ -786,8 +786,8 @@ paths: get: summary: Read a presence status feed. description: | - Returns the current presence status of company (pod) users - if it has changed since the last read. Returns up to 500 records at a time. + Returns the current presence status of company (pod) users + if it has changed since the last read. Returns up to 500 records at a time. produces: - application/json parameters: @@ -828,7 +828,7 @@ paths: post: summary: Delete a presence status feed. description: | - Returns the ID of the deleted feed. + Returns the ID of the deleted feed. consumes: - application/json produces: @@ -1513,7 +1513,7 @@ paths: schema: $ref: '#/definitions/UserIdList' tags: - - Presence + - Presence responses: '200': description: OK @@ -1630,14 +1630,14 @@ paths: format: int64 - name: local description: | - If true, a local query will be performed and the presence will be - set to OFFLINE for users who are not local to the calling user's - pod. If false or absent, then the presence of all local users and - the presence of all external users to whom the calling user is - connected will be queried. + If true, a local query will be performed and the presence will be + set to OFFLINE for users who are not local to the calling user's + pod. If false or absent, then the presence of all local users and + the presence of all external users to whom the calling user is + connected will be queried. - For external users, a "presence interest" should be registered through - /v1/user/presence/register before querying for presence. + For external users, a "presence interest" should be registered through + /v1/user/presence/register before querying for presence. in: query type: boolean required: false @@ -1695,26 +1695,26 @@ paths: To avoid this situation, a presence feed should be created (and optionally read from) first to capture presence changes of users who get reactivated during a paged call to this endpoint. produces: - - application/json + - application/json parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: lastUserId - description: Last user ID retrieved. Used for paging; if provided, results will skip users with IDs less than this parameter. - in: query - required: false - type: integer - format: int64 - - name: limit - description: Max number of records to return. If no value is provided, 1000 is the default. The maximum supported value is 5000. - in: query - type: integer - required: false + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: lastUserId + description: Last user ID retrieved. Used for paging; if provided, results will skip users with IDs less than this parameter. + in: query + required: false + type: integer + format: int64 + - name: limit + description: Max number of records to return. If no value is provided, 1000 is the default. The maximum supported value is 5000. + in: query + type: integer + required: false tags: - - Presence + - Presence responses: '200': description: OK @@ -1740,30 +1740,30 @@ paths: post: summary: Set presence information for a particular user. produces: - - application/json + - application/json parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: soft - description: | - If true, the user's current status is taken into consideration. If the user is currently OFFLINE, - the user's presence will still be OFFLINE, but the new presence will take effect when the - user comes online. If the user is currently online, the user's activity state will be - applied to the presence if applicable. (e.g. if you are setting their presence to AVAILABLE, - but the user is currently idle, their status will be represented as AWAY) - in: query - required: false - type: boolean - - name: presence - in: body - required: true - schema: - $ref: '#/definitions/V2UserPresence' + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: soft + description: | + If true, the user's current status is taken into consideration. If the user is currently OFFLINE, + the user's presence will still be OFFLINE, but the new presence will take effect when the + user comes online. If the user is currently online, the user's activity state will be + applied to the presence if applicable. (e.g. if you are setting their presence to AVAILABLE, + but the user is currently idle, their status will be represented as AWAY) + in: query + required: false + type: boolean + - name: presence + in: body + required: true + schema: + $ref: '#/definitions/V2UserPresence' tags: - - Presence + - Presence responses: '200': description: OK @@ -1807,9 +1807,9 @@ paths: type: integer - name: local description: | - If true then a local DB search will be performed and only local pod users will be - returned. If absent or false then a directory search will be performed and users - from other pods who are visible to the calling user will also be returned. + If true then a local DB search will be performed and only local pod users will be + returned. If absent or false then a directory search will be performed and users + from other pods who are visible to the calling user will also be returned. in: query required: false type: boolean @@ -1887,7 +1887,7 @@ paths: schema: $ref: '#/definitions/StreamList' '204': - description: 'Stream not found.' + description: 'Stream not found.' '400': description: 'Client error.' schema: @@ -2381,17 +2381,17 @@ paths: post: summary: Create a new single or multi party instant message conversation description: | - At least two user IDs must be provided or - an error response will be sent. + At least two user IDs must be provided or + an error response will be sent. - The caller is not included in the members of the - created chat. + The caller is not included in the members of the + created chat. - Duplicate users will be included in the membership of the chat but - the duplication will be silently ignored. + Duplicate users will be included in the membership of the chat but + the duplication will be silently ignored. - If there is an existing IM conversation with the same set of participants then - the id of that existing stream will be returned. + If there is an existing IM conversation with the same set of participants then + the id of that existing stream will be returned. consumes: - application/json produces: @@ -2509,50 +2509,50 @@ paths: schema: $ref: '#/definitions/Error' '/v1/admin/room/{id}/setActive': - post: - summary: Deactivate or reactivate a chatroom via AC Portal. - consumes: - - application/json - produces: - - application/json - parameters: - - name: id - description: Room streamId - in: path - required: true - type: string - - name: active - in: query - required: true - type: boolean - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - tags: - - Streams - responses: - '200': - description: OK - schema: - $ref: '#/definitions/RoomDetail' - '400': - description: 'Client error.' - schema: - $ref: '#/definitions/Error' - '401': - description: 'Unauthorized: Session tokens invalid.' - schema: - $ref: '#/definitions/Error' - '403': - description: 'Forbidden: Caller lacks necessary entitlement.' - schema: - $ref: '#/definitions/Error' - '500': - description: 'Server error, see response body for further details.' - schema: - $ref: '#/definitions/Error' + post: + summary: Deactivate or reactivate a chatroom via AC Portal. + consumes: + - application/json + produces: + - application/json + parameters: + - name: id + description: Room streamId + in: path + required: true + type: string + - name: active + in: query + required: true + type: boolean + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + tags: + - Streams + responses: + '200': + description: OK + schema: + $ref: '#/definitions/RoomDetail' + '400': + description: 'Client error.' + schema: + $ref: '#/definitions/Error' + '401': + description: 'Unauthorized: Session tokens invalid.' + schema: + $ref: '#/definitions/Error' + '403': + description: 'Forbidden: Caller lacks necessary entitlement.' + schema: + $ref: '#/definitions/Error' + '500': + description: 'Server error, see response body for further details.' + schema: + $ref: '#/definitions/Error' '/v1/admin/room/{id}/membership/list': get: summary: Lists current and previous members of an existing room. @@ -3135,9 +3135,9 @@ paths: - User responses: '200': - description: Success - schema: - $ref: '#/definitions/SuccessResponse' + description: Success + schema: + $ref: '#/definitions/SuccessResponse' '400': description: 'Client error, see response body for further details.' schema: @@ -3697,12 +3697,12 @@ paths: type: string - name: skip description: | - Number of items to skip. Default is 0. + Number of items to skip. Default is 0. in: query type: integer - name: limit description: | - Maximum number of items to return. Default is 50. This value cannot exceed 100. + Maximum number of items to return. Default is 50. This value cannot exceed 100. in: query type: integer - name: filter @@ -4465,31 +4465,31 @@ paths: Use them only during a short-period of time that you are traversing the list. operationId: listAllowedFileExtensions parameters: - - name: limit - type: integer - required: false - in: query - description: | - This is the maximum number of objects that may be returned. A query may return - fewer than the value of limit due to filtering or service-side maximums. Do not - depend on the number of results being fewer than the limit value to indicate your - query reached the end of the list of data, use the absence of next instead as - described below. For example, if you set limit to 10 and 9 results are returned, - there may be more data available, but one item was removed due to privacy filtering. - Some maximums for limit may be enforced for performance reasons. In all cases, the - API returns the correct pagination links. - - name: before - type: string - required: false - in: query - description: | - Returns results from an opaque "before" cursor value as presented via a response cursor - - name: after - type: string - required: false - in: query - description: | - Returns results from an opaque "after" cursor value as presented via a response cursor + - name: limit + type: integer + required: false + in: query + description: | + This is the maximum number of objects that may be returned. A query may return + fewer than the value of limit due to filtering or service-side maximums. Do not + depend on the number of results being fewer than the limit value to indicate your + query reached the end of the list of data, use the absence of next instead as + described below. For example, if you set limit to 10 and 9 results are returned, + there may be more data available, but one item was removed due to privacy filtering. + Some maximums for limit may be enforced for performance reasons. In all cases, the + API returns the correct pagination links. + - name: before + type: string + required: false + in: query + description: | + Returns results from an opaque "before" cursor value as presented via a response cursor + - name: after + type: string + required: false + in: query + description: | + Returns results from an opaque "after" cursor value as presented via a response cursor responses: '200': description: | @@ -4537,20 +4537,20 @@ paths: by converting it to lowecase. operationId: putAllowedFileExtension parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: extension - in: path - required: true - type: string - - in: body - name: V3FileExtension - required: true - schema: - $ref: "#/definitions/FileExtension" + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: extension + in: path + required: true + type: string + - in: body + name: V3FileExtension + required: true + schema: + $ref: "#/definitions/FileExtension" responses: 200: description: "200 response" @@ -4587,15 +4587,15 @@ paths: case-insensitively by the API. operationId: deleteAllowedFileExtension parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: extension - in: path - required: true - type: string + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: extension + in: path + required: true + type: string responses: 204: description: "204 response" @@ -4770,10 +4770,10 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/Error' - - # - # Deprecated paths - # + +# +# Deprecated paths +# '/v1/sessioninfo': get: deprecated: true @@ -5111,14 +5111,14 @@ paths: format: int64 - name: local description: | - If true, a local query will be performed and the presence will be - set to OFFLINE for users who are not local to the calling user's - pod. If false or absent, then the presence of all local users and - the presence of all external users to whom the calling user is - connected will be queried. + If true, a local query will be performed and the presence will be + set to OFFLINE for users who are not local to the calling user's + pod. If false or absent, then the presence of all local users and + the presence of all external users to whom the calling user is + connected will be queried. - For external users, a "presence interest" should be registered through - /v1/user/presence/register before querying for presence. + For external users, a "presence interest" should be registered through + /v1/user/presence/register before querying for presence. in: query type: boolean required: false @@ -5160,102 +5160,102 @@ paths: schema: $ref: '#/definitions/Error' '/v1/room/create': - post: - deprecated: true - summary: Create a new chatroom. - description: | - Create a new chatroom. + post: + deprecated: true + summary: Create a new chatroom. + description: | + Create a new chatroom. - If no attributes are specified, the room is created as a private chatroom. - consumes: - - application/json - produces: - - application/json - parameters: - - name: payload - in: body - required: true - schema: - $ref: '#/definitions/RoomCreate' - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - tags: - - Streams - responses: - '200': - description: OK - schema: - $ref: '#/definitions/RoomDetail' - '400': - description: 'Client error.' - schema: - $ref: '#/definitions/Error' - '401': - description: 'Unauthorized: Session tokens invalid.' - schema: - $ref: '#/definitions/Error' - '403': - description: 'Forbidden: Caller lacks necessary entitlement.' - schema: - $ref: '#/definitions/Error' - '500': - description: 'Server error, see response body for further details.' - schema: - $ref: '#/definitions/Error' + If no attributes are specified, the room is created as a private chatroom. + consumes: + - application/json + produces: + - application/json + parameters: + - name: payload + in: body + required: true + schema: + $ref: '#/definitions/RoomCreate' + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + tags: + - Streams + responses: + '200': + description: OK + schema: + $ref: '#/definitions/RoomDetail' + '400': + description: 'Client error.' + schema: + $ref: '#/definitions/Error' + '401': + description: 'Unauthorized: Session tokens invalid.' + schema: + $ref: '#/definitions/Error' + '403': + description: 'Forbidden: Caller lacks necessary entitlement.' + schema: + $ref: '#/definitions/Error' + '500': + description: 'Server error, see response body for further details.' + schema: + $ref: '#/definitions/Error' '/v2/room/create': - post: - deprecated: true - summary: Create a new chatroom. - description: | - Create a new chatroom. + post: + deprecated: true + summary: Create a new chatroom. + description: | + Create a new chatroom. - If no attributes are specified, the room is created as a private chatroom. - consumes: - - application/json - produces: - - application/json - parameters: - - name: payload - in: body - required: true - schema: - $ref: '#/definitions/V2RoomAttributes' - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - tags: - - Streams - responses: - '200': - description: OK - schema: - $ref: '#/definitions/V2RoomDetail' - headers: - X-Warning: - description: This method is deprecated - type: string + If no attributes are specified, the room is created as a private chatroom. + consumes: + - application/json + produces: + - application/json + parameters: + - name: payload + in: body + required: true + schema: + $ref: '#/definitions/V2RoomAttributes' + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + tags: + - Streams + responses: + '200': + description: OK + schema: + $ref: '#/definitions/V2RoomDetail' + headers: + X-Warning: + description: This method is deprecated + type: string - '400': - description: 'Client error.' - schema: - $ref: '#/definitions/Error' - '401': - description: 'Unauthorized: Session tokens invalid.' - schema: - $ref: '#/definitions/Error' - '403': - description: 'Forbidden: Caller lacks necessary entitlement.' - schema: - $ref: '#/definitions/Error' - '500': - description: 'Server error, see response body for further details.' - schema: - $ref: '#/definitions/Error' + '400': + description: 'Client error.' + schema: + $ref: '#/definitions/Error' + '401': + description: 'Unauthorized: Session tokens invalid.' + schema: + $ref: '#/definitions/Error' + '403': + description: 'Forbidden: Caller lacks necessary entitlement.' + schema: + $ref: '#/definitions/Error' + '500': + description: 'Server error, see response body for further details.' + schema: + $ref: '#/definitions/Error' '/v2/room/search': post: deprecated: true @@ -5601,12 +5601,12 @@ paths: type: string - name: skip description: | - Number of items to skip. Default is 0. + Number of items to skip. Default is 0. in: query type: integer - name: limit description: | - Maximum number of items to return. Default is 50. This value cannot exceed 100. + Maximum number of items to return. Default is 50. This value cannot exceed 100. in: query type: integer - name: filter @@ -5924,7 +5924,7 @@ paths: '500': description: 'Server error, see response body for further details.' schema: - $ref: '#/definitions/Error' + $ref: '#/definitions/Error' definitions: Error: type: object @@ -5935,13 +5935,13 @@ definitions: message: type: string CompanyCert: - type: object - properties: - pem: - type: string - description: An X509 certificate in PEM format - attributes: - $ref: '#/definitions/CompanyCertAttributes' + type: object + properties: + pem: + type: string + description: An X509 certificate in PEM format + attributes: + $ref: '#/definitions/CompanyCertAttributes' CompanyCertDetail: type: object properties: @@ -6196,8 +6196,8 @@ definitions: UserIdList: type: array items: - type: integer - format: int64 + type: integer + format: int64 UserId: type: object properties: @@ -6304,7 +6304,7 @@ definitions: - BASIC - RELEVANCE required: - - query + - query V2RoomSearchCriteria: description: Room Query Object. Used to specify the parameters for room search. allOf: @@ -6350,8 +6350,8 @@ definitions: description: The value of this Tag's label. type: string required: - - key - - value + - key + - value FacetedMatchCount: description: An object respresenting the result count of faceted search. properties: @@ -6364,16 +6364,16 @@ definitions: RoomSystemInfo: type: object properties: - id: + id: type: string - creationDate: + creationDate: type: integer format: int64 description: The datetime when the stream was originally created. Milliseconds since Jan 1 1970. - createdByUserId: + createdByUserId: type: integer format: int64 - active: + active: type: boolean description: If false, no messages can be sent in this stream, and membership is locked. ImmutableRoomAttributes: @@ -6433,7 +6433,7 @@ definitions: AvatarList: type: array items: - $ref: '#/definitions/Avatar' + $ref: '#/definitions/Avatar' UserStatus: type: object properties: @@ -6447,8 +6447,7 @@ definitions: properties: role: type: string - description: The user role - example: "INDIVIDUAL" + format: long feature: type: string status: @@ -6466,7 +6465,7 @@ definitions: FeatureList: type: array items: - $ref: '#/definitions/Feature' + $ref: '#/definitions/Feature' Feature: description: Entitlement feature record. type: object @@ -6665,12 +6664,12 @@ definitions: IntegerList: type: array items: - type: integer - format: int64 + type: integer + format: int64 StringList: type: array items: - type: string + type: string DisclaimerList: type: array items: @@ -6891,9 +6890,9 @@ definitions: items: type: string V2UserDetailList: - type: array - items: - $ref: '#/definitions/V2UserDetail' + type: array + items: + $ref: '#/definitions/V2UserDetail' UserSystemInfo: description: User Status Information. type: object @@ -7551,6 +7550,7 @@ definitions: type: object required: - before + - after properties: before: type: string @@ -8123,45 +8123,45 @@ definitions: items: $ref: '#/definitions/MessageDownloadReceiptCount' MessageDetails: - description: Message details - type: array - items: - $ref: '#/definitions/MessageDetail' + description: Message details + type: array + items: + $ref: '#/definitions/MessageDetail' MessageIds: type: object properties: messageIds: $ref: '#/definitions/StringList' AssigneeCandidate: - description: Assignee Candidate - type: object - properties: - userId: - type: integer - format: int64 - username: - type: string - firstName: - type: string - surname: - type: string - emailAddress: - type: string - canBeAssigned: - type: boolean - roles: - $ref: '#/definitions/StringList' + description: Assignee Candidate + type: object + properties: + userId: + type: integer + format: int64 + username: + type: string + firstName: + type: string + surname: + type: string + emailAddress: + type: string + canBeAssigned: + type: boolean + roles: + $ref: '#/definitions/StringList' AssigneeCandidates: - description: List of assignee candidate - type: object - properties: - users: - type: array - items: - $ref: '#/definitions/AssigneeCandidate' - pagination: - type: object - $ref: "#/definitions/Pagination" + description: List of assignee candidate + type: object + properties: + users: + type: array + items: + $ref: '#/definitions/AssigneeCandidate' + pagination: + type: object + $ref: "#/definitions/Pagination" Languages: description: List of languages type: object @@ -8239,7 +8239,7 @@ definitions: format: int64 pagination: $ref: '#/definitions/Pagination' - + SessionInfo: description: Information about the current user's session type: object @@ -8507,4 +8507,4 @@ definitions: type: integer format: int64 - + diff --git a/pod/pod-api-public.yaml b/pod/pod-api-public.yaml index 702bcb0..6bd1edf 100644 --- a/pod/pod-api-public.yaml +++ b/pod/pod-api-public.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.10.0' + version: '20.12.1' title: Pod API description: | This document refers to Symphony API calls that do not need @@ -686,21 +686,21 @@ paths: post: summary: Create a new single or multi party instant message conversation between the caller and specified users. description: | - At least one user ID must be provided or - an error response will be sent. + At least one user ID must be provided or + an error response will be sent. - The caller is implicitly included in the members of the - created chat. + The caller is implicitly included in the members of the + created chat. - Duplicate users will be included in the membership of the chat but - the duplication will be silently ignored. + Duplicate users will be included in the membership of the chat but + the duplication will be silently ignored. - If there is an existing IM conversation with the same set of participants then - the id of that existing stream will be returned. + If there is an existing IM conversation with the same set of participants then + the id of that existing stream will be returned. - This method was incorrectly specified to take a query parameter in - version 1.0 of this specification but now expects a JSON array of - user IDs in the body of the request. + This method was incorrectly specified to take a query parameter in + version 1.0 of this specification but now expects a JSON array of + user IDs in the body of the request. consumes: - application/json produces: @@ -744,11 +744,11 @@ paths: post: summary: Create Presence status feed. description: | - Create a new stream capturing presence status changes ("presence feed"). - When read from, the feed will return the current presence status of company (pod) users - if it has changed since the last read. + Create a new stream capturing presence status changes ("presence feed"). + When read from, the feed will return the current presence status of company (pod) users + if it has changed since the last read. - Returns the ID of the presence feed to be used in subsequent read operations. + Returns the ID of the presence feed to be used in subsequent read operations. consumes: - application/json produces: @@ -786,8 +786,8 @@ paths: get: summary: Read a presence status feed. description: | - Returns the current presence status of company (pod) users - if it has changed since the last read. Returns up to 500 records at a time. + Returns the current presence status of company (pod) users + if it has changed since the last read. Returns up to 500 records at a time. produces: - application/json parameters: @@ -828,7 +828,7 @@ paths: post: summary: Delete a presence status feed. description: | - Returns the ID of the deleted feed. + Returns the ID of the deleted feed. consumes: - application/json produces: @@ -1513,7 +1513,7 @@ paths: schema: $ref: '#/definitions/UserIdList' tags: - - Presence + - Presence responses: '200': description: OK @@ -1630,14 +1630,14 @@ paths: format: int64 - name: local description: | - If true, a local query will be performed and the presence will be - set to OFFLINE for users who are not local to the calling user's - pod. If false or absent, then the presence of all local users and - the presence of all external users to whom the calling user is - connected will be queried. + If true, a local query will be performed and the presence will be + set to OFFLINE for users who are not local to the calling user's + pod. If false or absent, then the presence of all local users and + the presence of all external users to whom the calling user is + connected will be queried. - For external users, a "presence interest" should be registered through - /v1/user/presence/register before querying for presence. + For external users, a "presence interest" should be registered through + /v1/user/presence/register before querying for presence. in: query type: boolean required: false @@ -1695,26 +1695,26 @@ paths: To avoid this situation, a presence feed should be created (and optionally read from) first to capture presence changes of users who get reactivated during a paged call to this endpoint. produces: - - application/json + - application/json parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: lastUserId - description: Last user ID retrieved. Used for paging; if provided, results will skip users with IDs less than this parameter. - in: query - required: false - type: integer - format: int64 - - name: limit - description: Max number of records to return. If no value is provided, 1000 is the default. The maximum supported value is 5000. - in: query - type: integer - required: false + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: lastUserId + description: Last user ID retrieved. Used for paging; if provided, results will skip users with IDs less than this parameter. + in: query + required: false + type: integer + format: int64 + - name: limit + description: Max number of records to return. If no value is provided, 1000 is the default. The maximum supported value is 5000. + in: query + type: integer + required: false tags: - - Presence + - Presence responses: '200': description: OK @@ -1740,30 +1740,30 @@ paths: post: summary: Set presence information for a particular user. produces: - - application/json + - application/json parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: soft - description: | - If true, the user's current status is taken into consideration. If the user is currently OFFLINE, - the user's presence will still be OFFLINE, but the new presence will take effect when the - user comes online. If the user is currently online, the user's activity state will be - applied to the presence if applicable. (e.g. if you are setting their presence to AVAILABLE, - but the user is currently idle, their status will be represented as AWAY) - in: query - required: false - type: boolean - - name: presence - in: body - required: true - schema: - $ref: '#/definitions/V2UserPresence' + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: soft + description: | + If true, the user's current status is taken into consideration. If the user is currently OFFLINE, + the user's presence will still be OFFLINE, but the new presence will take effect when the + user comes online. If the user is currently online, the user's activity state will be + applied to the presence if applicable. (e.g. if you are setting their presence to AVAILABLE, + but the user is currently idle, their status will be represented as AWAY) + in: query + required: false + type: boolean + - name: presence + in: body + required: true + schema: + $ref: '#/definitions/V2UserPresence' tags: - - Presence + - Presence responses: '200': description: OK @@ -1807,9 +1807,9 @@ paths: type: integer - name: local description: | - If true then a local DB search will be performed and only local pod users will be - returned. If absent or false then a directory search will be performed and users - from other pods who are visible to the calling user will also be returned. + If true then a local DB search will be performed and only local pod users will be + returned. If absent or false then a directory search will be performed and users + from other pods who are visible to the calling user will also be returned. in: query required: false type: boolean @@ -1887,7 +1887,7 @@ paths: schema: $ref: '#/definitions/StreamList' '204': - description: 'Stream not found.' + description: 'Stream not found.' '400': description: 'Client error.' schema: @@ -2381,17 +2381,17 @@ paths: post: summary: Create a new single or multi party instant message conversation description: | - At least two user IDs must be provided or - an error response will be sent. + At least two user IDs must be provided or + an error response will be sent. - The caller is not included in the members of the - created chat. + The caller is not included in the members of the + created chat. - Duplicate users will be included in the membership of the chat but - the duplication will be silently ignored. + Duplicate users will be included in the membership of the chat but + the duplication will be silently ignored. - If there is an existing IM conversation with the same set of participants then - the id of that existing stream will be returned. + If there is an existing IM conversation with the same set of participants then + the id of that existing stream will be returned. consumes: - application/json produces: @@ -2509,50 +2509,50 @@ paths: schema: $ref: '#/definitions/Error' '/v1/admin/room/{id}/setActive': - post: - summary: Deactivate or reactivate a chatroom via AC Portal. - consumes: - - application/json - produces: - - application/json - parameters: - - name: id - description: Room streamId - in: path - required: true - type: string - - name: active - in: query - required: true - type: boolean - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - tags: - - Streams - responses: - '200': - description: OK - schema: - $ref: '#/definitions/RoomDetail' - '400': - description: 'Client error.' - schema: - $ref: '#/definitions/Error' - '401': - description: 'Unauthorized: Session tokens invalid.' - schema: - $ref: '#/definitions/Error' - '403': - description: 'Forbidden: Caller lacks necessary entitlement.' - schema: - $ref: '#/definitions/Error' - '500': - description: 'Server error, see response body for further details.' - schema: - $ref: '#/definitions/Error' + post: + summary: Deactivate or reactivate a chatroom via AC Portal. + consumes: + - application/json + produces: + - application/json + parameters: + - name: id + description: Room streamId + in: path + required: true + type: string + - name: active + in: query + required: true + type: boolean + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + tags: + - Streams + responses: + '200': + description: OK + schema: + $ref: '#/definitions/RoomDetail' + '400': + description: 'Client error.' + schema: + $ref: '#/definitions/Error' + '401': + description: 'Unauthorized: Session tokens invalid.' + schema: + $ref: '#/definitions/Error' + '403': + description: 'Forbidden: Caller lacks necessary entitlement.' + schema: + $ref: '#/definitions/Error' + '500': + description: 'Server error, see response body for further details.' + schema: + $ref: '#/definitions/Error' '/v1/admin/room/{id}/membership/list': get: summary: Lists current and previous members of an existing room. @@ -3135,9 +3135,9 @@ paths: - User responses: '200': - description: Success - schema: - $ref: '#/definitions/SuccessResponse' + description: Success + schema: + $ref: '#/definitions/SuccessResponse' '400': description: 'Client error, see response body for further details.' schema: @@ -3697,12 +3697,12 @@ paths: type: string - name: skip description: | - Number of items to skip. Default is 0. + Number of items to skip. Default is 0. in: query type: integer - name: limit description: | - Maximum number of items to return. Default is 50. This value cannot exceed 100. + Maximum number of items to return. Default is 50. This value cannot exceed 100. in: query type: integer - name: filter @@ -4465,31 +4465,31 @@ paths: Use them only during a short-period of time that you are traversing the list. operationId: listAllowedFileExtensions parameters: - - name: limit - type: integer - required: false - in: query - description: | - This is the maximum number of objects that may be returned. A query may return - fewer than the value of limit due to filtering or service-side maximums. Do not - depend on the number of results being fewer than the limit value to indicate your - query reached the end of the list of data, use the absence of next instead as - described below. For example, if you set limit to 10 and 9 results are returned, - there may be more data available, but one item was removed due to privacy filtering. - Some maximums for limit may be enforced for performance reasons. In all cases, the - API returns the correct pagination links. - - name: before - type: string - required: false - in: query - description: | - Returns results from an opaque "before" cursor value as presented via a response cursor - - name: after - type: string - required: false - in: query - description: | - Returns results from an opaque "after" cursor value as presented via a response cursor + - name: limit + type: integer + required: false + in: query + description: | + This is the maximum number of objects that may be returned. A query may return + fewer than the value of limit due to filtering or service-side maximums. Do not + depend on the number of results being fewer than the limit value to indicate your + query reached the end of the list of data, use the absence of next instead as + described below. For example, if you set limit to 10 and 9 results are returned, + there may be more data available, but one item was removed due to privacy filtering. + Some maximums for limit may be enforced for performance reasons. In all cases, the + API returns the correct pagination links. + - name: before + type: string + required: false + in: query + description: | + Returns results from an opaque "before" cursor value as presented via a response cursor + - name: after + type: string + required: false + in: query + description: | + Returns results from an opaque "after" cursor value as presented via a response cursor responses: '200': description: | @@ -4537,20 +4537,20 @@ paths: by converting it to lowecase. operationId: putAllowedFileExtension parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: extension - in: path - required: true - type: string - - in: body - name: V3FileExtension - required: true - schema: - $ref: "#/definitions/FileExtension" + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: extension + in: path + required: true + type: string + - in: body + name: V3FileExtension + required: true + schema: + $ref: "#/definitions/FileExtension" responses: 200: description: "200 response" @@ -4587,15 +4587,15 @@ paths: case-insensitively by the API. operationId: deleteAllowedFileExtension parameters: - - name: sessionToken - description: Session authentication token. - in: header - required: true - type: string - - name: extension - in: path - required: true - type: string + - name: sessionToken + description: Session authentication token. + in: header + required: true + type: string + - name: extension + in: path + required: true + type: string responses: 204: description: "204 response" @@ -4770,7 +4770,7 @@ paths: description: 'Server error, see response body for further details.' schema: $ref: '#/definitions/Error' - + definitions: Error: type: object @@ -4781,13 +4781,13 @@ definitions: message: type: string CompanyCert: - type: object - properties: - pem: - type: string - description: An X509 certificate in PEM format - attributes: - $ref: '#/definitions/CompanyCertAttributes' + type: object + properties: + pem: + type: string + description: An X509 certificate in PEM format + attributes: + $ref: '#/definitions/CompanyCertAttributes' CompanyCertDetail: type: object properties: @@ -5042,8 +5042,8 @@ definitions: UserIdList: type: array items: - type: integer - format: int64 + type: integer + format: int64 UserId: type: object properties: @@ -5150,7 +5150,7 @@ definitions: - BASIC - RELEVANCE required: - - query + - query V2RoomSearchCriteria: description: Room Query Object. Used to specify the parameters for room search. allOf: @@ -5196,8 +5196,8 @@ definitions: description: The value of this Tag's label. type: string required: - - key - - value + - key + - value FacetedMatchCount: description: An object respresenting the result count of faceted search. properties: @@ -5210,16 +5210,16 @@ definitions: RoomSystemInfo: type: object properties: - id: + id: type: string - creationDate: + creationDate: type: integer format: int64 description: The datetime when the stream was originally created. Milliseconds since Jan 1 1970. - createdByUserId: + createdByUserId: type: integer format: int64 - active: + active: type: boolean description: If false, no messages can be sent in this stream, and membership is locked. ImmutableRoomAttributes: @@ -5279,7 +5279,7 @@ definitions: AvatarList: type: array items: - $ref: '#/definitions/Avatar' + $ref: '#/definitions/Avatar' UserStatus: type: object properties: @@ -5293,8 +5293,7 @@ definitions: properties: role: type: string - description: The user role - example: "INDIVIDUAL" + format: long feature: type: string status: @@ -5312,7 +5311,7 @@ definitions: FeatureList: type: array items: - $ref: '#/definitions/Feature' + $ref: '#/definitions/Feature' Feature: description: Entitlement feature record. type: object @@ -5511,12 +5510,12 @@ definitions: IntegerList: type: array items: - type: integer - format: int64 + type: integer + format: int64 StringList: type: array items: - type: string + type: string DisclaimerList: type: array items: @@ -5737,9 +5736,9 @@ definitions: items: type: string V2UserDetailList: - type: array - items: - $ref: '#/definitions/V2UserDetail' + type: array + items: + $ref: '#/definitions/V2UserDetail' UserSystemInfo: description: User Status Information. type: object @@ -6397,6 +6396,7 @@ definitions: type: object required: - before + - after properties: before: type: string @@ -6969,45 +6969,45 @@ definitions: items: $ref: '#/definitions/MessageDownloadReceiptCount' MessageDetails: - description: Message details - type: array - items: - $ref: '#/definitions/MessageDetail' + description: Message details + type: array + items: + $ref: '#/definitions/MessageDetail' MessageIds: type: object properties: messageIds: $ref: '#/definitions/StringList' AssigneeCandidate: - description: Assignee Candidate - type: object - properties: - userId: - type: integer - format: int64 - username: - type: string - firstName: - type: string - surname: - type: string - emailAddress: - type: string - canBeAssigned: - type: boolean - roles: - $ref: '#/definitions/StringList' + description: Assignee Candidate + type: object + properties: + userId: + type: integer + format: int64 + username: + type: string + firstName: + type: string + surname: + type: string + emailAddress: + type: string + canBeAssigned: + type: boolean + roles: + $ref: '#/definitions/StringList' AssigneeCandidates: - description: List of assignee candidate - type: object - properties: - users: - type: array - items: - $ref: '#/definitions/AssigneeCandidate' - pagination: - type: object - $ref: "#/definitions/Pagination" + description: List of assignee candidate + type: object + properties: + users: + type: array + items: + $ref: '#/definitions/AssigneeCandidate' + pagination: + type: object + $ref: "#/definitions/Pagination" Languages: description: List of languages type: object @@ -7085,4 +7085,4 @@ definitions: format: int64 pagination: $ref: '#/definitions/Pagination' - + From bb9c265cca9fdd03deafc488a29a76881a8091ff Mon Sep 17 00:00:00 2001 From: Youri Bonnaffe Date: Mon, 12 Apr 2021 09:24:07 +0200 Subject: [PATCH 2/2] Set 20.12 version in POM and Agent spec It looks like the script is not updating the pom build and it is taking the next version in the agent repo right now, so a snapshot version. Changing it manually while updating the automation for it. --- agent/agent-api-public-deprecated.yaml | 2 +- agent/agent-api-public.yaml | 2 +- pom.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/agent/agent-api-public-deprecated.yaml b/agent/agent-api-public-deprecated.yaml index 75726ac..2a8d2f5 100644 --- a/agent/agent-api-public-deprecated.yaml +++ b/agent/agent-api-public-deprecated.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.12.1-SNAPSHOT' + version: '20.12.0' title: Agent API description: | This document refers to Symphony API calls to send and receive messages diff --git a/agent/agent-api-public.yaml b/agent/agent-api-public.yaml index a127fdc..abe7c93 100644 --- a/agent/agent-api-public.yaml +++ b/agent/agent-api-public.yaml @@ -1,6 +1,6 @@ swagger: '2.0' info: - version: '20.12.1-SNAPSHOT' + version: '20.12.0' title: Agent API description: | This document refers to Symphony API calls to send and receive messages diff --git a/pom.xml b/pom.xml index 1f8a73d..223edf2 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.symphony symphony-api-spec - 20.10.0 + 20.12.0 jar Swagger definitions for Symphony LLC public REST API @@ -159,4 +159,4 @@ - \ No newline at end of file +