{"componentChunkName":"component---src-templates-simple-markdown-js","path":"/process-intelligence-apis/knowledge-model-api/beta-features/interoperability/odata-beta-features/","matchPath":"","result":{"data":{"markdownRemark":{"html":"<h1 style=\"position:relative;\"><a href=\"#protocol-interoperability\" aria-label=\"protocol interoperability 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=\"protocol-interoperability\"></div>Protocol Interoperability</h1>\n<p>There are different types of APIs with different scopes, benefits and intended audiences, which makes each of them uniquely suited for their unique purposes.\nThe Knowledge Model API is a generic purpose API, supporting pure REST and serving any use case.  However, it turns out that industry protocol standards can speed up integration and guarantee native interoperability with numerous cloud platforms without the need to build a dedicated connector.</p>\n<h2 style=\"position:relative;\"><a href=\"#odata-beta-program\" aria-label=\"odata beta program 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=\"odata-beta-program\"></div>OData (BETA program) <sup id=\"fnref-1\"><a href=\"#fn-1\" class=\"footnote-ref\">1</a></sup></h2>\n<p> <a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html\">OData</a> is one of the most popular industry API protocol standards in in recent years, adopted by many commercial platforms (such as Microsoft, SAP, Salesforce, etc.) as well as most of the analytics and business intelligence platforms (including Tableau, PowerBI, and SAP Analytics cloud).\nWhereas REST is an architectural style solely concerned with data transfer via web service APIs, <strong>OData builds upon REST architecture with a set of metadata</strong> that can be easily integrated into most programming and scripting languages.\nOData provides self-discoverability and standard functionality, thus helping applications to focus on business logic without worrying about the various API approaches to define request and response headers, status codes, HTTP methods, URL conventions, media types, payload formats, query options, etc.</p>\n<h3 style=\"position:relative;\"><a href=\"#target-audience\" aria-label=\"target audience 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=\"target-audience\"></div>Target Audience</h3>\n<p>There is no need for development skills to manage and make use of OData integration. It can be handled by personas like:</p>\n<ul>\n<li>\nData Analysts\n</li>\n<li>\nData Scientists\n</li>\n<li>\nBusiness Intelligence Professionals\n<h3 style=\"position:relative;\"><a href=\"#odata-v4-knowledge-model-api\" aria-label=\"odata v4 knowledge model api 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=\"odata-v4-knowledge-model-api\"></div>OData v4 Knowledge Model API</h3>\n<h4 style=\"position:relative;\"><a href=\"#dynamic-services-per-knowledge-model-km\" aria-label=\"dynamic services per knowledge model km 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=\"dynamic-services-per-knowledge-model-km\"></div>Dynamic Services per Knowledge Model (KM)</h4>\n<p>The OData service definition is <strong>the mechanism used to define what data is exposed with OData, how, and to whom</strong>. Data is exposed as OData collections. Refer to OData doc: <a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#_Toc31360927\">3 Service Root URL</a>.\nEvery Celonis Knowledge Model (KM) dynamically generates an OData service including collections of KM records, thus making the KM queryable. The path to access the KM OData service is <code class=\"language-text\">GET {{base-path}}/odata/{{km-id}}.svc</code>\nBy sending the request <code class=\"language-text\">GET https:://{{team}}{{realm}}.celonis.cloud/intelligence/api/odata/{{km-id}}.svc</code>, one gets:</p>\n</li>\n<li>\nEither an \n<strong><em>xml</em></strong>\n response if \n<code class=\"language-text\">Accept=application/xml</code>\n , \n<code class=\"language-text\">$format=application/xml</code>\n or \n<code class=\"language-text\">$format=xml</code>\n\n\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 32.01754385964912%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABAUlEQVQY02WQbW+CQBCEkTTymuAFDqiYAlJAhYMr1rYJ/f9/a7qeiLT98NzuXnJzM6vZaYegGcHqT0TlGbtqQFxI8H0Htn+Dn3fgWYswFwgyAZb3YFk/z5wqp+omR6zjGpoeHeC9nhG2IzblBZzwiwFeLuEW7zASATs5KYznI1a8vhH+YbrTdDqctEckRvj1F8LqgoA+uLrzCPNFwkxaOJOotT3hiUyseAU9JO51ggQPcDKJiByy8gMb6j1yaGcDrJ1QArpyUKl6Z575b5SgSyKx+FaCHu3n6sxKJdbbBibFfDi6CaleRaz+RdeMpAGjmDbFXj6YBRZulnf6Yo9a9OAHLvSc+nfiU9MAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OData Service: XML\"\n        title=\"OData Service: XML\"\n        src=\"/static/aad2bb3fbac5af4a87f0671522ade88a/c6bbc/odata-service-result-xml.png\"\n        srcset=\"/static/aad2bb3fbac5af4a87f0671522ade88a/d4770/odata-service-result-xml.png 228w,\n/static/aad2bb3fbac5af4a87f0671522ade88a/379c3/odata-service-result-xml.png 455w,\n/static/aad2bb3fbac5af4a87f0671522ade88a/c6bbc/odata-service-result-xml.png 910w,\n/static/aad2bb3fbac5af4a87f0671522ade88a/d8104/odata-service-result-xml.png 1365w,\n/static/aad2bb3fbac5af4a87f0671522ade88a/fb937/odata-service-result-xml.png 1820w,\n/static/aad2bb3fbac5af4a87f0671522ade88a/b7756/odata-service-result-xml.png 2294w\"\n        sizes=\"(max-width: 910px) 100vw, 910px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nOr a \n<strong><em>json</em></strong>\n response if \n<code class=\"language-text\">Accept=application/json</code>\n , \n<code class=\"language-text\">$format=application/json</code>\n or \n<code class=\"language-text\">$format=json</code>\n\n\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 36.84210526315789%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAABYlAAAWJQFJUiTwAAAA1klEQVQoz4WQWw/BQBCFe6GlVSRo9bLiRe9UEP//nx2z01UraXg4mdvulzNjTJMa82OHaVLBS84Isg5B2sFPL1z7pAXlsl6w+pmvcp6pN7O4gWFHFcEazMQF68MDm+MTK3GHFRYwdzlMjsUnyt5Oz7/f9MC4hpu1WIobQ2UMsitsBZVwS0bOcy0vPjPVZ+CEgE7a0hodyyXrzr4eXA4fx/R2H2oOdaCzpztsT8M6P6EKJuNbauUGrpCHvcKj4+qAXw7NMYcTAlphCTsqeU1Z/11zBGhEvV5jjLE9zhQqMgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OData Service: JSON\"\n        title=\"OData Service: JSON\"\n        src=\"/static/3072220213b85fa08131dc0f118cf53b/c6bbc/odata-service-result-json.png\"\n        srcset=\"/static/3072220213b85fa08131dc0f118cf53b/d4770/odata-service-result-json.png 228w,\n/static/3072220213b85fa08131dc0f118cf53b/379c3/odata-service-result-json.png 455w,\n/static/3072220213b85fa08131dc0f118cf53b/c6bbc/odata-service-result-json.png 910w,\n/static/3072220213b85fa08131dc0f118cf53b/d8104/odata-service-result-json.png 1365w,\n/static/3072220213b85fa08131dc0f118cf53b/fb937/odata-service-result-json.png 1820w,\n/static/3072220213b85fa08131dc0f118cf53b/3c2d4/odata-service-result-json.png 2092w\"\n        sizes=\"(max-width: 910px) 100vw, 910px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n<h4 style=\"position:relative;\"><a href=\"#dynamic-metadata--per-knowledge-model-km\" aria-label=\"dynamic metadata  per knowledge model km 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=\"dynamic-metadata--per-knowledge-model-km\"></div>Dynamic Metadata  per Knowledge Model (KM)</h4>\n<p>OData metadata documents <strong>describe the Entity Data Model (EDM) for a given service</strong>, which is the underlying abstract data model used by OData services to formalize the description of the resources it exposes. Refer to OData doc: <a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_AddressingtheModelforaService\">4.1 Addressing the Model for a Service</a>.\nEvery Celonis Knowledge Model (KM) dynamically generates their OData metadata including the schema of each KM record, thus making the KM self-discoverable.\nThe path to access the KM OData metadata is <code class=\"language-text\">GET {{base-path}}/odata/{{km-id}}.svc/$metadata</code>\nBy sending the request <code class=\"language-text\">GET https:://{{team}}{{realm}}.celonis.cloud/intelligence/api/odata/{{km-id}}.svc/$metadata</code>, one gets:</p>\n</li>\n<li>\nEither an \n<strong><em>xml</em></strong>\n response if \n<code class=\"language-text\">Accept=application/xml</code>\n , \n<code class=\"language-text\">$format=application/xml</code>\n or \n<code class=\"language-text\">$format=xml</code>\n\n\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60.08771929824561%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABYlAAAWJQFJUiTwAAABt0lEQVQoz5WSeXOiQBTEQSBGEXNxH8aAoBgOMSR71Sab7/+henvG6FpuUpX80fVgBn7T7/Uo07sWbvUL14sHXKQdpvMWVlzCDApMwhWsiIrXcs1wc+jOAhql2hkG70jR/TXM2w3s9U845Q94RY847xCvegSsN/MGY+6PkxrjkN9G9zD8EqqzxMD9X4rmlVDsQrrz2j9wlt/gpw3s4gnuYotrAof+Coa3hCp+cArCCgze6v55L0V7O22abuE1zztg1sIpHiXwksBpUmFEd9qREwn6yKEEZlv47Yt0ZmcbCXSyDlZyv3Nm5wfIKez4/R+QLbvS4ROiBR3SnZv3hHe4mNU4C8p3HX3gsJBAjw5Fy5502Ms6nTOQkAlzjmLWYoanUp38MFvOcI0BoVdiZvUzbvJHhtLC5jVyUqbPZzOuMGa6I0pUM97V/dowrmUV6StGxBSTDYINEybQmne4vOuks8lti1HS4ixuDhqe6HjPiGoC4xbnsw5h98qWXxlOjysmPiRIC2voPPCzEuYULagIFA5f2PJvTNIe5qzBOdvQw+rLUkYJL3H5HRZD0Tl4lddDDF91vih3p78ghjsNpwdmywAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OData Metadata: XML\"\n        title=\"OData Metadata: XML\"\n        src=\"/static/4b2cf24643d28d83e42f80777eb31335/c6bbc/odata-metadata-xml.png\"\n        srcset=\"/static/4b2cf24643d28d83e42f80777eb31335/d4770/odata-metadata-xml.png 228w,\n/static/4b2cf24643d28d83e42f80777eb31335/379c3/odata-metadata-xml.png 455w,\n/static/4b2cf24643d28d83e42f80777eb31335/c6bbc/odata-metadata-xml.png 910w,\n/static/4b2cf24643d28d83e42f80777eb31335/d8104/odata-metadata-xml.png 1365w,\n/static/4b2cf24643d28d83e42f80777eb31335/fb937/odata-metadata-xml.png 1820w,\n/static/4b2cf24643d28d83e42f80777eb31335/9e7e4/odata-metadata-xml.png 2056w\"\n        sizes=\"(max-width: 910px) 100vw, 910px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nOr a \n<strong><em>json</em></strong>\n response if \n<code class=\"language-text\">Accept=application/json</code>\n , \n<code class=\"language-text\">$format=application/json</code>\n or \n<code class=\"language-text\">$format=json</code>\n\n\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 109.64912280701753%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAACXBIWXMAABYlAAAWJQFJUiTwAAACTUlEQVQ4y51UaXOiUBBEbsQTNcYLNSpeCHih2c0mtfv//1PvzGg2sWpVkg9dDwqmX/dcitmcQqs/QWXUhshVB9A9evbo2RsI1DNyGaCojSmcYYJG+hte8oLCZIdm+IrK9AC9tYDenCP3MIWaEYrZjWH6a7iTFNX4FdXkDbX9H1SiX6iELyhOj7Dpu9VNoHdWMLrRTRBhRD9GElSaHeEGKYp8jvcozA7I05kf7+SdSY1OJMTXIIT8k9PfEOHziXB+JOupwHnaCqEz2sHuJTgJuEFo9WKSGgthMTj+U2T31jBZTXv1gc7p8puWNUq6+jCj4BDuaEv5XJGaNYz28ssFkaIwoZA2Z7AHMWqbV5TmB5T8Dbx+inJvA5vUKfWJBOQawU18EJJKBpOWw2c4gwSFToJih88YdiuUgOwK2XZrCYusW/0Ilh/BJNtuPyGsYVPC34NuEV8Qao9zFIIdqtEPap0UpckeHlW+vqR+HGwz5fSC0HikySBSVshFMZsLOK2V2DXp22dl11ReEDIZj155eYTjJ7AoBU47kqIw6T27/1XI4MIYXVa1RIF61P1uUXgZcA7d8RZWO5ScsVWDTr7oywp1yplGJ28frjKrKlEfFmlqWOW3FLqjDW0emt/hWixr1PCMLOqEUP0UwLtRJ2vcMpzHPBWk6u9Q8beiUGlM7k8Kq9KIxKSc2bwoqF3ep4Z7TjlD+o8vvoPztkkob9Qui5+0umiFjVPk+7Qo6Jss4O5pI2WBWOYKcjHUeiBLIFcP7lq7apnnl8myJDwL/gJsvTUHTcNi9QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OData Metadata: JSON\"\n        title=\"OData Metadata: JSON\"\n        src=\"/static/8bfc4d7b68ea8e5383bca771741b52a8/c6bbc/odata-metadata-json.png\"\n        srcset=\"/static/8bfc4d7b68ea8e5383bca771741b52a8/d4770/odata-metadata-json.png 228w,\n/static/8bfc4d7b68ea8e5383bca771741b52a8/379c3/odata-metadata-json.png 455w,\n/static/8bfc4d7b68ea8e5383bca771741b52a8/c6bbc/odata-metadata-json.png 910w,\n/static/8bfc4d7b68ea8e5383bca771741b52a8/76823/odata-metadata-json.png 1038w\"\n        sizes=\"(max-width: 910px) 100vw, 910px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n<h4 style=\"position:relative;\"><a href=\"#dynamic-query-of-the-records-of-each-knowledge-model-km\" aria-label=\"dynamic query of the records of each knowledge model km 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=\"dynamic-query-of-the-records-of-each-knowledge-model-km\"></div>Dynamic Query of the records of each Knowledge Model (KM)</h4>\n<p>OData specifies a simple, yet powerful <strong>query language</strong> that allows a client to request arbitrary field selection, filtering, sorting, paging and so on. A client is able to express, via query string parameters, the amount and order of the data that an OData service returns for the resource identified by the URI. Every Celonis Knowledge Model (KM) record allows consumer to query them via OData query syntax described at Odata doc: <a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_QueryOptions\">5 Query Options</a>.\nThe path to query the KM record via OData protocol  is <code class=\"language-text\">GET {{base-path}}/odata/{{km-id}}.svc/{{record-id}}</code>\nBy sending the request <code class=\"language-text\">GET https:://{{team}}{{realm}}.celonis.cloud/intelligence/api/odata/{{km-id}}.svc/{{record-id}}</code>, one gets:</p>\n</li>\n<li>\nEither an \n<strong><em>xml</em></strong>\n response if \n<code class=\"language-text\">Accept=application/xml</code>\n , \n<code class=\"language-text\">$format=application/xml</code>\n or \n<code class=\"language-text\">$format=xml</code>\n\n\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 27.192982456140353%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAz0lEQVQY03WQyQ6CQBBEUQQhGEQUlDEBNNFhC+5e/f+vKmsY1xgPL9XdhzepMUZpi2hzQpi3mK1I3sBPGwQkzDRTou7jVKP2KfdJWsNJCgwWBSxizyWMflwglFf46yOspIYlGtjLGka07eg98jn/Ir/mThhszhhR6IoK3rLCkK85SQlHlLB5G6qZqHSFTjPWoj7zDR9WVpe1xf6GSF4wWR0QUD5eHyisYM5ZqUNylq/sBEoYyS8MS9Twsh28fIdBUvE/SlbX2ftbk8QK+ZGaO2M9gKXHDXN7AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OData Query: XML\"\n        title=\"OData Query: XML\"\n        src=\"/static/aaaf6379f312ed050d52aa193b0deeda/c6bbc/odata-data-xml.png\"\n        srcset=\"/static/aaaf6379f312ed050d52aa193b0deeda/d4770/odata-data-xml.png 228w,\n/static/aaaf6379f312ed050d52aa193b0deeda/379c3/odata-data-xml.png 455w,\n/static/aaaf6379f312ed050d52aa193b0deeda/c6bbc/odata-data-xml.png 910w,\n/static/aaaf6379f312ed050d52aa193b0deeda/d8104/odata-data-xml.png 1365w,\n/static/aaaf6379f312ed050d52aa193b0deeda/fb937/odata-data-xml.png 1820w,\n/static/aaaf6379f312ed050d52aa193b0deeda/0c307/odata-data-xml.png 2526w\"\n        sizes=\"(max-width: 910px) 100vw, 910px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n</li>\n<li>\nOr a \n<strong><em>json</em></strong>\n response if \n<code class=\"language-text\">Accept=application/json</code>\n , \n<code class=\"language-text\">$format=application/json</code>\n or \n<code class=\"language-text\">$format=json</code>\n\n\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 14.035087719298245%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAbUlEQVQI153KuQqAMBAE0Jgg3lYeaDwKI4iFUf//38ZNMBaCjcVjZ4Zl4ajhNyvidkMitRXLzXI9NbrdXtOz7nj+zJ6R/N5YMGhEExUz9ic9aYhqgahfqo/sOuGE8VJRmMHLGYLwQsErJqJ+uQCuqkx8FAlHKwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OData Query: JSON\"\n        title=\"OData Query: JSON\"\n        src=\"/static/f42325bd34443ba64743002fa8ccb26a/c6bbc/odata-data-json.png\"\n        srcset=\"/static/f42325bd34443ba64743002fa8ccb26a/d4770/odata-data-json.png 228w,\n/static/f42325bd34443ba64743002fa8ccb26a/379c3/odata-data-json.png 455w,\n/static/f42325bd34443ba64743002fa8ccb26a/c6bbc/odata-data-json.png 910w,\n/static/f42325bd34443ba64743002fa8ccb26a/d8104/odata-data-json.png 1365w,\n/static/f42325bd34443ba64743002fa8ccb26a/fb937/odata-data-json.png 1820w,\n/static/f42325bd34443ba64743002fa8ccb26a/4f9e8/odata-data-json.png 2432w\"\n        sizes=\"(max-width: 910px) 100vw, 910px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span>\n\nQuery options that are supported:\n</li>\n<li>\n<code class=\"language-text\">$filter</code>\n: Refer to the OData doc \n<a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_SystemQueryOptionfilter\">5.1.2  System Query Option  $filter</a>\n</li>\n<li>\n<code class=\"language-text\">$select</code>\n: Refer to the OData doc \n<a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_SystemQueryOptionselect\">5.1.4  System Query Option  $select</a>\n \n</li>\n<li>\n<code class=\"language-text\">$orderby</code>\n: Refer to the OData doc \n<a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_SystemQueryOptionorderby\">5.1.5  System Query Option  $orderby</a>\n</li>\n<li>\n<code class=\"language-text\">$top</code>\n and \n<code class=\"language-text\">$skip</code>\n: Refer to the OData doc \n<a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_SystemQueryOptionstopandskip\">5.1.6  System Query Options  $top  and  $skip</a>\n</li>\n<li>\n<code class=\"language-text\">$format</code>\n: Refer to the OData doc \n<a href=\"https://docs.oasis-open.org/odata/odata-json-format/v4.0/os/odata-json-format-v4.0-os.html#_Toc372793039\">3  Requesting the JSON Format</a>\n</li>\n<li>\n<code class=\"language-text\">$count=true</code>\n: Refer to the OData doc \n<a href=\"https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_SystemQueryOptioncount\">5.1.7 System Query Option $count</a>\n</li>\n<li>\n<code class=\"language-text\">filterid</code>\n: A custom option that allows the usage of predefined KM filters\nExample of a query URI:\n\n<code class=\"language-text\">https://apinauts.develop.celonis.cloud/intelligence/api/odata/poc-ms-excel-1.svc/O_CELONIS_ORDER?$select=ID,CREATIONTIME&amp;$orderby=ID desc&amp;$filter=CREATIONTIME gt 2024-04-25&amp;$top=1000&amp;$skip=10&amp;filterid=this_quarter</code>\n<h3 style=\"position:relative;\"><a href=\"#how-celonis-odata-integration-looks-like-on-3p-platforms\" aria-label=\"how celonis odata integration looks like on 3p platforms 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=\"how-celonis-odata-integration-looks-like-on-3p-platforms\"></div>How Celonis OData integration looks like on 3P platforms</h3>\n<h4 style=\"position:relative;\"><a href=\"#sap-analytics-cloud\" aria-label=\"sap analytics cloud 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=\"sap-analytics-cloud\"></div>SAP Analytics Cloud</h4>\n<p>The procedure to create an Import Data Connection from an OData Source into SAP Analytics Cloud takes a few clicks as described at <a href=\"https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/1c1e36eeb99e420aa20ebe6e39af2b65.html#procedure\">SAP Analytics Cloud Documentation</a>.</p>\n<h4 style=\"position:relative;\"><a href=\"#tableau\" aria-label=\"tableau 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=\"tableau\"></div>Tableau</h4>\n<p><a href=\"https://help.tableau.com/current/pro/desktop/en-us/examples_odata.htm\">This example</a> illustrates how to connect Tableau to an OData data source.</p>\n<h4 style=\"position:relative;\"><a href=\"#excel\" aria-label=\"excel 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=\"excel\"></div>Excel</h4>\n<p>After adding the <a href=\"https://www.microsoft.com/en-us/download/details.aspx?id=39379\">Microsoft Power Query for Excel</a>, one can easily connect to Celonis by following the below simple steps:</p>\n</li>\n<li>\nOpen Microsoft Excel.\n</li>\n<li>\nCreate a new, blank workbook.\n</li>\n<li>\nOn the  Power Query  tab, click \n<strong>From Other Sources</strong>\n in the Get External Data  group, and then click  \n<strong>From OData Data Feed</strong>\n.\n</li>\n<li>\nIn the OData Feed  dialog box page, in the  \n<strong>URL</strong>\n  box, specify the website address for the data feed as follows: \n<code class=\"language-text\">{{base-path}}/odata/{{km-id}}.svc/{{record-id}}?{{parameter-value-list}}</code>\n<br>\n\n\nFor example:\n\n<code class=\"language-text\">https://apinauts.develop.celonis.cloud/intelligence/api/odata/poc-ms-excel-1.svc/O_CELONIS_ORDER?$select=ID,CREATIONTIME&amp;$orderby=ID desc&amp;$filter=CREATIONTIME gt 2024-04-25&amp;$top=1000&amp;$skip=10</code>\n</li>\n<li>\nIf you are prompted for your API key, enter it and then log on. The Query Editor opens.\n</li>\n<li>\nIn the Query Editor, view the records available for the endpoint. Edit the queries as required.\n</li>\n<li>\nClick \n<strong>Close &#x26; Load</strong>\n to import the endpoint information in Excel in tabular format.\n</li>\n</ul>\n<div class=\"footnotes\">\n<hr>\n<ol>\n<li id=\"fn-1\">\n<p>Please contact your Celonis account team if you want to join the OData Beta program.</p>\n<a href=\"#fnref-1\" class=\"footnote-backref\">↩</a>\n</li>\n</ol>\n</div>","headings":[{"value":"Protocol Interoperability","depth":1},{"value":"OData (BETA program) ","depth":2},{"value":"Target Audience","depth":3},{"value":"OData v4 Knowledge Model API","depth":3},{"value":"Dynamic Services per Knowledge Model (KM)","depth":4},{"value":"Dynamic Metadata  per Knowledge Model (KM)","depth":4},{"value":"Dynamic Query of the records of each Knowledge Model (KM)","depth":4},{"value":"How Celonis OData integration looks like on 3P platforms","depth":3},{"value":"SAP Analytics Cloud","depth":4},{"value":"Tableau","depth":4},{"value":"Excel","depth":4}]},"contentItem":{"data":{"lastModified":"2025-10-08T17:27:27.000Z","enableToc":null,"disableLastModified":null,"tocMaxDepth":null,"requestLogin":false}},"siteConfig":{"enableToc":false,"disableLastModified":false,"tocMaxDepth":4}},"pageContext":{"matchPath":"","id":"d2367b3d-0515-5417-a02a-84db2b640eb3__redocly content/process-intelligence-apis/knowledge-model-api/beta-features/interoperability/odata-beta-features/","seo":{"title":"Protocol Interoperability","description":null,"image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"process-intelligence-apis/knowledge-model-api/beta-features/interoperability/odata-beta-features.md","pageBaseUrl":"/process-intelligence-apis/knowledge-model-api/beta-features/interoperability/odata-beta-features","type":"markdown","toc":{"enable":true,"maxDepth":4,"headings":[{"depth":1,"value":"Protocol Interoperability","id":"protocol-interoperability"},{"depth":2,"value":"OData (BETA program) ","id":"odata-beta-program"},{"depth":3,"value":"Target Audience","id":"target-audience"},{"depth":3,"value":"OData v4 Knowledge Model API","id":"odata-v4-knowledge-model-api"},{"depth":4,"value":"Dynamic Services per Knowledge Model (KM)","id":"dynamic-services-per-knowledge-model-km"},{"depth":4,"value":"Dynamic Metadata  per Knowledge Model (KM)","id":"dynamic-metadata--per-knowledge-model-km"},{"depth":4,"value":"Dynamic Query of the records of each Knowledge Model (KM)","id":"dynamic-query-of-the-records-of-each-knowledge-model-km"},{"depth":3,"value":"How Celonis OData integration looks like on 3P platforms","id":"how-celonis-odata-integration-looks-like-on-3p-platforms"},{"depth":4,"value":"SAP Analytics Cloud","id":"sap-analytics-cloud"},{"depth":4,"value":"Tableau","id":"tableau"},{"depth":4,"value":"Excel","id":"excel"}]},"data":{"title":""},"catalogInfo":null,"link":"/process-intelligence-apis/knowledge-model-api/beta-features/interoperability/odata-beta-features/","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"]}