openapi: 3.0.1
info:
title: Symphony Agent Add Disable 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: 22.9.1
servers:
- url: /
tags:
- name: Disable
paths:
/v1/dlp/policies/{policyId}/disable:
post:
tags:
- Disable
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.
required: true
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'
/v3/dlp/policies/{policyId}/disable:
post:
tags:
- Disable
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.
required: true
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:
V3DLPFileClassifierConfig:
required:
- applicableFileTypes
- classifiers
type: object
properties:
classifiers:
type: object
additionalProperties:
type: string
description: 'Classifier is defined as a Key and its Value: e.g.: "classification": "Internal".
Name and value can contain UTF-8 characters. Neither the name nor value cannot be left empty.
Maximum 30 characters for the name and value, case insensitive.
If files contains k-v pairs in the classifers map, it means a match. Maximum 30 classifiers per policy.
'
applicableFileTypes:
type: array
description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"].
items:
type: string
V3DLPPolicyAppliesTo:
required:
- action
- dataType
- rules
type: object
properties:
dataType:
type: string
description: 'The list of data types that policy should apply to. Can''t be empty.
Can be ["Messages","RoomMeta", "SignalMeta", "FileContent", "FileMeta"].
'
action:
type: string
description: 'Action to be taken on violation detection.
Can be ["Block", "Warn", "LogOnly"]. The default is "LogOnly".
'
rules:
type: array
items:
$ref: '#/components/schemas/V3DLPRule'
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
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.
'
V3DLPPolicy:
type: object
required:
- appliesTo
properties:
id:
type: string
description: Unique identifier for policy.
policyId:
type: string
description: Policy Id.
version:
type: string
description: 'The version of the policy, in format "major.minor". Initial value will set by backend as "3.0" when created.
Whenever the policy version needs to be changed, the minor version by 1 unless minor == 999,
then the major version is increased by 1 until it reaches 999.
'
name:
type: string
description: 'Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed.
'
creatorId:
type: integer
description: Numeric userId of the creator.
format: int64
scopes:
type: array
description: 'List of communication scopes. Possible values are "Internal" (for Internal conversations) or "External" (for External conversations).
You can apply both scopes if you set it to ["Internal", "External"].
'
items:
type: string
appliesTo:
type: array
items:
$ref: '#/components/schemas/V3DLPPolicyAppliesTo'
active:
type: boolean
description: Indicate whether the policy is active or not.
deleted:
type: boolean
description: Indicate whether the policy is deleted or not.
creationDate:
type: integer
description: Creation time of the policy in milliseconds elapsed as of epoch time.
format: int64
lastUpdatedDate:
type: integer
description: Recent update time of the policy in milliseconds elapsed as of epoch time.
format: int64
lastDisabledDate:
type: integer
description: Recent disable time of the policy in milliseconds elapsed as of epoch time.
format: int64
systemPolicy:
type: boolean
description: 'A policy is the main entity of V3 policy/rule system. It is responsible to define rules and add scope constraints to the engine.
'
V3DLPRule:
required:
- name
- type
type: object
properties:
id:
type: string
type:
type: string
description: Type of a rule used by policy. Can be ["UNKNOWN", "TEXT_MATCH", "FILE_EXTENSION", "FILE_SIZE", "FILE_PASSWORD", "FILE_CLASSIFIER"].
name:
type: string
description: Name for rule.
textMatchConfig:
$ref: '#/components/schemas/V3DLPTextMatchConfig'
fileSizeConfig:
$ref: '#/components/schemas/V3DLPFileSizeConfig'
fileExtensionConfig:
$ref: '#/components/schemas/V3DLPFileExtensionConfig'
filePasswordConfig:
$ref: '#/components/schemas/V3DLPFilePasswordConfig'
fileClassifierConfig:
$ref: '#/components/schemas/V3DLPFileClassifierConfig'
description: 'A Rule defines the actual matching specification for policies. It holds a type and a configuration
for the rule, these properties should be used to build the corresponding matching implementation.
Only one of the configuration property should be set [textMatchConfig, fileSizeConfig, fileExtensionConfig, filePasswordConfig, fileClassifierConfig].
'
V3DLPFilePasswordConfig:
required:
- applicableFileTypes
- matchCriteria
type: object
properties:
applicableFileTypes:
type: array
description: File types that can be applied. Can be ["PDF", "WORD", "EXCEL", "POWERPOINT", "ZIP", "CSV", "TXT"].
items:
type: string
matchCriteria:
type: string
description: 'Based on the criteria, whether a file is password protected or not means a match.
Can be ["PASSWORD_PROTECTED", "NOT_PASSWORD_PROTECTED"]. The default is "NOT_PASSWORD_PROTECTED".
'
description: Password protected detection config for files that are password protected or not.
Error:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
V3DLPPolicyResponse:
type: object
properties:
data:
$ref: '#/components/schemas/V3DLPPolicy'
description: Policy Response.
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.
V3DLPDictionaryMeta:
required:
- dictId
- name
- version
type: object
properties:
dictId:
type: string
version:
type: string
name:
type: string
description: Identity of a dictionary.
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.
V1DLPPolicyResponse:
type: object
properties:
data:
$ref: '#/components/schemas/V1DLPPolicy'
description: Policy Response
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