# Criteria

## Get Criteria

> Retrieve the Criteria settings of a client policy with the specified ID.

```json
{"openapi":"3.0.1","info":{"title":"Parallels RAS - REST API v1.0","version":"1.0"},"paths":{"/api/ClientPolicies/{id}/Rules/{ruleId}/Criteria":{"get":{"tags":["4-Policies/Assignments/Criteria//0-Basic Operations"],"summary":"Get Criteria","description":"Retrieve the Criteria settings of a client policy with the specified ID.","operationId":"7b7660a1-a7e5-4cb2-ace3-76d5a2068896","parameters":[{"name":"id","in":"path","description":"The ID of a client policy for which to retrieve the Criteria settings.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"ruleId","in":"path","description":"The ID of the Rule to retrieve.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ClientPolicyCriteria"}}}},"401":{"description":"Unauthorized","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}}},"components":{"schemas":{"ClientPolicyCriteria":{"type":"object","properties":{"securityPrincipals":{"$ref":"#/components/schemas/SecurityPrincipalsCriteria"},"gateways":{"$ref":"#/components/schemas/GatewaysCriteria"},"oSs":{"$ref":"#/components/schemas/OSsCriteria"},"iPs":{"$ref":"#/components/schemas/IPsCriteria"},"hardwareIDs":{"$ref":"#/components/schemas/HardwareIDsCriteria"},"access":{"$ref":"#/components/schemas/AccessType"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Client Policy Criteria</para>\r\n<para type=\"description\"></para>"},"SecurityPrincipalsCriteria":{"type":"object","properties":{"enabled":{"type":"boolean","description":"<para type=\"description\">Whether the Security Principals Criteria is enabled or not</para>"},"matchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"members":{"type":"array","items":{"$ref":"#/components/schemas/SecurityPrincipalCriteriaEntry"},"description":"<para type=\"description\">User criteria list</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Security Principals Criteria</para>\r\n<para type=\"description\"></para>"},"MatchingModeType":{"enum":[["0 = IsNotOneOfTheFollowing","1 = IsOneOfTheFollowing"]],"type":"string","description":"<para type=\"synopsis\">Matching mode type options</para>\r\n<para type=\"description\"></para>","format":"int32"},"SecurityPrincipalCriteriaEntry":{"type":"object","properties":{"account":{"type":"string","description":"<para type=\"description\">The name of the user/group account the filter is added to.</para>","nullable":true},"type":{"$ref":"#/components/schemas/UserType"},"sid":{"type":"string","description":"<para type=\"description\">The SID of the user/group account the filter is added to.</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Security Principal Criteria Entry</para>\r\n<para type=\"description\"></para>"},"UserType":{"enum":[["1 = User","2 = Group","3 = ForeignSecurityPrincipal","4 = Computer"]],"type":"string","description":"<para type=\"synopsis\">User Type</para>\r\n<para type=\"description\"></para>","format":"int32"},"GatewaysCriteria":{"type":"object","properties":{"enabled":{"type":"boolean","description":"<para type=\"description\">Whether the Gateways Criteria is enabled or not</para>"},"matchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"members":{"type":"array","items":{"$ref":"#/components/schemas/GatewayCriteriaEntry"},"description":"<para type=\"description\">Gateway criteria list</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Gateways Criteria</para>\r\n<para type=\"description\"></para>"},"GatewayCriteriaEntry":{"type":"object","properties":{"gatewayIP":{"type":"string","description":"<para type=\"description\">The gateway IP.</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Gateway criteria entry</para>\r\n<para type=\"description\"></para>"},"OSsCriteria":{"type":"object","properties":{"enabled":{"type":"boolean","description":"<para type=\"description\">Whether the OSs Criteria is enabled or not</para>"},"matchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"allowedOSes":{"$ref":"#/components/schemas/AllowedOperatingSystems"}},"additionalProperties":false,"description":"<para type=\"synopsis\">OS Criteria Settings</para>\r\n<para type=\"description\"></para>"},"AllowedOperatingSystems":{"type":"object","properties":{"chrome":{"type":"boolean","description":"<para type=\"description\">Whether Chrome is allowed or not.</para>"},"android":{"type":"boolean","description":"<para type=\"description\">Whether Android is allowed or not.</para>"},"webClient":{"type":"boolean","description":"<para type=\"description\">Whether Web Client is allowed or not.</para>"},"iOS":{"type":"boolean","description":"<para type=\"description\">Whether iOS is allowed or not.</para>"},"linux":{"type":"boolean","description":"<para type=\"description\">Whether Linux is allowed or not.</para>"},"mac":{"type":"boolean","description":"<para type=\"description\">Whether MAC OS is allowed or not.</para>"},"wyse":{"type":"boolean","description":"<para type=\"description\">Whether Wyse is allowed or not.</para>"},"windows":{"type":"boolean","description":"<para type=\"description\">Whether Windows is allowed or not.</para>"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Allowed Operating Systems</para>\r\n<para type=\"description\"></para>"},"IPsCriteria":{"type":"object","properties":{"enabled":{"type":"boolean","description":"<para type=\"description\">Whether the IPs Criteria is enabled or not</para>"},"matchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"allowedIPs":{"$ref":"#/components/schemas/AllowedIPsCriteria"}},"additionalProperties":false,"description":"<para type=\"synopsis\">IPs Criteria</para>\r\n<para type=\"description\"></para>"},"AllowedIPsCriteria":{"type":"object","properties":{"iPv4s":{"type":"array","items":{"$ref":"#/components/schemas/IPv4CriteriaEntry"},"description":"<para type=\"description\">IPv4 criteria list</para>","nullable":true},"iPv6s":{"type":"array","items":{"$ref":"#/components/schemas/IPv6CriteriaEntry"},"description":"<para type=\"description\">IPv6 criteria list</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Allowed IPs Criteria</para>\r\n<para type=\"description\"></para>"},"IPv4CriteriaEntry":{"type":"object","properties":{"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">IPv4 Criteria Entry</para>\r\n<para type=\"description\"></para>"},"IPv6CriteriaEntry":{"type":"object","properties":{"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">IPv6 Criteria Entry</para>\r\n<para type=\"description\"></para>"},"HardwareIDsCriteria":{"type":"object","properties":{"enabled":{"type":"boolean","description":"<para type=\"description\">Whether the Hardware IDs Criteria is enabled or not</para>"},"matchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"members":{"type":"array","items":{"$ref":"#/components/schemas/HardwareIDCriteriaEntry"},"description":"<para type=\"description\">Hardware IDs criteria list</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Hardware IDs Criteria</para>\r\n<para type=\"description\"></para>"},"HardwareIDCriteriaEntry":{"type":"object","properties":{"hardwareID":{"type":"string","description":"<para type=\"description\">The hardware ID.</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Hardware ID criteria entry</para>\r\n<para type=\"description\"></para>"},"AccessType":{"enum":[["0 = DenyCriteriaWhen","1 = AllowCriteriaWhen"]],"type":"string","description":"<para type=\"synopsis\">Access type options</para>\r\n<para type=\"description\"></para>","format":"int32"},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}}}
```

