# V3 All Policies

## Get all policies

> Get all policies

```json
{"openapi":"3.0.1","info":{"title":"Agent API","version":"25.8.1"},"servers":[{"url":"youragentURL.symphony.com/agent"}],"paths":{"/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.\n","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"}}}}}}}},"components":{"schemas":{"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."},"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.\nWhenever the policy version needs to be changed, the minor version by 1 unless minor == 999,\nthen the major version is increased by 1 until it reaches 999.\n"},"name":{"type":"string","description":"Unique name of policy, max 30 characters. Cannot be empty. All the leading and trailing blank spaces are trimmed.\n"},"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).\nYou can apply both scopes if you set it to [\"Internal\", \"External\"].\n","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.\n"},"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.\nCan be [\"Messages\",\"RoomMeta\", \"SignalMeta\", \"FileContent\", \"FileMeta\"].\n"},"action":{"type":"string","description":"Action to be taken on violation detection.\nCan be [\"Block\", \"Warn\", \"LogOnly\"]. The default is \"LogOnly\".\n"},"rules":{"type":"array","items":{"$ref":"#/components/schemas/V3DLPRule"}}}},"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\nfor the rule, these properties should be used to build the corresponding matching implementation.\nOnly one of the configuration property should be set [textMatchConfig, fileSizeConfig, fileExtensionConfig, filePasswordConfig, fileClassifierConfig].\n"},"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.\nCan be [\"PDF\", \"WORD\", \"EXCEL\", \"POWERPOINT\", \"ZIP\", \"CSV\", \"TXT\"].\n","items":{"type":"string"}}},"description":"This is a configuration that can be used to match text or regex.\nConfiguration that can be used by a rule. This is a configuration that can be used to match text or regex.\nThis configuration also corresponds to V2 TextMatch/RegexMatch of dictionaries.\n"},"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."},"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."},"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.\nCan be [\"PASSWORD_PROTECTED\", \"NOT_PASSWORD_PROTECTED\"]. The default is \"NOT_PASSWORD_PROTECTED\".\n"}},"description":"Password protected detection config for files that are password protected or not."},"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\".\nName and value can contain UTF-8 characters. Neither the name nor value cannot be left empty.\nMaximum 30 characters for the name and value, case insensitive.\nIf files contains k-v pairs in the classifers map, it means a match. Maximum 30 classifiers per policy.\n"},"applicableFileTypes":{"type":"array","description":"File types that can be applied. Can be [\"PDF\", \"WORD\", \"EXCEL\", \"POWERPOINT\", \"ZIP\", \"CSV\", \"TXT\"].","items":{"type":"string"}}}},"Error":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}}}
```

> #### 🚧 Required Permissions
>
> Calling this endpoint requires a Service User Account set with the Expression Filter Policy Management role. For more information about Service User accounts and their roles, see the [Symphony Administration Guide](https://symphony.direct/).
>
> See [Bot Permissions](https://docs.developers.symphony.com/building-bots-on-symphony/configuration/bot-permissions) for a list of roles and associated privileges.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rest-api.symphony.com/main/dlp-dictionary-and-policy-management/v3-policy-management-endpoints/v3-all-policies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
