CAQ has transitioned to ADS
CAQ functionality now lives in Access Decision Service (ADS), and future updates will be delivered through ADS releases. Read the ADS documentation for details.
Supported Reverse API functions
This is a list of the function names supported by Contextual Authorization Query (CAQ) .
note
In the following table:
-
<datatype>can be one of the following:- string, boolean, integer, double, date, time, dateTime, dateTimeDuration, yearMonthDuration, anyURI, x500Name, rfc822Name, hexBinary, base64Binary, ipAddress, dnsName
Please note that in the cases of
<datatype>FromStringandstringFrom<datatype>the<datatype>return type can be any of the aforementioned types except string. -
<non-numeric-datatype>can be one of the following:- string, time, date, dateTime
| XACML Function name | Function name (Apply) | Function type | Return type | Bag of values |
|---|---|---|---|---|
| urn:oasis:names:tc:xacml:1.0:function:integer-add | add | Arithmetic | integer | No |
| urn:oasis:names:tc:xacml:1.0:function:double-add | add | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-subtract | subtract | Arithmetic | integer | No |
| urn:oasis:names:tc:xacml:1.0:function:double-subtract | subtract | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-multiply | multiply | Arithmetic | integer | No |
| urn:oasis:names:tc:xacml:1.0:function:double-multiply | multiply | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-divide | divide | Arithmetic | integer | No |
| urn:oasis:names:tc:xacml:1.0:function:double-divide | divide | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-mod | mod | Arithmetic | integer | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-abs | abs | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:double-abs | abs | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:round | round | Arithmetic | double | No |
| urn:oasis:names:tc:xacml:1.0:function:floor | floor | Arithmetic | double | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-one-and-only | one | Bag | <datatype> | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-bag-size | size | Bag | integer | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-is-in | in | Bag | boolean | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-bag | list | Bag | <datatype> | Yes |
| urn:oasis:names:tc:xacml:3.0:function:dateTime-add-dayTimeDuration | add | Date and time arithmetic | dateTime | No |
| urn:oasis:names:tc:xacml:3.0:function:dateTime-add-yearMonthDuration | add | Date and time arithmetic | dateTime | No |
| urn:oasis:names:tc:xacml:3.0:function:dateTime-subtract-dayTimeDuration | subtract | Date and time arithmetic | dateTime | No |
| urn:oasis:names:tc:xacml:3.0:function:dateTime-subtract-yearMonthDuration | subtract | Date and time arithmetic | dateTime | No |
| urn:oasis:names:tc:xacml:3.0:function:date-add-yearMonthDuration | add | Date and time arithmetic | date | No |
| urn:oasis:names:tc:xacml:3.0:function:date-subtract-yearMonthDuration | subtract | Date and time arithmetic | date | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-equal | equal | Equal | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case | equalIgnoreCase | Equal | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:any-of | anyOf | High-order bag | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:all-of | allOf | High-order bag | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:any-of-any | anyOfAny | High-order bag | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:all-of-any | allOfAny | High-order bag | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:any-of-all | anyOfAll | High-order bag | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:all-of-all | allOfAll | High-order bag | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:map | map | High-order bag | Bag of primitive datatype from nested Function | Yes |
| urn:oasis:names:tc:xacml:1.0:function:or | or | Logical | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:and | and | Logical | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:n-of | nOf | Logical | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:not | not | Logical | boolean | No |
urn:oasis:names:tc:xacml:1.0:function:<non-numeric-datatype>-greater-than | greaterThan | Non-numeric comparison | boolean | No |
urn:oasis:names:tc:xacml:1.0:function:<non-numeric-datatype>-greater-than-or-equal | greaterThanOrEqual | Non-numeric comparison | boolean | No |
urn:oasis:names:tc:xacml:1.0:function:<non-numeric-datatype>-less-than | lessThan | Non-numeric comparison | boolean | No |
urn:oasis:names:tc:xacml:1.0:function:<non-numeric-datatype>-less-than-or-equal | lessThanOrEqual | Non-numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:time-in-range | timeInRange | Non-numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-greater-than | greaterThan | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-greater-than-or-equal | greaterThanOrEqual | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-less-than | lessThan | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-less-than-or-equal | lessThanOrEqual | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:double-greater-than | greaterThan | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:double-greater-than-or-equal | greaterThanOrEqual | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:double-less-than | lessThan | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:double-less-than-or-equal | lessThanOrEqual | Numeric comparison | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:double-to-integer | doubleToInteger | Numeric data-type conversion | integer | No |
| urn:oasis:names:tc:xacml:1.0:function:integer-to-double | integerToDouble | Numeric data-type conversion | double | No |
| urn:oasis:names:tc:xacml:1.0:function:string-regexp-match | regexpMatch | Regular expression based | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:anyURI-regexp-match | regexpMatch | Regular expression based | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:ipAddress-regexp-match | regexpMatch | Regular expression based | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:dnsName-regexp-match | regexpMatch | Regular expression based | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:rfc822Name-regexp-match | regexpMatch | Regular expression based | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:x500Name-regexp-match | regexpMatch | Regular expression based | boolean | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-intersection | intersection | Set | <datatype> | Yes |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-at-least-one-member-of | atLeastOneMemberOf | Set | boolean | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-union | union | Set | <datatype> | Yes |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-subset | subset | Set | boolean | No |
urn:oasis:names:tc:xacml:x.x:function:<datatype>-set-equals | setEquals | Set | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:x500Name-match | match | Special match | boolean | No |
| urn:oasis:names:tc:xacml:1.0:function:rfc822Name-match | match | Special match | boolean | No |
| urn:oasis:names:tc:xacml:2.0:function:string-concatenate | concat | String | string | No |
urn:oasis:names:tc:xacml:3.0:function:<datatype>-from-string | <datatype>FromString | String | <datatype> | No |
urn:oasis:names:tc:xacml:3.0:function:string-from-<datatype> | stringFrom<datatype> | String | string | No |
| urn:oasis:names:tc:xacml:3.0:function:string-starts-with | startsWith | String | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:anyURI-starts-with | startsWith | String | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:string-ends-with | endsWith | String | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:anyURI-ends-with | endsWith | String | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:string-contains | contains | String | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:anyURI-contains | contains | String | boolean | No |
| urn:oasis:names:tc:xacml:3.0:function:string-substring | substring | String | string | No |
| urn:oasis:names:tc:xacml:3.0:function:anyURI-substring | substring | String | string | No |
| urn:oasis:names:tc:xacml:1.0:function:string-normalize-space | normalizeSpace | String conversion | string | No |
| urn:oasis:names:tc:xacml:1.0:function:string-normalize-to-lower-case | normalizeToLowerCase | String conversion | string | No |
For more information regarding the XACML functions please refer to the XACML standard documentation.