## Update Criteria

> Update the Criteria settings of a client policy with the specified ID.

```json
{"openapi":"3.0.1","info":{"title":"Parallels RAS - REST API v1.0","version":"1.0"},"paths":{"/api/ClientPolicies/{id}/Rules/{ruleId}/Criteria":{"put":{"tags":["4-Policies/Assignments/Criteria//0-Basic Operations"],"summary":"Update Criteria","description":"Update the Criteria settings of a client policy with the specified ID.","operationId":"b7adc21d-2ba3-4470-bec7-900e35a5cfc8","parameters":[{"name":"id","in":"path","description":"The ID of a client policy for which to modify the Criteria settings.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"ruleId","in":"path","description":"The ID of the Rule to retrieve.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"Criteria settings.","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/SetClientPolicyCriteria"}}}},"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}}},"components":{"schemas":{"SetClientPolicyCriteria":{"type":"object","properties":{"access":{"$ref":"#/components/schemas/AccessType"},"securityPrincipalsEnabled":{"type":"boolean","description":"<para type=\"description\">Whether the Security Principals criteria is enabled or not</para>","nullable":true},"securityPrincipalsMatchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"gatewaysEnabled":{"type":"boolean","description":"<para type=\"description\">Whether the Gateways criteria is enabled or not</para>","nullable":true},"gatewaysMatchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"oSsEnabled":{"type":"boolean","description":"<para type=\"description\">Whether the OSs criteria is enabled or not</para>","nullable":true},"oSsMatchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"iPsEnabled":{"type":"boolean","description":"<para type=\"description\">Whether the IPs criteria is enabled or not</para>","nullable":true},"iPsMatchingMode":{"$ref":"#/components/schemas/MatchingModeType"},"hardwareIDsEnabled":{"type":"boolean","description":"<para type=\"description\">Whether the HardwareIDs criteria is enabled or not</para>","nullable":true},"hardwareIDsMatchingMode":{"$ref":"#/components/schemas/MatchingModeType"}},"additionalProperties":false},"AccessType":{"enum":[["0 = DenyCriteriaWhen","1 = AllowCriteriaWhen"]],"type":"string","description":"<para type=\"synopsis\">Access type options</para>\r\n<para type=\"description\"></para>","format":"int32"},"MatchingModeType":{"enum":[["0 = IsNotOneOfTheFollowing","1 = IsOneOfTheFollowing"]],"type":"string","description":"<para type=\"synopsis\">Matching mode type options</para>\r\n<para type=\"description\"></para>","format":"int32"},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}}}
```
