*** title: FQL function reference updated: 2024-11-08T00:00:00.000Z slug: docs/postman-flows/flows-query-language/function-reference max-toc-depth: 2 ---------------- {/* vale off */} {/* This doc has many vale false positives related to heading capitalization and spelling, due to the code samples and maintaining correct case for commands in the headings. After fixing the valid errors, warnings, and suggestions, I turned off vale for this entire doc. */} All [Flows Query Language](/docs/postman-flows/flows-query-language/introduction-to-fql/) (FQL) functions are documented below. ## Logical Operators ### and Returns true if all provided conditions are true. In the example below, `value1` has a value of 20.
| Syntax | condition1 and condition2 |
| Example |
value1 > 18 and value1 \< 100 -> true
value1 > 18 and value1 > 100 -> false
|
| Syntax | condition1 or condition2 |
| Example |
value1 \< 18 or value1 \< 100 -> true
value1 \< 18 or value1 > 100 -> false
|
| Syntax | $assert($cond: bool, \$msg: string) => error |
| Example | \$assert(user.age \<18, "error: user can't vote!") |
| Syntax |
$average($array: array\ |
| Example | \$average(\[1,2,3,4,5]) -> 3 |
| Syntax | $boolean($arg: any) => bool |
| Example |
$boolean(0) -> false
$boolean(10) -> true
$boolean("") -> false
$boolean("abc") -> true
|
| Syntax | $contains($str: string, \$pattern: string | regex) => bool |
| Example |
$contains("hello, world", "lo") -> true
$contains("hello world", "ab") -> false
|
| Syntax | $decodeUrl($val: string) => string |
| Example | \$decodeUrl("[https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B](https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B)") -> "[https://mozilla.org/?x=шеллы](https://mozilla.org/?x=шеллы)" |
| Syntax | $decodeUrlComponent($val: string) => string |
| Example | \$decodeUrlComponent("%3Fx%3Dtest") -> "?x=test" |
| Syntax | $each($obj: object, func: ($val, $key) : any) |
| Example | ```json "Address": { "Street": "Hursley Park", "City": "Winchester", "Postcode": "SO21 2JN" } $each(Address, fn($v, $k) {$k & ": " & $v}) -> [ "Street: Hursley Park", "City: Winchester", "Postcode: SO21 2JN" ] ``` |
| Syntax | $encodeUrl($val: string) => string |
| Example | \$encodeUrl("[https://mozilla.org/?x=шеллы](https://mozilla.org/?x=шеллы)") -> "[https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B](https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B)" |
| Syntax | $encodeUrlComponent($val: string) => string |
| Example | \$encodeUrlComponent("?x=test") -> "%3Fx%3Dtest" |
| Syntax | $eval($val:string) => any |
| Example | $eval("[1,$string(2),3]") -> \[1,"2",3] |
| Syntax | $exists($val: any) => bool |
| Example | ```json $exists("hello") -> true $exists([1,2,3]) -> true $exists({"a" : 1, "b": 2}) -> true $exists(null) -> false $exists(blah) -> false ``` |
| Syntax | $filter($arr: array, $func: ($e, $index?: number?, $ar: array )=> boolean) => array |
| Example | $filter([1,2,3,4,5], fn($e)\{ \$e>3}) -> \[4, 5] |
| Syntax |
```json
$join($arr: array |
| Example |
$join(["hello", "world"]) -> "helloworld"
$join(\["hello", "world"], "-") → "hello-world"
\$join(\[1,2,3], "..") -> "1..2..3"
|
| Syntax | $json($val:any) => string |
| Example | ```json $json({"a": 1, "b" : "hello"}) -> "{"a":1,"b":"hello"}" ``` |
| Syntax | $jsonParse($val:string) => object |
| Example | ```json $jsonParse('{"one": 1, "two": [3, "four"]}') -> {"one": 1,"two": [ 3,"four"]} ``` |
| Syntax |
```json
$keys($obj: object) => array |
| Example | ```json "Product": [ { "Product Name": "Bowler Hat", "ProductID": 858383, "SKU": "0406654608", "Description": { "Colour": "Purple", "Width": 300, "Height": 200, "Depth": 210, "Weight": 0.75 }, "Price": 34.45, "Quantity": 2 } ] $keys(Product) -> ["Product Name","ProductID","SKU","Description","Price","Quantity"] ``` |
| Syntax | $length($str: string) => number |
| Example | ```json $length("abc") -> 3 $length("") -> 0 ``` |
| Syntax | $lookup($obj: object, \$key: string) => any |
| Example | ```json ($o := { "name" : "John", "email": "john@gmail.com"}; $lookup($o, "name")) -> "John" ``` |
| Syntax | $lowercase($str: string) => string |
| Example | \$lowercase("Hello World") -> "hello world" |
| Syntax | $map($arr: array, $func: ($e, $index?: number?, $ar: array ) : array |
| Example | $map([1,2,3,4,5], fn($e)\{ \$e \*2}) -> \[2,4,6,8,10] |
| Syntax | $max($array) => number |
| Example | \$max(\[9,2,17,3]) -> 17 |
| Syntax |
```json
$match($str: string, $pattern: string | regex) => array |
| Example | ```json $match("ababbabbbcc",/a(b+)/) -> ["ab", "abb", "abbb"] ``` |
| Syntax | ```json $merge($arr: array |
| Example | ```json $merge([{"a":1},{"b":2}]) -> {"a": 1,"b": 2} ``` |
| Syntax | $not($x: any) => bool |
| Example |
$not(true) -> false
$
not(false) -> true
$not(null) -> true
$
not(0) -> true
$not(100) -> false
$
not("") -> true
$not("hello") -> false
|
| Syntax | $pad($str: string, $length: number, $pad?: string) => string |
| Example |
$pad("example", 5) -> "example "
$
pad("example", 5, "-") -> "example--"
|
| Syntax | $partition($array:any, \$n: numbers) => array |
| Example |
$partition([1,2,3,4,5,6,7,8,9,10], 2) -> [[1,2], [3,4], [5,6], [7,8], [9,10]]
$
partition([1,2,3,4,5,6,7,8,9,10], 3) -> [[1,2,3], [4,5,6], [7,8,9], [10]]
|
| Syntax | $replace($str: string, $pattern: string | regex, $replacement: string) => string |
| Example | ```json $replace("Hello World", "World", "Everyone") -> "Hello Everyone" $replace("the cat sat on the mat", "at", "it") -> "the cit sit on the mit" ``` |
| Syntax | $reduce(array, function [, init]) |
| Example | ```json $reduce([1,2,3,4], fn($prev, $cur) { $prev*$cur}) ) -> 24 ``` |
| Syntax |
```json
$split($str: string, $pattern: string | regex, $flags?: string) => array |
| Example | ````json $split("so many words", " ") -> [ "so", "many", "words" ] $split("so many words", " ", 2) -> [ "so", "many" ] $split("too much, punctuation. hard; to read", /[ ,.;]+/) -> ["too", "much", "punctuation", "hard", "to", "read"] |
| Syntax | $spread($val: any) => array<object> |
| Example | ```json $spread({ "a": 1, "b": 2}) -> [ { "a" : 1}, {"b": 2}] ```` |
| Syntax | $string($value: any, \$prettify? true | false) => string |
| Example | ```json $string({"a": 1, "b": 2}) -> "{"a":1, "b" : 2}" $string(5) -> "5" $string([1,2,3]) -> ["1", "2", "3"] ``` |
| Syntax | $substring($str: string, $start: number, $length?: number) => string |
| Example |
$substring("hello world", 0, 5) -> "hello"
$
substring("hello world", -5, 5) -> "world"
|
| Syntax | $substringAfter($str: string, \$separator: string) => string |
| Example | \$substringAfter("[abc@gmail.com](mailto:abc@gmail.com)", "@") -> "gmail.com" |
| Syntax | $substringBefore($str: string, \$separator: string) => string |
| Example | \$substringBefore( "[john@gmail.com](mailto:john@gmail.com)", "@") -> "john" |
| Syntax | $sum($array) => number |
| Example | \$sum(\[1,2,3,4]) -> 10 |
| Syntax | $trim($str: string) => string |
| Example | \$trim(" Hello \n World ") -> "Hello World" |
| Syntax | $type($val: any) => string |
| Example |
$type("hello") -> "string"
$
type(1) -> "number"
$type({}) -> "object"
$
type([]) -> "array"
$type(null) -> "null"
|
| Syntax | $uppercase($str: string) => string |
| Example | \$uppercase("hello") -> "HELLO" |
| Syntax | \$uuid => string |
| Example | \$uuid -> "503c5a9f-b8fb-402a-b0d7-fae17490bdf6" |
| Syntax | $append($arr: array, \$val: any) => array |
| Example |
$append([1,2,3], [5,6]) -> [1,2,3,4,5,6]
$
append([1,2,3], 5) -> [1,2,3,5]
|
| Syntax | $count($array) => number |
| Example |
$count([1,2,3,4,5]) -> 5
$
count([]) -> 0
|
| Syntax | $distinct($arr: array) => array |
| Example | \$distinct(\["a", "b", "b", "c"]) -> \["a", "b", "c"] |
| Syntax | $reverse($arr: array) => array |
| Example | \$reverse(\[1,2,3,4,5]) -> \[5,4,3,2,1] |
| Syntax | $shuffle($arr: array) => array |
| Example | \$shuffle(\[1,2,3,4]) -> \[3,1,4,2] |
| Syntax | $sort($arr: array, $swapFn: ($l, \$r)) => boolean |
| Example |
$sort([13,2,8,6,15], fn($
l,
$r) { $
l >
$r }) -> [2,6,8,13,15]
$
sort([13,2,8,6,15], fn(
$l, $
r)
\{ $l < $r }
) -> [15,13,8,6,2]
|
| Syntax | $zip($ar1:Array, $ar2:Array, $ar3;Array, ...) => Array |
| Example | \$zip(\[1,2,3],\[4,5,6]) -> \[\[1,4],\[2,5],\[3,6]] |
| Syntax | \$abs(n:number) : number |
| Example | \$abs(-1) -> 1 |
| Syntax | $acos($num: number) => number |
| Example | \$acos(1) -> 0 |
| Syntax | $acosh($num: number) => number |
| Example | \$acosh(1) -> 0 |
| Syntax | $asin($num: number) => number |
| Example | \$asin(1) -> 1.5707963267948966 |
| Syntax | $asinh($num: number) => number |
| Example | \$asinh(1) -> 1.5707963267948966 |
| Syntax | $atan($num: number) => number |
| Example | \$atan(1) -> 0.7853981633974483 |
| Syntax | $atanh($num: number) => number |
| Example | \$atanh(1) -> inf |
| Syntax | $atan2($x: number, \$y: number) => number |
| Example | \$atan2(-1, -1) -> -2.356194490192345 |
| Syntax | $cbrt($num: number) => number |
| Example | \$cbrt(27) -> 3 |
| Syntax | $ceil($num: number) => number |
| Example | \$ceil(3.4) -> 4 |
| Syntax | $constant($name: string ) => number |
| Example | \$constant('e') -> 2.718281828459045 |
| Syntax | $cos($num: number) => number |
| Example | \$cos(1) -> 0.5403023058681398 |
| Syntax | $cosh($num: number) => number |
| Example | \$cosh(1) -> 1.5430806348152437 |
| Syntax | $exp($num: number) => number |
| Example | \$exp(16) -> 8886110.520507872 |
| Syntax | $floor($num: number) => number |
| Example | \$floor(3.4) -> 3 |
| Syntax | $formatBase($num: number, \$base?: number) => string |
| Example | \$formatBase(100, 2) -> "1100100" |
| Syntax | $isFinite( $num: number ) => number |
| Example |
$isFinite(1) -> true
$
isFinite(inf) -> false
|
| Syntax | $log($num: number) => number |
| Example | \$log(16) -> 2.772588722239781 |
| Syntax | $log10($num: number) => number |
| Example | \$log10(16) -> 1.2041199826559248 |
| Syntax | $log2($num: number) => number |
| Example | \$log2(16) -> 4 |
| Syntax | $number($x: string | number | bool) => number |
| Example |
$number("-0.05") -> -0.05
$
number(false) -> 0
$number(true) -> 1
|
| Syntax | $power($num: number, \$exp: number) => number |
| Example |
$power(2, 3) -> 8
$
power(3,4) -> 81
|
| Syntax | $round($num: number, \$precision?: number) => number |
| Example |
$round(123.456) -> 123
$
round(123.456, 2) -> 123.46
$round(123.456, -1) -> 120
$
round(123.456, -2) -> 100
$round(125, -1) -> 120
$
round(125.456,-1) -> 130
|
| Syntax | $sin($num: number) => number |
| Example | \$sin(1) -> 0.8414709848078965 |
| Syntax | $sinh($num: number) => number |
| Example | \$sinh(1) -> 1.1752011936438014 |
| Syntax | $sqrt($num: number) => number |
| Example | \$sqrt(16) -> 4 |
| Syntax | $tan($num: number) => number |
| Example | \$tan(1) -> 1.5574077246549023 |
| Syntax | $tanh($num: number) => number |
| Example | \$tanh(1) -> 0.7615941559557649 |
| Syntax | $afterDate($timestamp1: string |number, \$timestamp2: string |number) => boolean |
| Example | $afterDate("2023-02-09", "2023-02-08") -> true $afterDate("2023-02-08", "2023-02-08") -> false |
| Syntax | $beforeDate($timestamp1: string |number, \$timestamp2: string |number) => boolean |
| Example |
$beforeDate("2023-02-07", "2023-02-08") -> true
$
beforeDate("2023-02-08", "2023-02-08") -> false
|
| Syntax | $dateEquals($timestamp1: string |number, \$timestamp2: string |number) => boolean |
| Example |
$dateEquals("2023-02-08", "2023-02-08") -> true
$
dateEquals("2023-02-08", "2023-02-07") -> false
|
| Syntax | $datePlus($timestamp1: string |number, $duration: number, $units, ) => number |
| Example |
$datePlus("2023-02-07", 2, "days") -> 1675900800000
$
datePlus("2023-02-07", 2, "months") -> 1680825600000
|
| Syntax | $day($timestamp: string |number) => number |
| Example | \$day("2023-02-08") -> 8 |
| Syntax | $dayOfTheWeek($timestamp: string |number) => number |
| Example |
$dayOftheWeek("2023-02-08") -> 3
$
dayOftheWeek("2023-02-07") -> 2
|
| Syntax | $diffDate($timestamp1: string |number, $timestamp2: string |number, $units : string, ) => number |
| Example |
$diffDate("2023-02-08", "2023-01-22", "days") -> 17
$
diffDate("2023-02-08", "2023-01-22","hours") -> 408
|
| Syntax | $fromMillis($val:number, \$picture?: string) => string |
| Example |
$fromMillis(1521801216617, "dd/M/yyyy") -> "23/3/2018"
$
fromMillis(1522616700000, "E EEEE") -> "7 Sunday"
|
| Syntax |
```json
$hasSameDate($timestamp1: string |number, $timestamp2: string |number, units?: Array |
| Example | ```json $hasSameDate("23-02-08", "2019-02-08", ["month", "day"]) -> true $hasSameDate("2023-02-01", "2023-02-08", ["month", "year"]) -> true $hasSameDate("23-02-01", "2023-02-08", ["month", "year"]) -> true $hasSameDate("2023-02-01T07:15:54.730Z", "2023-02-01T14:00:22.340Z", ["year","month", "day"]) -> true ``` |
| Syntax | ```json $hours($timestamp: string |number) => number ``` |
| Example | \$hours("2023-02-08T07:56:14.747+00:00") -> 7 |
| Syntax | $milliSeconds($timestamp: string |number) => number |
| Example | \$milliSeconds("2023-02-08T07:56:14.747+00:00") -> 747 |
| Syntax | $minutes($timestamp: string |number) => number |
| Example | \$minutes("2023-02-08T07:56:14.747+00:00") -> 56 |
| Syntax | $month($timestamp: string |number) => number |
| Example | \$month("2023-02-08") -> 2 |
| Syntax | $seconds($timestamp: string |number) => number |
| Example | \$seconds("2023-02-08T07:56:14.747+00:00") -> 14 |
| Syntax | $toMillis($val:string, \$picture?: string) => number |
| Example |
$toMillis("1970-01-01T00:00:00.001Z") -> 1
$
toMillis("2018-03-27", "yyyy-MM-dd") -> 1522108800000
$toMillis("21 August 2017", "dd MMMM yyyy") -> 1503273600000
|
| Syntax | $year($timestamp: string |number) => number |
| Example | \$year("2023-02-08T07:56:14.747+00:00") -> 2023 |