openapi: 3.0.1 info: title: Agent Admin DLP Policies and Dictionary Management API description: 'This document refers to Symphony API calls to send and receive messages and content. They need the on-premise Agent installed to perform decryption/encryption of content. - sessionToken and keyManagerToken can be obtained by calling the authenticationAPI on the symphony back end and the key manager respectively. Refer to the methods described in authenticatorAPI.yaml. - Actions are defined to be atomic, ie will succeed in their entirety or fail and have changed nothing. - If it returns a 40X status then it will have sent no message to any stream even if a request to some subset of the requested streams would have succeeded. - If this contract cannot be met for any reason then this is an error and the response code will be 50X. - MessageML is a markup language for messages. See reference here: https://rest-api.symphony.com/docs/messagemlv2 - **Real Time Events**: The following events are returned when reading from a real time messages and events stream ("datafeed"). These events will be returned for datafeeds created with the v5 endpoints. To know more about the endpoints, refer to Create Messages/Events Stream and Read Messages/Events Stream. Unless otherwise specified, all events were added in 1.46. ' version: 25.8.1 servers: - url: youragentURL.symphony.com/agent tags: - name: DLP Policies and Dictionary Management paths: /v1/dlp/policies: get: tags: - DLP Policies and Dictionary Management summary: Get all policies description: Get all policies parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: page in: query description: Optional parameter to specify which page to return (default is 0) schema: type: integer format: int32 - name: limit in: query description: 'Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. ' schema: type: integer format: int32 responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPoliciesCollectionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - DLP Policies and Dictionary Management summary: Creates a policy description: 'Creates a new policy with dictionary references. At the time of policy creation, the caller should only provide - contentTypes, name, scopes and type. The rest of the information is populated automatically. Note - You need to enable the policy after creation to start enforcing the policy. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: Details about the policy that should be created. content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v1/dlp/policies/{policyId}: get: tags: - DLP Policies and Dictionary Management summary: Get a policy description: Get a policy parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string - name: policyVersion in: query description: "Optional parameter, if set to be valid policy version number, will return policy with specified policyVersion. \nOtherwise, return the latest policy.\n" schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' put: tags: - DLP Policies and Dictionary Management summary: Updates a policy. Cannot be used for creation. description: 'Update the policy (name, type, contentTypes, scopes) and also the dictionaries for a policy. Warning: If you send empty list of dictionaries during the update operation, then all the dictionaries for this policy are deleted and policy is automatically disabled. Note: The policy should already exist. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body delete: tags: - DLP Policies and Dictionary Management summary: Delete a policy description: 'Delete a policy. Note: Only disabled policy can be deleted ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/policies/{policyId}/enable: post: tags: - DLP Policies and Dictionary Management summary: Enables a policy. description: Enables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/policies/{policyId}/disable: post: tags: - DLP Policies and Dictionary Management summary: Disables a policy. description: Disables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/dictionaries: get: tags: - DLP Policies and Dictionary Management summary: Get all dictionary metadatas description: 'Get all dictionary metadatas with the latest version. Each dictionary object will only contain meta data of the content. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: page in: query description: Optional parameter to specify which page to return (default is 0) schema: type: integer format: int32 - name: limit in: query description: 'Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. ' schema: type: integer format: int32 responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataCollectionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - DLP Policies and Dictionary Management summary: Create a dictionary description: 'Creates a dictionary with basic metadata and no content. Only "name" and "type" field is used to create a new dictionary entry. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataCreateRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v1/dlp/dictionaries/{dictId}: get: tags: - DLP Policies and Dictionary Management summary: Get dictionary metadata description: Get basic information for a dictionary. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string - name: dictVersion in: query description: "If set to be valid dictionary version number, will return dictionary metadata with specified version. \nOtherwise, return the latest dictionary metadata.\n" schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' put: tags: - DLP Policies and Dictionary Management summary: Updates a dictionary description: 'Updates the dictionary''s basic metadata without content. This API cannot be used for creating a new dictionary. In case of update only "name" can be changed. Note: All related policies will also have versions updated. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataUpdateRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body delete: tags: - DLP Policies and Dictionary Management summary: Delete a dictionary description: 'Deletes a dictionary. Note: All related policies will be affected. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v1/dlp/dictionaries/{dictId}/data/download: get: tags: - DLP Policies and Dictionary Management summary: Downloads Base 64 encoded dictionary content. description: Downloads Base 64 encoded dictionary content. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string - name: dictVersion in: query description: "If set to be valid dictionary version number, will return dictionary with specified version. \nOtherwise, return the latest dictionary.\n" schema: type: string responses: 200: description: Attachment body as Base64 encoded string. content: application/octet-stream: schema: type: string format: byte 400: description: Client error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/octet-stream: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/octet-stream: schema: $ref: '#/components/schemas/Error' /v1/dlp/dictionaries/{dictId}/data/upload: post: tags: - DLP Policies and Dictionary Management summary: Override dictionary content with provided content. description: Override dictionary content with provided content. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: dictId in: path description: Unique dictionary identifier required: true schema: type: string requestBody: content: multipart/form-data: schema: required: - data properties: data: type: string format: binary required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V1DLPDictionaryMetadataResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies: get: tags: - DLP Policies and Dictionary Management summary: Get all policies description: Get all policies parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: page in: query description: Optional parameter to specify which page to return (default is 0) schema: type: integer format: int32 - name: limit in: query description: 'Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. ' schema: type: integer format: int32 responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPoliciesCollectionResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' post: tags: - DLP Policies and Dictionary Management summary: Creates a policy description: 'Creates a new policy with dictionary references. At the time of policy creation, the caller should only provide - contentTypes, name, scopes and type. The rest of the information is populated automatically. Note - You need to enable the policy after creation to start enforcing the policy. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string requestBody: description: Details about the policy that should be created. content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v3/dlp/policies/{policyId}: get: tags: - DLP Policies and Dictionary Management summary: Get a policy description: Get a policy parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string - name: policyVersion in: query description: "Optional parameter, if set to be valid policy version number, will return policy with specified policyVersion. \nOtherwise, return the latest policy.\n" schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies/{policyId}/update: post: tags: - DLP Policies and Dictionary Management summary: Updates a policy. Cannot be used for creation. description: 'Update the policy (name, type, contentTypes, scopes) and also the dictionaries for a policy. Warning: If you send empty list of dictionaries during the update operation, then all the dictionaries for this policy are deleted and policy is automatically disabled. Note: The policy should already exist. ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyRequest' required: true responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' x-codegen-request-body-name: body /v3/dlp/policies/{policyId}/delete: post: tags: - DLP Policies and Dictionary Management summary: Delete a policy description: 'Delete a policy. Note: Only disabled policy can be deleted ' parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path description: Unique dictionary identifier. required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies/{policyId}/enable: post: tags: - DLP Policies and Dictionary Management summary: Enables a policy. description: Enables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' /v3/dlp/policies/{policyId}/disable: post: tags: - DLP Policies and Dictionary Management summary: Disables a policy. description: Disables a policy. parameters: - name: sessionToken in: header description: Session authentication token. required: true schema: type: string - name: keyManagerToken in: header description: Key Manager authentication token. schema: type: string - name: policyId in: path required: true schema: type: string responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/V3DLPPolicyResponse' 400: description: Client error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' 401: description: 'Unauthorized: Session tokens invalid.' content: application/json: schema: $ref: '#/components/schemas/Error' 403: description: 'Forbidden: Caller lacks necessary entitlement.' content: application/json: schema: $ref: '#/components/schemas/Error' 500: description: Server error, see response body for further details. content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: V1DLPPolicyRequest: required: - contentTypes - dictionaryIds - name - scopes - type type: object properties: contentTypes: type: array description: 'The list of content types that policy should apply to. Cannot be empty. Policy content types could be either of "Messages", "RoomMeta", "SignalMeta". Default is set to ["Messages"] if not specified. ' items: type: string dictionaryIds: type: array description: List of dictionaries Ids for the policy. items: type: string name: type: string description: Unique name of a policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. scopes: type: array description: 'List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. ' items: type: string type: type: string description: Type of policy. Possible values "Block" or "Warn". description: The policy object to use for creating/updating a policy. V3DLPFileClassifierConfig: required: - applicableFileTypes - classifiers type: object properties: classifiers: type: object additionalProperties: type: string description: 'Classifier is defined as a Key and its Value: e.g.: "classification": "Internal". Name and value can contain UTF-8 characters. Neither the name nor value cannot be left empty. Maximum 30 characters for the name and value, case insensitive. If files contains k-v pairs in the classifers map, it means a match. Maximum 30 classifiers per policy. ' applicableFileTypes: type: array description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. items: type: string V3DLPPolicy: type: object required: - appliesTo properties: id: type: string description: Unique identifier for policy. policyId: type: string description: Policy Id. version: type: string description: 'The version of the policy, in format "major.minor". Initial value will set by backend as "3.0" when created. Whenever the policy version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. ' name: type: string description: 'Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. ' creatorId: type: integer description: Numeric userId of the creator. format: int64 scopes: type: array description: 'List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. ' items: type: string appliesTo: type: array items: $ref: '#/components/schemas/V3DLPPolicyAppliesTo' active: type: boolean description: Indicate whether the policy is active or not. deleted: type: boolean description: Indicate whether the policy is deleted or not. creationDate: type: integer description: Creation time of the policy in milliseconds elapsed as of epoch time. format: int64 lastUpdatedDate: type: integer description: Recent update time of the policy in milliseconds elapsed as of epoch time. format: int64 lastDisabledDate: type: integer description: Recent disable time of the policy in milliseconds elapsed as of epoch time. format: int64 systemPolicy: type: boolean description: 'A policy is the main entity of V3 policy/rule system. It is responsible to define rules and add scope constraints to the engine. ' V3DLPFileExtensionConfig: required: - allowLists - blockLists type: object properties: allowLists: type: array description: File extensions that are allowed. items: type: string blockLists: type: array description: File extensions that are blocked. items: type: string description: Extension detection config for allowed and blocked types of file extensions. V3DLPTextMatchConfig: type: object required: - dictionaries - applicableFileTypes properties: dictionaries: type: array items: $ref: '#/components/schemas/V3DLPDictionaryMeta' countUniqueOccurrences: type: integer format: int32 applicableFileTypes: type: array description: 'File types must be applied only for rule type "FileContent", otherwise must be empty. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. ' items: type: string description: 'This is a configuration that can be used to match text or regex. Configuration that can be used by a rule. This is a configuration that can be used to match text or regex. This configuration also corresponds to V2 TextMatch/RegexMatch of dictionaries. ' V3DLPPolicyRequest: required: - appliesTo - name - scopes type: object properties: name: type: string description: 'Unique name of a policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. ' scopes: type: array description: 'List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. ' items: type: string appliesTo: type: array items: $ref: '#/components/schemas/V3DLPPolicyAppliesTo' description: Request to be used to get policies. V3DLPDictionaryMeta: required: - dictId - name - version type: object properties: dictId: type: string version: type: string name: type: string description: Identity of a dictionary. V3DLPPolicyResponse: type: object properties: data: $ref: '#/components/schemas/V3DLPPolicy' description: Policy Response. Error: type: object properties: code: type: integer format: int32 message: type: string V3DLPPolicyAppliesTo: required: - action - dataType - rules type: object properties: dataType: type: string description: 'The list of data types that policy should apply to. Can''t be empty. Can be ["Messages","RoomMeta", "SignalMeta", "FileContent", "FileMeta"]. ' action: type: string description: 'Action to be taken on violation detection. Can be ["Block", "Warn", "LogOnly"]. The default is "LogOnly". ' rules: type: array items: $ref: '#/components/schemas/V3DLPRule' V3DLPPoliciesCollectionResponse: type: object required: - policies properties: policies: type: array description: List of policies. items: $ref: '#/components/schemas/V3DLPPolicy' page: type: integer description: The starting page for pagination. format: int32 size: type: integer description: Size of policies displayed per page. format: int32 pageCount: type: integer description: Total number of pages available. format: int32 description: List of policies. V1DLPPoliciesCollectionResponse: type: object required: - policies properties: policies: type: array description: List of policies items: $ref: '#/components/schemas/V1DLPPolicy' page: type: integer description: Page number of current page format: int32 pageCount: type: integer description: Total number of pages available format: int32 description: List of policies V1DLPDictionaryRef: required: - name type: object properties: dictId: type: string description: Unique dictionary id name: type: string description: Unique name of a dictionary, max 30 characters, with trimmed leading and trailing blank spaces. version: type: string description: 'The version of a dictionary, in format "major.minor". Initial value will set by backend as "1.0" when created. Whenever the dictionary version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. ' description: Basic information needed to identify a dictionary V3DLPRule: required: - name - type type: object properties: id: type: string type: type: string description: Type of a rule used by policy. Can be ["UNKNOWN", "TEXT_MATCH", "FILE_EXTENSION", "FILE_SIZE", "FILE_PASSWORD", "FILE_CLASSIFIER"]. name: type: string description: Name for rule. textMatchConfig: $ref: '#/components/schemas/V3DLPTextMatchConfig' fileSizeConfig: $ref: '#/components/schemas/V3DLPFileSizeConfig' fileExtensionConfig: $ref: '#/components/schemas/V3DLPFileExtensionConfig' filePasswordConfig: $ref: '#/components/schemas/V3DLPFilePasswordConfig' fileClassifierConfig: $ref: '#/components/schemas/V3DLPFileClassifierConfig' description: 'A Rule defines the actual matching specification for policies. It holds a type and a configuration for the rule, these properties should be used to build the corresponding matching implementation. Only one of the configuration property should be set [textMatchConfig, fileSizeConfig, fileExtensionConfig, filePasswordConfig, fileClassifierConfig]. ' V1DLPDictionaryMetadataCreateRequest: required: - name - type type: object properties: name: type: string description: 'The name of dictionary ' type: type: string description: 'The type of dictionary, which specify the content is a list of words or a list of regexes. By default set to "Word" if not specified. Possible values - Word, Regex ' description: Dictionary's metadata (excluding content) to use for dictionary create operations. V1DLPDictionaryMetadata: required: - dictRef - type type: object properties: creationDate: type: integer description: Creation time of the dictionary in milliseconds elapsed as of epoch time. format: int64 creatorId: type: string description: Numeric userId of the creator dictRef: $ref: '#/components/schemas/V1DLPDictionaryRef' lastUpdatedDate: type: integer description: The recent update time of the dictionary in milliseconds format: int64 type: type: string description: 'The type of dictionary, which specify the content is a list of words or a list of regexes. By default set to "Word" if not specified. Possible values - Word, Regex ' description: Dictionary's metadata (excluding content) V1DLPPolicyResponse: type: object properties: data: $ref: '#/components/schemas/V1DLPPolicy' description: Policy Response V3DLPFilePasswordConfig: required: - applicableFileTypes - matchCriteria type: object properties: applicableFileTypes: type: array description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"]. items: type: string matchCriteria: type: string description: 'Based on the criteria, whether a file is password protected or not means a match. Can be ["PASSWORD_PROTECTED", "NOT_PASSWORD_PROTECTED"]. The default is "NOT_PASSWORD_PROTECTED". ' description: Password protected detection config for files that are password protected or not. V1DLPDictionaryMetadataCollectionResponse: type: object required: - items properties: items: type: array description: List of dictionary metadata items: $ref: '#/components/schemas/V1DLPDictionaryMetadata' page: type: integer description: Page number of current page format: int32 pageCount: type: integer description: Total number of pages available format: int32 description: List of dictionary metadata. V1DLPDictionaryMetadataResponse: required: - data type: object properties: data: $ref: '#/components/schemas/V1DLPDictionaryMetadata' description: Dictionary response containing dictionary metadata. V1DLPDictionaryMetadataUpdateRequest: required: - name type: object properties: name: type: string description: The name of dictionary description: Dictionary's metadata (excluding content) to use for dictionary update operations. V1DLPPolicy: required: - contentTypes - name - scopes - dictionaryRefs - type type: object properties: active: type: boolean description: Indicate whether the policy is active or not contentTypes: type: array description: 'The list of content types that policy should apply to. Cannot be empty. Policy content types could be either of "Messages", "RoomMeta", "SignalMeta". Default is set to ["Messages"] if not specified. ' items: type: string creationDate: type: integer description: Creation time of the policy in milliseconds elapsed as of epoch time. format: int64 creatorId: type: string description: Numeric userId of the creator dictionaryRefs: type: array description: List of dictionaries. items: $ref: '#/components/schemas/V1DLPDictionaryRef' lastDisabledDate: type: integer description: Recent disable time of the policy in milliseconds elapsed as of epoch time. format: int64 lastUpdatedDate: type: integer description: Recent update time of the policy in milliseconds elapsed as of epoch time. format: int64 name: type: string description: Unique name of a policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed. policyId: type: string description: Policy Id scopes: type: array description: 'List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations). You can apply both scopes if you set it to ["Internal", "External"]. ' items: type: string type: type: string description: Type of policy. Possible values "Block" or "Warn". version: type: string description: 'The version of a dictionary, in format "major.minor". Initial value will set by backend as "1.0" when created. Whenever the dictionary version needs to be changed, the minor version by 1 unless minor == 999, then the major version is increased by 1 until it reaches 999. ' description: The policy object for expression filter, one policy can have multiple dictionaries V3DLPFileSizeConfig: type: object properties: sizeLimit: type: integer format: int32 description: File size config defines maximum allowed size of file. Default max size limit is 20 MB.