====Parameter Filters==== You can use //parameter filters// to control which specific values are permitted when calling ARDI functions. To specify a parameter filter, use the property name **param_**, plus the name of the parameter you want to filter. This should contain a regular expression used to match against the value sent by the user. For example, let's say you want to open a URL so that an automated system can write a status to ARDI. This system is very simple and can't go through the normal ARDI API authentication flow. { "paths": { "api/asset/set": "specialwriter" }, "groups": { "specialwriter": [[{ "type": "open" }]], [{ "type": "whitelist", "list": ["127.0.0.1","localhost"], "param_property": "28", "elevate": "editor" }], } } This security rule does two things. 1) It allows normal access (the 'open' option) to any user who could normally access it, and \\ 2) For **local** traffic, it allows write access to the endpoint, but **only if the 'property' parameter is 28**. ===Regular Expressions=== You can use //regular expressions// to allow specific formats or multiple different values to be allowed. You can also combine multiple filters. { "paths": { "api/asset/set": "specialwriter" }, "groups": { "specialwriter": [[{ "type": "open" }]], [{ "type": "whitelist", "list": ["127.0.0.1","localhost"], "param_property": "(28|35)", "param_id": "(115|116)", "elevate": "editor" }], } } In the example above, the local machine can write to property 28 **or** 35, but only on asset 115 or 116.