{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/cpm/developer/rest-api/how-to/filter/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#celonis-process-management-api-filter\" aria-label=\"celonis process management api filter permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"celonis-process-management-api-filter\"></div>Celonis Process Management API Filter</h1>\n<p>Filters can be part of the Uri and cause the server to return a filtered amount of data. For example, you can query all elements with a specific name specified in the filter.</p>\n<h2 style=\"position:relative;\"><a href=\"#syntax\" aria-label=\"syntax permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"syntax\"></div>Syntax</h2>\n<p>The filters are part of the Uri.</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"58897062771547580000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`https://Server/Collection/Database/_api/rest/facets/processes/views/tree/elements/Origin Key of Category?\\\\$filter=name -eq 'mainProcess'`, `58897062771547580000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-58897062771547580000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">https://Server/Collection/Database/_api/rest/facets/processes/views/tree/elements/Origin Key of Category?$filter=name -eq 'mainProcess'</code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#type-of-filters--operations\" aria-label=\"type of filters  operations permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"type-of-filters--operations\"></div>Type of filters / operations</h2>\n<h3 style=\"position:relative;\"><a href=\"#binary-operators\" aria-label=\"binary operators permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"binary-operators\"></div>Binary Operators</h3>\n<table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Syntax</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Equal</td>\n<td>-eq</td>\n<td>string</td>\n<td>The Boolean equality operator.</td>\n<td>?$filter=name -eq string</td>\n</tr>\n</tbody>\n</table>\n<h3 style=\"position:relative;\"><a href=\"#function-operators\" aria-label=\"function operators permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"function-operators\"></div>Function Operators</h3>\n<table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Syntax</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Contains</td>\n<td>Contains(string to be searched, substring to search)</td>\n<td>string</td>\n<td>Determines if one string occurs within another string.</td>\n<td>?$filter=contains(attributes, 'test')</td>\n</tr>\n<tr>\n<td>EndsWith</td>\n<td>EndsWith(string to be searched, substring to search at the end of the first string)</td>\n<td>string</td>\n<td>Determines if the end of one string matches another string.</td>\n<td>?$filter=EndsWith(attributes, 'test')</td>\n</tr>\n<tr>\n<td>StartsWith</td>\n<td>StartsWith(string to be searched, substring to search at the beginning of the first string)</td>\n<td>string</td>\n<td>Determines if the beginning of one string matches another string.</td>\n<td>?$filter=StartsWith(attributes, 'test')</td>\n</tr>\n<tr>\n<td>IsNull</td>\n<td>IsNull(key to check for null)</td>\n<td>string</td>\n<td>Compares the first operand with the null value. Compares if value null, empty or whitespace.</td>\n<td>?$filter=IsNull(attributes)</td>\n</tr>\n</tbody>\n</table>\n<h3 style=\"position:relative;\"><a href=\"#operator-error\" aria-label=\"operator error permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"operator-error\"></div>Operator Error</h3>\n<p>If you use an invalid filter operant, you get either a code 404 for an invalid uri or a hint that this operator is not implemented.</p>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"35944899180546020000\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`{\n    &quot;data&quot;: [\n        {\n            &quot;error&quot;: &quot;The operator Custom is currently not supported&quot;\n        }\n    ],\n    &quot;message&quot;: &quot;An error occurred.&quot;,\n    &quot;output&quot;: &quot;Volatile&quot;,\n    &quot;type&quot;: &quot;Error&quot;\n}`, `35944899180546020000`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-35944899180546020000\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"data\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"error\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"The operator Custom is currently not supported\"</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"An error occurred.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"output\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Volatile\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Error\"</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n      </div>\n<h2 style=\"position:relative;\"><a href=\"#queries\" aria-label=\"queries permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"queries\"></div>Queries</h2>\n<p>It is possible to create a query in which filters are used in combination. An example in which the value'mainprocess' in the <code class=\"language-text\">name</code> attribute is filtered and the value in the <code class=\"language-text\">sate1</code> attribute does not correspond to'in progress'.</p>\n<table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Syntax</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>And</td>\n<td>AND</td>\n<td>string</td>\n<td>Groups operands with logical AND</td>\n<td>?$filter=name Equal string AND state1 Equal string</td>\n</tr>\n<tr>\n<td>Or</td>\n<td>OR</td>\n<td>string</td>\n<td>Groups operands with logical OR.</td>\n<td>?$filter=name Equal string OR state1 Equal string</td>\n</tr>\n</tbody>\n</table>\n<h3 style=\"position:relative;\"><a href=\"#query-example\" aria-label=\"query example permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><div class=\"hidden-anchor\" id=\"query-example\"></div>Query example</h3>\n<div class=\"code-wrapper\">\n        <div class=\"gatsby-code-button-container\"\n             data-toaster-id=\"562450834491512450\"\n             data-toaster-duration=\"1500\"\n             onClick=\"copyCodeToClipboard(`https://Server/Collection/Database/_api/rest/facets/processes/views/tree/elements/Origin Key of Category?\\\\$filter=name -eq 'mainProcess' AND state1 -eq 'in progress'`, `562450834491512450`)\"\n        >\n          <div class=\"gatsby-code-button\" title=\"Copy the code snippet\">Copy</div>\n          <div class=\"done-indicator done-indicator-562450834491512450\">Copied</div>\n        </div>\n        <div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">https://Server/Collection/Database/_api/rest/facets/processes/views/tree/elements/Origin Key of Category?$filter=name -eq 'mainProcess' AND state1 -eq 'in progress'</code></pre></div>\n      </div>\n<p>Other combinations are also possible.</p>","headings":[{"value":"Celonis Process Management API Filter","depth":1},{"value":"Syntax","depth":2},{"value":"Type of filters / operations","depth":2},{"value":"Binary Operators","depth":3},{"value":"Function Operators","depth":3},{"value":"Operator Error","depth":3},{"value":"Queries","depth":2},{"value":"Query example","depth":3}]},"contentItem":{"data":{"lastModified":"2025-09-10T14:16:09.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"0d387ac3-35bf-5059-878c-5184479c39e8__redocly content/cpm/developer/rest-api/how-to/filter/","seo":{"title":"Celonis Process Management API Filter","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"cpm/developer/rest-api/how-to/filter.md","pageBaseUrl":"/cpm/developer/rest-api/how-to/filter","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Celonis Process Management API Filter","id":"celonis-process-management-api-filter"},{"depth":2,"value":"Syntax","id":"syntax"},{"depth":2,"value":"Type of filters / operations","id":"type-of-filters--operations"},{"depth":3,"value":"Binary Operators","id":"binary-operators"},{"depth":3,"value":"Function Operators","id":"function-operators"},{"depth":3,"value":"Operator Error","id":"operator-error"},{"depth":2,"value":"Queries","id":"queries"},{"depth":3,"value":"Query example","id":"query-example"}]},"data":{"title":""},"catalogInfo":null,"link":"/cpm/developer/rest-api/how-to/filter/","sidebarName":"celonis","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":null,"apiVersionId":null,"isDefaultApiVersion":null}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}