blob: 5c0cdfc19f29270ceb298f635c7be59943a0bac9 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-61232409-1');
</script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(72949126, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<!-- LuckyOrange code -->
<script type='text/javascript'>
window.__lo_site_id = 284467;
(function() {
var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;
wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);
})();
</script>
<!-- /LuckyOrange code -->
<!-- Bugyard widget embed -->
<script type="text/javascript">!function(){if("function"!=typeof window.bugyard){var a=function(){a.c(arguments)};a.q=[],a.c=function(b){a.q.push(b)},window.bugyard=a;var b=document.createElement("script");b.setAttribute("data-bugyard","610961912c35ff001493163a"),b.setAttribute("async","async"),b.setAttribute("defer","defer"),b.setAttribute("src","https://widget.bugyard.io/bugyard.min.js"),document.getElementsByTagName("head")[0].appendChild(b)}}(); window.bugyard("hideButton"); </script>
<link rel="preload" href='/assets/js/code-tabs.js?1' as="script" crossorigin>
<link rel="preload" href='/assets/js/page-nav.js' as="script" crossorigin>
<link rel="preload" href='/assets/js/docs-menu.js?20201005' as="script" crossorigin>
<style>:root{--gg-red:#ec1c24;--gg-orange:#ec1c24;--gg-orange-dark:#bc440b;--gg-orange-filter:invert(47%) sepia(61%) saturate(1950%) hue-rotate(345deg) brightness(100%) contrast(95%);--gg-dark-gray:#333333;--orange-line-thickness:3px;--block-code-background:rgba(241, 241, 241, 20%);--inline-code-background:rgba(241, 241, 241, 90%);--padding-top:25px;--link-color:#ec1c24;--body-background:#fcfcfc}header{min-height:var(--header-height);background:#fff;box-shadow:0 4px 10px 0 #eee,0 0 4px 0 #d5d5d5;z-index:1}header>.container{display:grid;grid-template-columns:auto auto 1fr auto auto auto;grid-template-areas:'left-toggle home nav ver api search lang';grid-template-rows:40px;flex-direction:row;align-items:center;justify-content:flex-start;padding:12px 20px;max-width:1400px;margin:0 auto}header nav>ul{padding:0;margin:0;list-style:none;display:inherit}header .dropdown{display:none;position:fixed;top:calc(var(--header-height) - 12px);width:auto;background:#fff;box-shadow:0 4px 4px 0 rgba(0,0,0,.24),0 0 4px 0 rgba(0,0,0,.12);border-radius:4px;padding-top:10px;padding-bottom:12px;z-index:2}header .dropdown li{display:flex}header .dropdown a{color:grey!important;font-size:16px;padding-top:5px;padding-bottom:4px}header .menu{border:none;background:0 0;width:40px;height:40px;margin-right:12px;grid-area:left-toggle}header .menu img{width:18px;height:12px}header .search-close,header .top-nav-toggle{background:0 0;border:none;padding:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--gg-dark-gray);font-size:26px}header .search-toggle{grid-area:search}header .top-nav-toggle{grid-area:top-toggle}header .home{grid-area:home;margin-right:auto}header .home img{height:36px}header #api-docs{grid-area:api;margin:0;display:flex}header #api-docs .dropdown{padding:.5em 0}header #api-docs a{padding:9px 14px;color:var(--gg-dark-gray)!important;text-decoration:none;white-space:nowrap}header #api-docs .dropdown-item a{font-weight:400;display:block;width:100%;min-width:150px}header #lang-selector li{list-style:none;display:flex;padding:9px 14px}header #lang-selector li a{display:flex;color:#000;align-items:center}header #lang-selector li a span{font-size:10px;margin-left:5px}header #lang-selector li a img{width:25px}header #lang-selector li .dropdown{margin-left:-70px}header #lang-selector li .dropdown .dropdown-item{padding:0 1em;margin-bottom:8px}header #lang-selector li .dropdown .dropdown-item a span{font-size:14px}header .search{margin-left:auto;margin-right:20px;grid-area:search}header .search input[type=search]{color:var(--gg-dark-gray);background:rgba(255,255,255,.8);border:1px solid #ccc;padding:10px 15px;font-family:inherit;max-width:148px;height:37px;font-size:14px;-webkit-appearance:unset;appearance:unset}header #version-selector{list-style:none;grid-area:ver;line-height:28px;border-radius:0;margin-right:10px;border:none;color:var(--gg-dark-gray);padding:5px 16px 5px 10px;white-space:nowrap;font-size:14px;width:auto;text-align:right;box-sizing:border-box;text-align-last:right;-moz-appearance:none;-webkit-appearance:none;appearance:none;direction:rtl}header #version-selector option{direction:ltr}header>nav{grid-area:nav;font-size:18px;display:flex;flex-direction:row;margin:0 20px}header #lang-selector{grid-area:lang}header .search-close{margin-right:10px}@media (max-width:600px){header .search{margin-right:5px}header .search input[type=search]{max-width:110px}}header:not(.narrow-header) .search-close,header:not(.narrow-header) .top-nav-toggle{display:none}@media (max-width:670px){header>.container{grid-template-columns:auto 1fr auto;grid-template-areas:'left-toggle home search' 'ver api lang'}header #lang-selector li{justify-content:flex-end}}pre,pre.rouge{padding:8px 15px;background:var(--block-code-background)!important;border-radius:5px;border:1px solid #e5e5e5;overflow-x:auto;min-height:36px;line-height:18px;color:#545454}code{color:#545454}pre.rouge code{background:0 0!important}:not(pre)>code{background:var(--inline-code-background);padding:.1em .5em;background-clip:padding-box;border-radius:3px;color:#545454;font-size:90%}.listingblock .content{position:relative}.highlight{color:#586e75}.highlight .c1{color:#657b83}.highlight .nt{color:#b58900}.highlight .o{color:#93a1a1}.highlight .k{color:#6c71c4}.highlight .kt{color:#cb4b16}.highlight .s,.highlight .s1{color:#859900}.highlight .nc{color:#b58900}.highlight .na{color:#268bd2}body{font-family:'Open Sans',sans-serif}h1,h2{color:#000;font-weight:400;font-family:'Open Sans'}h1{font-size:36px;line-height:40px}a{text-decoration:none;color:var(--link-color)}section{color:#545454}.admonitionblock .icon .title{display:none}body{--header-height:64px;--promotion-bar-height:35px;--footer-height:104px;--footer-gap:60px;padding:0;margin:0;display:flex;flex-direction:column;min-height:100vh;background-color:var(--body-background);font-family:'Open Sans',sans-serif}body>section{flex:1}header{position:-webkit-sticky;position:sticky;top:0;z-index:2}*{box-sizing:border-box}@media (max-width:670px){body{--header-height:97px}}.left-nav{padding:10px 20px;width:289px;overflow-y:auto;top:calc(var(--header-height) + var(--promotion-bar-height));height:calc(100vh - var(--header-height) - var(--promotion-bar-height));font-family:'Open Sans';padding-top:var(--padding-top);background-color:var(--body-background)}.left-nav li{list-style:none}.left-nav a,.left-nav button{text-decoration:none;color:#757575;font-size:16px;display:inline-flex;width:100%;margin:2px 0;padding:.25em .375em;background:0 0;border:none;font:inherit;text-align:left}.left-nav a.active{color:var(--link-color)}.left-nav .nav-group{margin-left:6px;font-size:14px}.left-nav nav{border-left:2px solid #ddd;margin-bottom:5px}.left-nav nav.collapsed{display:none}.left-nav nav>li>a,.left-nav nav>li>button{padding-left:20px;text-align:left}.left-nav nav>li>a.active{border-left:var(--orange-line-thickness) solid var(--active-color);padding-left:calc(20px - var(--orange-line-thickness))}.left-nav nav.sub_pages{border:none}.left-nav nav.sub_pages a{padding-left:32px}.left-nav .state-indicator{margin-left:auto;margin-top:5px;width:6.2px;height:10px;flex:0 0 auto;filter:invert(49%) sepia(4%) saturate(5%) hue-rotate(23deg) brightness(92%) contrast(90%)}.left-nav button.expanded .state-indicator{transform:rotate(90deg)}.right-nav{width:289px;padding:12px 26px;overflow-y:auto;height:calc(100vh - var(--header-height));top:0;position:-webkit-sticky;position:sticky;display:flex;flex-direction:column;font-family:'Open sans';padding-top:var(--padding-top);background-color:#fff}.right-nav ul{list-style:none;padding:0;margin:0}.right-nav li{padding:0}.right-nav a{--border-width:0px;font-size:14px;color:#757575;padding-left:calc(15px * var(--nesting-level) + 8px - var(--border-width));margin:.3em 0;display:inline-block}.right-nav .sectlevel1{border-left:2px solid #ddd}.right-nav .sectlevel1{--nesting-level:0}.right-nav .sectlevel2{--nesting-level:1}.right-nav .sectlevel3{--nesting-level:2}@media (max-width:1200px){.right-nav{width:230px}}.right-nav footer{font-size:12px;padding:calc(var(--footer-gap) * .3) 0 5px;text-align:left;margin:auto 0 0}section.page-docs{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;grid-template-areas:'left-nav content right-nav';line-height:20px;max-width:1440px;margin:auto;width:100%}section.page-docs>article{border-left:1px solid #eee;background-color:#fff;padding:0 50px 30px;grid-area:content;overflow:hidden;font-family:sans-serif;font-size:16px;color:#545454;line-height:1.6em}section.page-docs>article h1,section.page-docs>article h2{font-family:'Open Sans'}@media (max-width:800px){section.page-docs>article{padding-left:15px;padding-right:15px}}section.page-docs .edit-link{position:relative;top:10px;right:10px;float:right;padding-top:calc(var(--header-height) + var(--padding-top));margin-top:calc((-1 * var(--header-height)))}section.page-docs h1,section.page-docs h2{margin-bottom:0}section.page-docs h2[id]{margin-top:var(--margin-top);margin-bottom:calc(var(--margin-top) * .5);z-index:-1}section.page-docs .title{font-style:italic}section.page-docs h2[id]{--margin-top:1.2em}.left-nav{bottom:0;position:-webkit-sticky;position:sticky}.left-nav{grid-area:left-nav}.right-nav{grid-area:right-nav}.left-nav__overlay{display:none;background:rgba(0,0,0,.5);z-index:1;position:fixed;top:var(--header-height);bottom:0;left:0;right:0}@media (max-width:990px){body:not(.hide-left-nav) .left-nav__overlay{display:block}nav.left-nav{background:#fafafa;grid-area:left-nav;box-shadow:0 4px 4px 0 rgba(0,0,0,.24),0 0 4px 0 rgba(0,0,0,.12);min-height:calc(100vh - var(--header-height));max-height:calc(100vh - var(--header-height));position:fixed;bottom:0;top:var(--header-height);z-index:2}section.page-docs>article{grid-column-start:left-nav;grid-column-end:content;grid-row:content}}@media (max-width:800px){nav.right-nav{display:none}}:target:before{content:"";display:block;margin-top:calc(var(--header-height) * -1);height:var(--header-height);width:1px}@media (min-width:600px) and (max-width:900px){:target:before{content:"";display:block;width:1px;margin-top:-150px;height:150px}}
#header #promotion-bar { background-color: #333333; padding: 8px; }
#header #promotion-bar p { font-size: 14px; line-height: 1.4em; font-weight: 600; padding: 0; margin: 0; color: #f0f0f0; text-align: center;}
#header #promotion-bar p a { color: #FCB903; } </style>
<meta name="ignite-version" content="2.11.0" />
<title>REST API | Ignite Documentation</title>
<link rel="canonical" href="/docs/latest/restapi" />
<link rel="shortcut icon" href="/favicon.ico">
<meta name='viewport' content='width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0'>
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" media="print" onload="this.media='all'">
<noscript>
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
</noscript>
<script>
// AnchorJS - v4.2.0 - 2019-01-01
// https://github.com/bryanbraun/anchorjs
// Copyright (c) 2019 Bryan Braun; Licensed MIT
!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(e=p(A)).length)return this;for(function(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))d.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=r=this.urlify(e[o].textContent),a=0;void 0!==s&&(c=r+"-"+a),a+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}n.replace(/-/g," "),(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector("base")?window.location.pathname+window.location.search:"",u=this.options.base||u,h.href=u+"#"+n,"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<d.length;o++)e.splice(d[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}});
</script>
</head>
<body>
<header>
<!--#include virtual="/includes/promotion_banner.html" -->
<div class="container">
<button type='button' class='menu' title='Docs menu'>
<img src="/assets/images/menu-icon.svg" width="18" height="12" alt="menu icon" />
</button>
<div class='home'>
<a href="/" class='home' title='Apache Ignite home'>
<img src="/assets/images/apache_ignite_logo.svg" alt="Apache Ignite logo" width="103" height="36" >
</a>
</div>
<select id="version-selector">
<option value="2.11.0">2.11.0</option>
</select>
<nav id="api-docs"><ul>
<li><a href="#">APIs</a>
<nav class='dropdown'>
<ul>
<li class="dropdown-item"><a href="/releases/latest/javadoc/index.html">Java</a></li>
<li class="dropdown-item"><a href="/releases/latest/dotnetdoc/api/">C#/.NET</a></li>
<li class="dropdown-item"><a href="/releases/latest/cppdoc/index.html">C++</a></li>
<li class="dropdown-item"><a href="/releases/latest/scaladoc/scalar/index.html#org.apache.ignite.scalar.scalar$">Scala</a></li>
</ul>
</nav>
</li>
<li><a href="#">Examples</a>
<nav class="dropdown">
<ul>
<li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/examples" target="_blank" rel="noopener" title="Apache Ignite Java examples">Java</a></li>
<li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/modules/platforms/dotnet/examples" target="_blank" rel="noopener" title="Apache Ignite C#/.NET examples">C#/.NET</a></li>
<li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/modules/platforms/cpp/examples" target="_blank" rel="noopener" title="Apache Ignite C++ examples">C++</a></li>
<li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/modules/platforms/python/examples" target="_blank" rel="noopener" title="Apache Ignite Python examples">Python</a></li>
<li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/modules/platforms/nodejs/examples" target="_blank" rel="noopener" title="Apache Ignite NodeJS examples">NodeJS</a></li>
<li class="dropdown-item"><a href="https://github.com/apache/ignite/tree/master/modules/platforms/php/examples" target="_blank" rel="noopener" title="Apache Ignite PHP examples">PHP</a></li>
</ul>
</nav>
</li></ul>
</nav>
<form class='search'>
<button class="search-close" type='button'><img src='/assets/images/cancel.svg' alt="close" width="10" height="10" /></button>
<input type="search" placeholder="Search…" id="search-input">
</form>
<nav id="lang-selector"><ul>
<li><a href="#"><img src="/assets/images/icon_lang_en_75x75.jpg" alt="English language icon" width="25" height="25" /><span></span></a>
<nav class="dropdown">
<li class="dropdown-item"><a href="/docs/latest/" ><img src="/assets/images/icon_lang_en_75x75.jpg" alt="English language icon" width="25" height="25" /><span>English</span></a></li>
<li class="dropdown-item"><a href="https://www.ignite-service.cn/doc/java/" target="_blank" rel="noopener"><img src="/assets/images/icon_lang_cn_75x75.jpg" width="25" height="25" alt="Chinese language icon" /><span>Chinese</span></a></li>
</nav>
</li></ul>
</nav>
<button type='button' class='top-nav-toggle'></button>
</div>
</header>
<link rel="stylesheet" href="/assets/css/docs.css">
<section class='page-docs'>
<nav class='left-nav' data-swiftype-index='false'>
<li>
<a href="/docs/latest/index" class='' >Documentation Overview</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Quick Start Guides<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/quick-start/java"
class=''
>Java</a>
</li>
<li>
<a href="/docs/latest/quick-start/dotnet"
class=''
>.NET/C#</a>
</li>
<li>
<a href="/docs/latest/quick-start/cpp"
class=''
>C++</a>
</li>
<li>
<a href="/docs/latest/quick-start/python"
class=''
>Python</a>
</li>
<li>
<a href="/docs/latest/quick-start/nodejs"
class=''
>Node.JS</a>
</li>
<li>
<a href="/docs/latest/quick-start/sql"
class=''
>SQL</a>
</li>
<li>
<a href="/docs/latest/quick-start/php"
class=''
>PHP</a>
</li>
<li>
<a href="/docs/latest/quick-start/restapi"
class=''
>REST API</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Installation<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/installation/installing-using-zip"
class=''
>Installing Using ZIP Archive</a>
</li>
<li>
<a href="/docs/latest/installation/installing-using-docker"
class=''
>Installing Using Docker</a>
</li>
<li>
<a href="/docs/latest/installation/deb-rpm"
class=''
>Installing DEB or RPM package</a>
</li>
<li>
<button
type='button'
class='collapsed '>Kubernetes<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/installation/kubernetes/amazon-eks-deployment" class=''>Amazon EKS</a></li>
<li><a href="/docs/latest/installation/kubernetes/azure-deployment" class=''>Azure Kubernetes Service</a></li>
<li><a href="/docs/latest/installation/kubernetes/gke-deployment" class=''>Google Kubernetes Engine</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/installation/vmware-installation"
class=''
>VMWare</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Setting Up<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/understanding-configuration"
class=''
>Understanding Configuration</a>
</li>
<li>
<a href="/docs/latest/setup"
class=''
>Setting Up</a>
</li>
<li>
<a href="/docs/latest/logging"
class=''
>Configuring Logging</a>
</li>
<li>
<a href="/docs/latest/resources-injection"
class=''
>Resources Injection</a>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/starting-nodes" class='' >Starting and Stopping Nodes</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Clustering<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/clustering/clustering"
class=''
>Overview</a>
</li>
<li>
<a href="/docs/latest/clustering/tcp-ip-discovery"
class=''
>TCP/IP Discovery</a>
</li>
<li>
<a href="/docs/latest/clustering/zookeeper-discovery"
class=''
>ZooKeeper Discovery</a>
</li>
<li>
<a href="/docs/latest/clustering/discovery-in-the-cloud"
class=''
>Discovery in the Cloud</a>
</li>
<li>
<a href="/docs/latest/clustering/network-configuration"
class=''
>Network Configuration</a>
</li>
<li>
<a href="/docs/latest/clustering/connect-client-nodes"
class=''
>Connecting Client Nodes</a>
</li>
<li>
<a href="/docs/latest/clustering/baseline-topology"
class=''
>Baseline Topology</a>
</li>
<li>
<a href="/docs/latest/clustering/running-client-nodes-behind-nat"
class=''
>Running Client Nodes Behind NAT</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Thin Clients<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/thin-clients/getting-started-with-thin-clients"
class=''
>Thin Clients Overview</a>
</li>
<li>
<a href="/docs/latest/thin-clients/java-thin-client"
class=''
>Java Thin Client</a>
</li>
<li>
<a href="/docs/latest/thin-clients/dotnet-thin-client"
class=''
>.NET Thin Client</a>
</li>
<li>
<a href="/docs/latest/thin-clients/cpp-thin-client"
class=''
>C++ Thin Client</a>
</li>
<li>
<a href="/docs/latest/thin-clients/python-thin-client"
class=''
>Python Thin Client</a>
</li>
<li>
<a href="/docs/latest/thin-clients/php-thin-client"
class=''
>PHP Thin Client</a>
</li>
<li>
<a href="/docs/latest/thin-clients/nodejs-thin-client"
class=''
>Node.js Thin Client</a>
</li>
<li>
<button
type='button'
class='collapsed '>Binary Client Protocol<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/binary-client-protocol/binary-client-protocol" class=''>Binary Client Protocol</a></li>
<li><a href="/docs/latest/binary-client-protocol/data-format" class=''>Data Format</a></li>
<li><a href="/docs/latest/binary-client-protocol/key-value-queries" class=''>Key-Value Queries</a></li>
<li><a href="/docs/latest/binary-client-protocol/sql-and-scan-queries" class=''>SQL and Scan Queries</a></li>
<li><a href="/docs/latest/binary-client-protocol/binary-type-metadata" class=''>Binary Types Metadata</a></li>
<li><a href="/docs/latest/binary-client-protocol/cache-configuration" class=''>Cache Configuration</a></li>
</nav>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Data Modeling<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/data-modeling/data-modeling"
class=''
>Introduction</a>
</li>
<li>
<a href="/docs/latest/data-modeling/data-partitioning"
class=''
>Data Partitioning</a>
</li>
<li>
<a href="/docs/latest/data-modeling/affinity-collocation"
class=''
>Affinity Colocation</a>
</li>
<li>
<a href="/docs/latest/data-modeling/binary-marshaller"
class=''
>Binary Marshaller</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Configuring Memory<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/memory-architecture"
class=''
>Memory Architecture</a>
</li>
<li>
<a href="/docs/latest/memory-configuration/data-regions"
class=''
>Configuring Data Regions</a>
</li>
<li>
<a href="/docs/latest/memory-configuration/eviction-policies"
class=''
>Eviction Policies</a>
</li>
<li>
<a href="/docs/latest/memory-configuration/replacement-policies"
class=''
>Replacement Policies</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Configuring Persistence<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/persistence/native-persistence"
class=''
>Ignite Persistence</a>
</li>
<li>
<a href="/docs/latest/persistence/external-storage"
class=''
>External Storage</a>
</li>
<li>
<a href="/docs/latest/persistence/swap"
class=''
>Swapping</a>
</li>
<li>
<a href="/docs/latest/persistence/custom-cache-store"
class=''
>Implementing Custom Cache Store</a>
</li>
<li>
<a href="/docs/latest/persistence/snapshot-directory"
class=''
>Configuring Snapshot Directory</a>
</li>
<li>
<a href="/docs/latest/persistence/disk-compression"
class=''
>Disk Compression</a>
</li>
<li>
<a href="/docs/latest/persistence/persistence-tuning"
class=''
>Tuning Persistence</a>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/snapshots/snapshots" class='' >Cluster Snapshots</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Configuring Caches<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/configuring-caches/configuration-overview"
class=''
>Cache Configuration</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/configuring-backups"
class=''
>Configuring Partition Backups</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/partition-loss-policy"
class=''
>Partition Loss Policy</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/atomicity-modes"
class=''
>Atomicity Modes</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/expiry-policies"
class=''
>Expiry Policy</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/on-heap-caching"
class=''
>On-Heap Caching</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/cache-groups"
class=''
>Cache Groups</a>
</li>
<li>
<a href="/docs/latest/configuring-caches/near-cache"
class=''
>Near Caches</a>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/data-rebalancing" class='' >Data Rebalancing</a>
</li>
<li>
<a href="/docs/latest/data-streaming" class='' >Data Streaming</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Using Key-Value API<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/key-value-api/basic-cache-operations"
class=''
>Basic Cache Operations</a>
</li>
<li>
<a href="/docs/latest/key-value-api/binary-objects"
class=''
>Working with Binary Objects</a>
</li>
<li>
<a href="/docs/latest/key-value-api/using-scan-queries"
class=''
>Using Scan Queries</a>
</li>
<li>
<a href="/docs/latest/read-repair"
class=''
>Read Repair</a>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/key-value-api/transactions" class='' >Performing Transactions</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Working with SQL<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/SQL/sql-introduction"
class=''
>Introduction</a>
</li>
<li>
<a href="/docs/latest/SQL/schemas"
class=''
>Understanding Schemas</a>
</li>
<li>
<a href="/docs/latest/SQL/indexes"
class=''
>Defining Indexes</a>
</li>
<li>
<a href="/docs/latest/SQL/sql-api"
class=''
>Using SQL API</a>
</li>
<li>
<a href="/docs/latest/SQL/distributed-joins"
class=''
>Distributed Joins</a>
</li>
<li>
<a href="/docs/latest/SQL/sql-transactions"
class=''
>SQL Transactions</a>
</li>
<li>
<a href="/docs/latest/SQL/custom-sql-func"
class=''
>Custom SQL Functions</a>
</li>
<li>
<a href="/docs/latest/SQL/JDBC/jdbc-driver"
class=''
>JDBC Driver</a>
</li>
<li>
<a href="/docs/latest/SQL/JDBC/jdbc-client-driver"
class=''
>JDBC Client Driver</a>
</li>
<li>
<button
type='button'
class='collapsed '>ODBC Driver<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/SQL/ODBC/odbc-driver" class=''>ODBC Driver</a></li>
<li><a href="/docs/latest//SQL/ODBC/connection-string-dsn" class=''>Connection String and DSN</a></li>
<li><a href="/docs/latest/SQL/ODBC/querying-modifying-data" class=''>Querying and Modifying Data</a></li>
<li><a href="/docs/latest/SQL/ODBC/specification" class=''>Specification</a></li>
<li><a href="/docs/latest/SQL/ODBC/data-types" class=''>Data Types</a></li>
<li><a href="/docs/latest/SQL/ODBC/error-codes" class=''>Error Codes</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/transactions/mvcc"
class=''
>Multiversion Concurrency Control</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>SQL Reference<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/sql-reference/sql-conformance"
class=''
>SQL Conformance</a>
</li>
<li>
<a href="/docs/latest/sql-reference/ddl"
class=''
>Data Definition Language (DDL)</a>
</li>
<li>
<a href="/docs/latest/sql-reference/dml"
class=''
>Data Manipulation Language (DML)</a>
</li>
<li>
<a href="/docs/latest/sql-reference/transactions"
class=''
>Transactions</a>
</li>
<li>
<a href="/docs/latest/sql-reference/operational-commands"
class=''
>Operational Commands</a>
</li>
<li>
<a href="/docs/latest/sql-reference/aggregate-functions"
class=''
>Aggregate functions</a>
</li>
<li>
<a href="/docs/latest/sql-reference/numeric-functions"
class=''
>Numeric Functions</a>
</li>
<li>
<a href="/docs/latest/sql-reference/string-functions"
class=''
>String Functions</a>
</li>
<li>
<a href="/docs/latest/sql-reference/date-time-functions"
class=''
>Data and Time Functions</a>
</li>
<li>
<a href="/docs/latest/sql-reference/system-functions"
class=''
>System Functions</a>
</li>
<li>
<a href="/docs/latest/sql-reference/data-types"
class=''
>Data Types</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Distributed Computing<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/distributed-computing/distributed-computing"
class=''
>Distributed Computing API</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/cluster-groups"
class=''
>Cluster Groups</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/executor-service"
class=''
>Executor Service</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/map-reduce"
class=''
>MapReduce API</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/load-balancing"
class=''
>Load Balancing</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/fault-tolerance"
class=''
>Fault Tolerance</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/job-scheduling"
class=''
>Job Scheduling</a>
</li>
<li>
<a href="/docs/latest/distributed-computing/collocated-computations"
class=''
>Colocating Computations with Data</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Code Deployment<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/code-deployment/deploying-user-code"
class=''
>Deploying User Code</a>
</li>
<li>
<a href="/docs/latest/code-deployment/peer-class-loading"
class=''
>Peer Class Loading</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Machine Learning<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/machine-learning/machine-learning"
class=''
>Machine Learning</a>
</li>
<li>
<a href="/docs/latest/machine-learning/partition-based-dataset"
class=''
>Partition Based Dataset</a>
</li>
<li>
<a href="/docs/latest/machine-learning/updating-trained-models"
class=''
>Updating Trained Models</a>
</li>
<li>
<button
type='button'
class='collapsed '>Binary Classification<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/machine-learning/binary-classification/introduction" class=''>Introduction</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/linear-svm" class=''>Linear SVM (Support Vector Machine)</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/decision-trees" class=''>Decision Trees</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/multilayer-perceptron" class=''>Multilayer Perceptron</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/logistic-regression" class=''>Logistic Regression</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/knn-classification" class=''>k-NN Classification</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/ann" class=''>ANN (Approximate Nearest Neighbor)</a></li>
<li><a href="/docs/latest/machine-learning/binary-classification/naive-bayes" class=''>Naive Bayes</a></li>
</nav>
</li>
<li>
<button
type='button'
class='collapsed '>Regression<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/machine-learning/regression/introduction" class=''>Introduction</a></li>
<li><a href="/docs/latest/machine-learning/regression/linear-regression" class=''>Linear Regression</a></li>
<li><a href="/docs/latest/machine-learning/regression/decision-trees-regression" class=''>Decision Trees Regression</a></li>
<li><a href="/docs/latest/machine-learning/regression/knn-regression" class=''>k-NN Regression</a></li>
</nav>
</li>
<li>
<button
type='button'
class='collapsed '>Clustering<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/machine-learning/clustering/introduction" class=''>Introduction</a></li>
<li><a href="/docs/latest/machine-learning/clustering/k-means-clustering" class=''>K-Means Clustering</a></li>
<li><a href="/docs/latest/machine-learning/clustering/gaussian-mixture" class=''>Gaussian mixture (GMM)</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/machine-learning/preprocessing"
class=''
>Preprocessing</a>
</li>
<li>
<button
type='button'
class='collapsed '>Model Selection<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/machine-learning/model-selection/introduction" class=''>Introduction</a></li>
<li><a href="/docs/latest/machine-learning/model-selection/evaluator" class=''>Evaluator</a></li>
<li><a href="/docs/latest/machine-learning/model-selection/split-the-dataset-on-test-and-train-datasets" class=''>Split the dataset on test and train datasets</a></li>
<li><a href="/docs/latest/machine-learning/model-selection/hyper-parameter-tuning" class=''>Hyper-parameter tuning</a></li>
<li><a href="/docs/latest/machine-learning/model-selection/pipeline-api" class=''>Pipeline API</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/machine-learning/multiclass-classification"
class=''
>Multiclass Classification</a>
</li>
<li>
<button
type='button'
class='collapsed '>Ensemble Methods<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/machine-learning/ensemble-methods/introduction" class=''></a></li>
<li><a href="/docs/latest/machine-learning/ensemble-methods/stacking" class=''>Stacking</a></li>
<li><a href="/docs/latest/machine-learning/ensemble-methods/baggin" class=''>Bagging</a></li>
<li><a href="/docs/latest/machine-learning/ensemble-methods/random-forest" class=''>Random Forest</a></li>
<li><a href="/docs/latest/machine-learning/ensemble-methods/gradient-boosting" class=''>Gradient Boosting</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/machine-learning/recommendation-systems"
class=''
>Recommendation Systems</a>
</li>
<li>
<button
type='button'
class='collapsed '>Importing Model<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/machine-learning/importing-model/introduction" class=''>Introduction</a></li>
<li><a href="/docs/latest/machine-learning/importing-model/model-import-from-gxboost" class=''>Import Model from XGBoost</a></li>
<li><a href="/docs/latest/machine-learning/importing-model/model-import-from-apache-spark" class=''>Import Model from Apache Spark</a></li>
</nav>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/key-value-api/continuous-queries" class='' >Using Continuous Queries</a>
</li>
<li>
<a href="/docs/latest/services/services" class='' >Using Ignite Services</a>
</li>
<li>
<a href="/docs/latest/messaging" class='' >Using Ignite Messaging</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Distributed Data Structures<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/data-structures/queue-and-set"
class=''
>Queue and Set</a>
</li>
<li>
<a href="/docs/latest/data-structures/atomic-types"
class=''
>Atomic Types</a>
</li>
<li>
<a href="/docs/latest/data-structures/countdownlatch"
class=''
>CountDownLatch</a>
</li>
<li>
<a href="/docs/latest/data-structures/atomic-sequence"
class=''
>Atomic Sequence</a>
</li>
<li>
<a href="/docs/latest/data-structures/semaphore"
class=''
>Semaphore</a>
</li>
<li>
<a href="/docs/latest/data-structures/id-generator"
class=''
>ID Generator</a>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/distributed-locks" class='' >Distributed Locks</a>
</li>
<li>
<a href="/docs/latest/restapi" class='active' >REST API</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>.NET Specific<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/net-specific/net-configuration-options"
class=''
>Configuration Options</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-deployment-options"
class=''
>Deployment Options</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-standalone-nodes"
class=''
>Standalone Nodes</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-async"
class=''
>Asynchronous APIs</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-logging"
class=''
>Logging</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-linq"
class=''
>LINQ</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-java-services-execution"
class=''
>Java Services Execution</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-platform-cache"
class=''
>.NET Platform Cache</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-plugins"
class=''
>Plugins</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-serialization"
class=''
>Serialization</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-cross-platform-support"
class=''
>Cross-Platform Support</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-platform-interoperability"
class=''
>Platform Interoperability</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-remote-assembly-loading"
class=''
>Remote Assembly Loading</a>
</li>
<li>
<a href="/docs/latest/net-specific/net-troubleshooting"
class=''
>Troubleshooting</a>
</li>
<li>
<button
type='button'
class='collapsed '>Integrations<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/net-specific/asp-net-output-caching" class=''>ASP.NET Output Caching</a></li>
<li><a href="/docs/latest/net-specific/asp-net-session-state-caching" class=''>ASP.NET Session State Caching</a></li>
<li><a href="/docs/latest/net-specific/net-entity-framework-cache" class=''>Entity Framework 2nd Level Cache</a></li>
</nav>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>C++ Specific<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/cpp-specific/cpp-serialization"
class=''
>Serialization</a>
</li>
<li>
<a href="/docs/latest/cpp-specific/cpp-platform-interoperability"
class=''
>Platform Interoperability</a>
</li>
<li>
<a href="/docs/latest/cpp-specific/cpp-objects-lifetime"
class=''
>Objects Lifetime</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Monitoring<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/monitoring-metrics/intro"
class=''
>Introduction</a>
</li>
<li>
<a href="/docs/latest/monitoring-metrics/cluster-id"
class=''
>Cluster ID and Tag</a>
</li>
<li>
<a href="/docs/latest/monitoring-metrics/cluster-states"
class=''
>Cluster States</a>
</li>
<li>
<button
type='button'
class='collapsed '>Metrics<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/monitoring-metrics/configuring-metrics" class=''>Configuring Metrics</a></li>
<li><a href="/docs/latest/monitoring-metrics/metrics" class=''>JMX Metrics</a></li>
</nav>
</li>
<li>
<button
type='button'
class='collapsed '>New Metrics System<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/monitoring-metrics/new-metrics-system" class=''>Introduction</a></li>
<li><a href="/docs/latest/monitoring-metrics/new-metrics" class=''>Metrics</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/monitoring-metrics/system-views"
class=''
>System Views</a>
</li>
<li>
<a href="/docs/latest/monitoring-metrics/performance-statistics"
class=''
>Performance Statistics</a>
</li>
<li>
<a href="/docs/latest/monitoring-metrics/tracing"
class=''
>Tracing</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Working with Events<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/events/listening-to-events"
class=''
>Enabling and Listenting to Events</a>
</li>
<li>
<a href="/docs/latest/events/events"
class=''
>Events</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Tools<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/tools/control-script"
class=''
>Control Script</a>
</li>
<li>
<a href="/docs/latest/tools/visor-cmd"
class=''
>Visor CMD</a>
</li>
<li>
<a href="/docs/latest/tools/gg-control-center"
class=''
>GridGain Control Center</a>
</li>
<li>
<a href="/docs/latest/tools/sqlline"
class=''
>SQLLine</a>
</li>
<li>
<a href="/docs/latest/tools/tableau"
class=''
>Tableau</a>
</li>
<li>
<a href="/docs/latest/tools/informatica"
class=''
>Informatica</a>
</li>
<li>
<a href="/docs/latest/tools/pentaho"
class=''
>Pentaho</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Security<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/security/authentication"
class=''
>Authentication</a>
</li>
<li>
<a href="/docs/latest/security/ssl-tls"
class=''
>SSL/TLS</a>
</li>
<li>
<button
type='button'
class='collapsed '>Transparent Data Encryption<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/security/tde" class=''>Introduction</a></li>
<li><a href="/docs/latest/security/master-key-rotation" class=''>Master key rotation</a></li>
<li><a href="/docs/latest/security/cache-encryption-key-rotation" class=''>Cache encryption key rotation</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/security/sandbox"
class=''
>Sandbox</a>
</li>
</nav>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Extensions and Integrations<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<button
type='button'
class='collapsed '>Spring<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/extensions-and-integrations/spring/spring-boot" class=''>Spring Boot</a></li>
<li><a href="/docs/latest/extensions-and-integrations/spring/spring-data" class=''>Spring Data</a></li>
<li><a href="/docs/latest/extensions-and-integrations/spring/spring-caching" class=''>Spring Caching</a></li>
<li><a href="/docs/latest/extensions-and-integrations/spring/spring-tx" class=''>Spring Transactions</a></li>
</nav>
</li>
<li>
<button
type='button'
class='collapsed '>Ignite for Spark<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/extensions-and-integrations/ignite-for-spark/overview" class=''>Overview</a></li>
<li><a href="/docs/latest/extensions-and-integrations/ignite-for-spark/ignitecontext-and-rdd" class=''>IgniteContext and IgniteRDD</a></li>
<li><a href="/docs/latest/extensions-and-integrations/ignite-for-spark/ignite-dataframe" class=''>Ignite DataFrame</a></li>
<li><a href="/docs/latest/extensions-and-integrations/ignite-for-spark/installation" class=''>Installation</a></li>
<li><a href="/docs/latest/extensions-and-integrations/ignite-for-spark/spark-shell" class=''>Test Ignite with Spark-shell</a></li>
<li><a href="/docs/latest/extensions-and-integrations/ignite-for-spark/troubleshooting" class=''>Troubleshooting</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/extensions-and-integrations/hibernate-l2-cache"
class=''
>Hibernate L2 Cache</a>
</li>
<li>
<a href="/docs/latest/extensions-and-integrations/mybatis-l2-cache"
class=''
>MyBatis L2 Cache</a>
</li>
<li>
<button
type='button'
class='collapsed '>Streaming<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/extensions-and-integrations/streaming/kafka-streamer" class=''>Kafka Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/camel-streamer" class=''>Camel Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/flink-streamer" class=''>Flink Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/flume-sink" class=''>Flume Sink</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/jms-streamer" class=''>JMS Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/mqtt-streamer" class=''>MQTT Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/rocketmq-streamer" class=''>RocketMQ Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/storm-streamer" class=''>Storm Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/zeromq-streamer" class=''>ZeroMQ Streamer</a></li>
<li><a href="/docs/latest/extensions-and-integrations/streaming/twitter-streamer" class=''>Twitter Streamer</a></li>
</nav>
</li>
<li>
<button
type='button'
class='collapsed '>Cassandra Integration<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class="sub_pages collapsed">
<li><a href="/docs/latest/extensions-and-integrations/cassandra/overview" class=''>Overview</a></li>
<li><a href="/docs/latest/extensions-and-integrations/cassandra/configuration" class=''>Configuration</a></li>
<li><a href="/docs/latest/extensions-and-integrations/cassandra/usage-examples" class=''>Usage Examples</a></li>
<li><a href="/docs/latest/extensions-and-integrations/cassandra/ddl-generator" class=''>DDL Generator</a></li>
</nav>
</li>
<li>
<a href="/docs/latest/extensions-and-integrations/php-pdo"
class=''
>PHP PDO</a>
</li>
<li>
<a href="/docs/latest/extensions-and-integrations/performance-statistics"
class=''
>Performance Statistics</a>
</li>
</nav>
</li>
<li>
<a href="/docs/latest/plugins" class='' >Plugins</a>
</li>
<li>
<button type='button' class='group-toggle collapsed '>Performance and Troubleshooting<img class="state-indicator" src="/assets/images/left-nav-arrow.svg" width="6" height="10"></button>
<nav class='nav-group collapsed'>
<li>
<a href="/docs/latest/perf-and-troubleshooting/general-perf-tips"
class=''
>General Performance Tips</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/memory-tuning"
class=''
>Memory and JVM Tuning</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/persistence-tuning"
class=''
>Persistence Tuning</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/sql-tuning"
class=''
>SQL Tuning</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/thread-pools-tuning"
class=''
>Thread Pools Tuning</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/troubleshooting"
class=''
>Troubleshooting and Debugging</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/handling-exceptions"
class=''
>Handling Exceptions</a>
</li>
<li>
<a href="/docs/latest/perf-and-troubleshooting/yardstick-benchmarking"
class=''
>Benchmarking With Yardstick</a>
</li>
</nav>
</li>
</nav>
<div class="left-nav__overlay"></div>
<article data-swiftype-index='true'>
<a class='edit-link' href="https://github.com/apache/ignite/tree/IGNITE-7595/docs/_docs/restapi.adoc" target="_blank">Edit</a>
<h1>REST API</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Ignite provides an HTTP REST client that can communicate with the cluster over HTTP and HTTPS protocols using the REST approach. REST APIs can be used to perform different operations like read/write from/to cache, execute tasks, get various metrics, and more.</p>
</div>
<div class="paragraph">
<p>Internally, Ignite uses Jetty to provide HTTP server features. See <a href="#configuration">Configuration</a> section below for details on how to configure jetty.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="getting-started">Getting Started</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To enable HTTP connectivity, make sure that the <code>ignite-rest-http</code> module is enabled.
If you use the binary distribution, copy the <code>ignite-rest-http</code> module from <code>IGNITE_HOME/libs/optional/</code> to the <code>IGNITE_HOME/libs</code> folder.
See <a href="/docs/latest/setup#enabling-modules">Enabling modules</a> for details.</p>
</div>
<div class="paragraph">
<p>Explicit configuration is not required; the connector starts up automatically and listens on port <code>8080</code>. You can check if it works with curl:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">curl <span class="s1">'http://localhost:8080/ignite?cmd=version'</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Request parameters may be provided as either a part of URL or in a form data:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">curl <span class="s1">'http://localhost:8080/ignite?cmd=put&amp;cacheName=myCache'</span> <span class="nt">-X</span> POST <span class="nt">-H</span> <span class="s1">'Content-Type: application/x-www-form-urlencoded'</span> <span class="nt">-d</span> <span class="s1">'key=testKey&amp;val=testValue'</span></code></pre>
</div>
</div>
<div class="sect2">
<h3 id="configuration">Configuration</h3>
<div class="paragraph">
<p>You can change HTTP server parameters as follows:</p>
</div>
<code-tabs><code-tab data-tab='XML'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.IgniteConfiguration"</span> <span class="na">id=</span><span class="s">"ignite.cfg"</span><span class="nt">&gt;</span>
<span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"connectorConfiguration"</span><span class="nt">&gt;</span>
<span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.configuration.ConnectorConfiguration"</span><span class="nt">&gt;</span>
<span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"jettyPath"</span> <span class="na">value=</span><span class="s">"jetty.xml"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/bean&gt;</span>
<span class="nt">&lt;/property&gt;</span>
<span class="nt">&lt;/bean&gt;</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='Java'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="java"><span class="nc">IgniteConfiguration</span> <span class="n">cfg</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">IgniteConfiguration</span><span class="o">();</span>
<span class="n">cfg</span><span class="o">.</span><span class="na">setConnectorConfiguration</span><span class="o">(</span><span class="k">new</span> <span class="nc">ConnectorConfiguration</span><span class="o">().</span><span class="na">setJettyPath</span><span class="o">(</span><span class="s">"jetty.xml"</span><span class="o">));</span></code></pre>
</div>
</div></code-tab><code-tab data-tab='C#/.NET'></code-tab><code-tab data-tab='C++' data-unavailable='true'><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code>This API is not presently available for C++. You can use XML configuration.</code></pre>
</div>
</div></code-tab></code-tabs>
<div class="paragraph">
<p>The following table describes the properties of <code>ConnectorConfiguration</code> that are related to the http server:</p>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 30%;">
<col style="width: 50%;">
<col style="width: 10%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter Name</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Default Value</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>setSecretKey(String)</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Defines secret key used for client authentication. When provided, client request must contain <code>HTTP header X-Signature</code> with the string "[1]:[2]", where [1] is timestamp in milliseconds and [2] is the Base64 encoded SHA1 hash of the secret key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>null</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>setPortRange(int)</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Port range for Jetty server. If the port provided in Jetty configuration or <code>IGNITE_JETTY_PORT</code> system property is already in use, Ignite iteratively increments port by 1 and tries to bind once again until provided port range is exceeded.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>100</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>setJettyPath(String)</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Path to Jetty configuration file. Should be either absolute or relative to <code>IGNITE_HOME</code>. If the path is not set, Ignite starts a Jetty server with a simple HTTP connector. This connector uses <code>IGNITE_JETTY_HOST</code> and <code>IGNITE_JETTY_PORT</code> system properties as <code>host</code> and <code>port</code> respectively. If <code>IGNITE_JETTY_HOST</code> is not provided, <code>localhost</code> is used as default. If <code>IGNITE_JETTY_PORT</code> is not provided, port <code>8080</code> is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>null</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>setMessageInterceptor(&#8230;&#8203;)</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The interceptor transforms all objects exchanged via REST protocol. For example, if you use custom serialisation on client you can write an interceptor to transform binary representations received from the client to Java objects and later access them from Java code directly.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>null</code></p></td>
</tr>
</tbody>
</table>
<div class="sect3">
<h4 id="example-jetty-xml-configuration">Example Jetty XML Configuration</h4>
<div class="paragraph">
<p>Path to this configuration should be set to <code>ConnectorConfiguration.setJettyPath(String)</code> as explained above.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="cp">&lt;?xml version="1.0"?&gt;</span>
<span class="c">&lt;!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--&gt;</span>
<span class="cp">&lt;!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"&gt;</span>
<span class="nt">&lt;Configure</span> <span class="na">id=</span><span class="s">"Server"</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.server.Server"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Arg</span> <span class="na">name=</span><span class="s">"threadPool"</span><span class="nt">&gt;</span>
<span class="c">&lt;!-- Default queued blocking thread pool --&gt;</span>
<span class="nt">&lt;New</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.util.thread.QueuedThreadPool"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"minThreads"</span><span class="nt">&gt;</span>20<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"maxThreads"</span><span class="nt">&gt;</span>200<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;/New&gt;</span>
<span class="nt">&lt;/Arg&gt;</span>
<span class="nt">&lt;New</span> <span class="na">id=</span><span class="s">"httpCfg"</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.server.HttpConfiguration"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"secureScheme"</span><span class="nt">&gt;</span>https<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"securePort"</span><span class="nt">&gt;</span>8443<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"sendServerVersion"</span><span class="nt">&gt;</span>true<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"sendDateHeader"</span><span class="nt">&gt;</span>true<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;/New&gt;</span>
<span class="nt">&lt;Call</span> <span class="na">name=</span><span class="s">"addConnector"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Arg&gt;</span>
<span class="nt">&lt;New</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.server.ServerConnector"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Arg</span> <span class="na">name=</span><span class="s">"server"</span><span class="nt">&gt;&lt;Ref</span> <span class="na">refid=</span><span class="s">"Server"</span><span class="nt">/&gt;&lt;/Arg&gt;</span>
<span class="nt">&lt;Arg</span> <span class="na">name=</span><span class="s">"factories"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Array</span> <span class="na">type=</span><span class="s">"org.eclipse.jetty.server.ConnectionFactory"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Item&gt;</span>
<span class="nt">&lt;New</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.server.HttpConnectionFactory"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Ref</span> <span class="na">refid=</span><span class="s">"httpCfg"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/New&gt;</span>
<span class="nt">&lt;/Item&gt;</span>
<span class="nt">&lt;/Array&gt;</span>
<span class="nt">&lt;/Arg&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"host"</span><span class="nt">&gt;</span>
<span class="nt">&lt;SystemProperty</span> <span class="na">name=</span><span class="s">"IGNITE_JETTY_HOST"</span> <span class="na">default=</span><span class="s">"localhost"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"port"</span><span class="nt">&gt;</span>
<span class="nt">&lt;SystemProperty</span> <span class="na">name=</span><span class="s">"IGNITE_JETTY_PORT"</span> <span class="na">default=</span><span class="s">"8080"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"idleTimeout"</span><span class="nt">&gt;</span>30000<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"reuseAddress"</span><span class="nt">&gt;</span>true<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;/New&gt;</span>
<span class="nt">&lt;/Arg&gt;</span>
<span class="nt">&lt;/Call&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"handler"</span><span class="nt">&gt;</span>
<span class="nt">&lt;New</span> <span class="na">id=</span><span class="s">"Handlers"</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.server.handler.HandlerCollection"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"handlers"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Array</span> <span class="na">type=</span><span class="s">"org.eclipse.jetty.server.Handler"</span><span class="nt">&gt;</span>
<span class="nt">&lt;Item&gt;</span>
<span class="nt">&lt;New</span> <span class="na">id=</span><span class="s">"Contexts"</span> <span class="na">class=</span><span class="s">"org.eclipse.jetty.server.handler.ContextHandlerCollection"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/Item&gt;</span>
<span class="nt">&lt;/Array&gt;</span>
<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;/New&gt;</span>
<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;Set</span> <span class="na">name=</span><span class="s">"stopAtShutdown"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/Set&gt;</span>
<span class="nt">&lt;/Configure&gt;</span></code></pre>
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="security">Security</h3>
<div class="paragraph">
<p>When <a href="/docs/latest/security/authentication">authentication</a> is configured in the cluster, all applications that use REST API request authentication by providing security credentials.
The authentication request returns a session token that can be used with any command within that session.</p>
</div>
<div class="paragraph">
<p>There are two ways to request authorization:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Use the authenticate command with <code>ignite.login=[user]&amp;ignite.password=[password]</code> parameters.</p>
<div class="openblock">
<div class="content">
<div class="listingblock">
<div class="content">
<pre>https://[host]:[port]/ignite?cmd=authenticate&amp;ignite.login=[user]&amp;ignite.password=[password]</pre>
</div>
</div>
</div>
</div>
</li>
<li>
<p>Use any REST command with <code>ignite.login=[user]&amp;ignite.password=[password]</code> parameters in the path of your connection string. In our example below, we use the <code>version</code> command:</p>
<div class="openblock">
<div class="content">
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="curl">http://[host]:[port]/ignite?cmd=version&amp;ignite.login=[user]&amp;ignite.password=[password]</code></pre>
</div>
</div>
</div>
</div>
<div class="paragraph">
<p>In both examples above, replace <code>[host]</code>, <code>[port]</code>, <code>[user]</code>, and <code>[password]</code> with actual values.</p>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>Executing any one of the above strings in a browser returns a response with a session token which looks like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>{"successStatus":0,"error":null,"sessionToken":"EF6013FF590348CE91DEAE9870183BEF","response":true}</pre>
</div>
</div>
<div class="paragraph">
<p>Once you obtain the session token, use the sessionToken parameter with your connection string as shown in the example below:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>http://[host]:[port]/ignite?cmd=top&amp;sessionToken=[sessionToken]</pre>
</div>
</div>
<div class="paragraph">
<p>In the above connection string, replace <code>[host]</code>, <code>[port]</code>, and <code>[sessionToken]</code> with actual values.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<div class="title">Warning</div>
</td>
<td class="content">
<div class="paragraph">
<p>Either user credentials or a session token is required when authentication is enabled on the server.
Failure to provide either a <code>sessionToken</code> or <code>user</code> &amp; <code>password</code> parameters in the REST connection string results in an error:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="w">
</span><span class="nl">"sessionToken"</span><span class="p">:</span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="s2">"Failed to handle request - session token not found or invalid"</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="kc">null</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
<h3 id="session-token-expiration" class="discrete">Session Token Expiration</h3>
<div class="paragraph">
<p>A session token is valid only for 30 seconds. Using an expired session token results in an error, like the one below:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="s2">"Failed to handle request - unknown session token (maybe expired session) [sesTok=12FFFD4827D149068E9FFF59700E5FDA]"</span><span class="p">,</span><span class="w">
</span><span class="nl">"sessionToken"</span><span class="p">:</span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="kc">null</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>To set a custom expire time, set the system variable: <code>IGNITE_REST_SESSION_TIMEOUT</code> (in seconds).</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="text">-DIGNITE_REST_SESSION_TIMEOUT=3600</code></pre>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="data-types">Data Types</h2>
<div class="sectionbody">
<div class="paragraph">
<p>By default, the REST API exchanges query parameters in the <code>String</code> format. The cluster works with the parameters as
with <code>String</code> objects.</p>
</div>
<div class="paragraph">
<p>If a type of a parameter is different from <code>String</code>, you can use the <code>keyType</code> or <code>valueType</code> to specify the real type
of the argument. The REST API supports both <a href="#java-types">Java Types</a> and <a href="#custom-types">Custom Types</a>.</p>
</div>
<div class="sect2">
<h3 id="java-types">Java Types</h3>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">REST KeyType/ValueType</th>
<th class="tableblock halign-left valign-top">Corresponding Java Type</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Boolean</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>byte</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Byte</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>short</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Short</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>integer</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Integer</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>long</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Long</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>float</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Float</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>double</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.lang.Double</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>date</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.sql.Date</code></p>
<p class="tableblock">The date value should be in the format as specified in the <code>valueOf(String)</code> method in the <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html#valueOf-java.lang.String-" target="_blank" rel="noopener">Java documentation </a></p>
<p class="tableblock">Example: 2018-01-01</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>time</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.sql.Time</code></p>
<p class="tableblock">The time value should be in the format as specified in the <code>valueOf(String)</code> method in the <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html#valueOf-java.lang.String-" target="_blank" rel="noopener">Java documentation </a></p>
<p class="tableblock">Example: 01:01:01</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>timestamp</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.sql.Timestamp</code></p>
<p class="tableblock">The timestamp value should be in the format as specified in the <code>valueOf(String)</code> method in the <a href="https://docs.oracle.com/javase/8/docs/api/java/sql/Date.html#valueOf-java.lang.String-" target="_blank" rel="noopener">Java documentation </a></p>
<p class="tableblock">Example: 2018-02-18%2001:01:01</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>uuid</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java.util.UUID</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>IgniteUuid</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.apache.ignite.lang.IgniteUuid</code></p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>The following example shows a <code>put</code> command with <code>keyType=int</code> and <code>valueType=date</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="text">http://[host]:[port]/ignite?cmd=put&amp;key=1&amp;val=2018-01-01&amp;cacheName=myCache&amp;keyType=int&amp;valueType=date</code></pre>
</div>
</div>
<div class="paragraph">
<p>Similarly, the <code>get</code> command with <code>keyType=int</code> and <code>valueType=date</code> would be:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="text">http://[host]:[port]/ignite?cmd=get&amp;key=1&amp;cacheName=myCache&amp;keyType=int&amp;valueType=date</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="custom-types">Custom Types</h3>
<div class="paragraph">
<p>The JSON format is used to exchange complex custom objects via the Ignite REST protocol.</p>
</div>
<div class="paragraph">
<p>For example, let&#8217;s assume you have a <code>Person</code> class, and below is the JSON representation of an object instance that
you need to send to the cluster:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="javascript"> <span class="p">{</span>
<span class="dl">"</span><span class="s2">uid</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">7e51118b</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">name</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">John Doe</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">orgId</span><span class="dl">"</span><span class="p">:</span> <span class="mi">5678901</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">married</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">salary</span><span class="dl">"</span><span class="p">:</span> <span class="mf">156.1</span>
<span class="p">}</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Next, you use this REST request to put the object in the cluster by setting the <code>valueType</code> parameter to <code>Person</code> and
the <code>val</code> parameter to the value of the JSON object:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="text">http://[host]:[port]/ignite?cacheName=testCache&amp;cmd=put&amp;keyType=int&amp;key=1&amp;valueType=Person
&amp;val=%7B%0A+++++%22uid%22%3A+%227e51118b%22%2C%0A+++++%22name%22%3A+%22John+Doe%22%2C%0A+++++%22orgId%22%3A+5678901%2C%0A+++++%22married%22%3A+false%2C%0A+++++%22salary%22%3A+156.1%0A++%7D&amp;</code></pre>
</div>
</div>
<div class="paragraph">
<p>Once a server receives the request, it converts the object from the JSON into the internal
<a href="/docs/data-modeling/data-modeling#binary-object-format">binary object</a> format following the conversion procedure below:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>If the <code>Person</code> class exists and available on the server&#8217;s classpath, the JSON object is resolved to an instance of the <code>Person</code> class.</p>
</li>
<li>
<p>If the <code>Person</code> class is not available on the server’s classpath, but there is a <code>QueryEntity</code> object that defines
the <code>Person</code>, then the JSON object is resolved to a binary object of that <code>Person</code> type:</p>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Query entity</th>
<th class="tableblock halign-left valign-top">Binary Object (Person)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="xml"><span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.ignite.cache.QueryEntity"</span><span class="nt">&gt;</span>
<span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"keyType"</span> <span class="na">value=</span><span class="s">"java.lang.Integer"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"valueType"</span> <span class="na">value=</span><span class="s">"Person"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">"fields"</span><span class="nt">&gt;</span>
<span class="nt">&lt;map&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">key=</span><span class="s">"uid"</span> <span class="na">value=</span><span class="s">"java.util.UUID"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">key=</span><span class="s">"name"</span> <span class="na">value=</span><span class="s">"java.lang.String"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">key=</span><span class="s">"orgId"</span> <span class="na">value=</span><span class="s">"java.lang.Long"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">key=</span><span class="s">"married"</span> <span class="na">value=</span><span class="s">"java.lang.Boolean"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;entry</span> <span class="na">key=</span><span class="s">"salary"</span> <span class="na">value=</span><span class="s">"java.lang.Float"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/map&gt;</span>
<span class="nt">&lt;/property&gt;</span>
<span class="nt">&lt;/bean&gt;</span></code></pre>
</div>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="javascript"><span class="dl">"</span><span class="s2">uid</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">7e51118b</span><span class="dl">"</span><span class="p">,</span> <span class="c1">// UUID</span>
<span class="dl">"</span><span class="s2">name</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">John Doe</span><span class="dl">"</span><span class="p">,</span> <span class="c1">// string</span>
<span class="dl">"</span><span class="s2">orgId</span><span class="dl">"</span><span class="p">:</span> <span class="mi">5678901</span><span class="p">,</span> <span class="c1">// long</span>
<span class="dl">"</span><span class="s2">married</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="c1">// boolean</span>
<span class="dl">"</span><span class="s2">salary</span><span class="dl">"</span><span class="p">:</span> <span class="mf">156.1</span> <span class="c1">// float</span></code></pre>
</div>
</div></div></td>
</tr>
</tbody>
</table>
</li>
<li>
<p>Otherwise, the JSON object’s field types are resolved following the regular JSON convention:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="javascript"><span class="dl">"</span><span class="s2">uid</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">7e51118b</span><span class="dl">"</span><span class="p">,</span> <span class="c1">// string</span>
<span class="dl">"</span><span class="s2">name</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">John Doe</span><span class="dl">"</span><span class="p">,</span> <span class="c1">// string</span>
<span class="dl">"</span><span class="s2">orgId</span><span class="dl">"</span><span class="p">:</span> <span class="mi">5678901</span><span class="p">,</span> <span class="c1">// int</span>
<span class="dl">"</span><span class="s2">married</span><span class="dl">"</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="c1">// boolean</span>
<span class="dl">"</span><span class="s2">salary</span><span class="dl">"</span><span class="p">:</span> <span class="mf">156.1</span> <span class="c1">// double</span></code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="paragraph">
<p>The same conversion rules apply when you have a custom key type set via the <code>keyType</code> parameter of the Ignite
REST protocol.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="returned-value">Returned Value</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The HTTP REST request returns a JSON object which has a similar structure for each command:</p>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>affinityNodeId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>string</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Affinity node ID.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>error</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>string</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This field contains description of error if server could not handle the request.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Specifically for each command.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sessionToken</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>string</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">When authentication is enabled on the server, this field contains a session token that can be used with any command within that session. If authentication is off, this field contains <code>null</code>.
When authentication is enabled - <code>EF6013FF590348CE91DEAE9870183BEF</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Otherwise, <code>null</code>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>jsonObject</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This field contains the result of the command.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Specifically for each command.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>successStatus</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>integer</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Exit status code. It might have the following values:</p>
<p class="tableblock"><code>success = 0</code></p>
<p class="tableblock"><code>failed = 1</code></p>
<p class="tableblock"><code>authorization failed = 2</code></p>
<p class="tableblock"><code>security check failed = 3</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="rest-api-reference">REST API Reference</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="version">Version</h3>
<div class="paragraph">
<p>Returns the Ignite version.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>version</code></pre>
</div>
</div>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0.0"</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cluster-state">Cluster State</h3>
<div class="paragraph">
<p>Returns the current <a href="/docs/latest/monitoring-metrics/cluster-states">state of the cluster</a>.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>state</code></pre>
</div>
</div>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>Returns <code>true</code> if the cluster is active. Returns <code>false</code> if the cluster in inactive.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"sessionToken"</span><span class="p">:</span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ACTIVE_READ_ONLY"</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="change-cluster-state">Change Cluster State</h3>
<div class="paragraph">
<p>The <code>setstate</code> command changes the <a href="/docs/latest/monitoring-metrics/cluster-states">cluster state</a>.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="openblock">
<div class="content">
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>setstate&amp;state<span class="o">={</span>new_state<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 75%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>state</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>New cluster state. One of the values:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>ACTIVE</code>: active state,</p>
</li>
<li>
<p><code>ACTIVE_READ_ONLY</code>: read only state,</p>
</li>
<li>
<p><code>INACTIVE</code>: the cluster is deactivated.</p>
</li>
</ul>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<div class="title">Warning</div>
</td>
<td class="content">
<div class="paragraph">
<p>Deactivation deallocates all memory resources, including your application data, on all cluster nodes and disables public cluster API.
If you have in-memory caches that are not backed up by a persistent storage (neither <a href="/docs/latest/persistence/native-persistence">native persistent storage</a> nor <a href="/docs/latest/persistence/external-storage">external storage</a>), you will lose the data and will have to repopulate these caches.</p>
</div>
</td>
</tr>
</table>
</div></div></td>
</tr>
</tbody>
</table>
</div>
</div>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"sessionToken"</span><span class="p">:</span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="s2">"setstate done"</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="increment">Increment</h3>
<div class="paragraph">
<p>Adds and gets current value of given atomic long.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>incr&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;key<span class="o">={</span>incrKey<span class="o">}</span>&amp;init<span class="o">={</span>initialValue<span class="o">}</span>&amp;delta<span class="o">={</span>delta<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name of atomic long.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>init</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Initial value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">15</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>delta</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number to be added.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">42</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response contains the value after the operation.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"e05839d5-6648-43e7-a23b-78d7db9390d5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="mi">42</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="decrement">Decrement</h3>
<div class="paragraph">
<p>Subtracts and gets current value of given atomic long.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>decr&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;key<span class="o">={</span>key<span class="o">}</span>&amp;init<span class="o">={</span>init_value<span class="o">}</span>&amp;delta<span class="o">={</span>delta<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache ("default") is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name of atomic long.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>init</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Initial value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>15</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>delta</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number to be subtracted.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>42</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response contains the value after the operation.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"e05839d5-6648-43e7-a23b-78d7db9390d5"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="mi">-42</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cache-metrics">Cache Metrics</h3>
<div class="paragraph">
<p>Shows metrics for a cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>cache&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"hits"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"misses"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"reads"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
</span><span class="nl">"writes"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">jsonObject</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The JSON object contains cache metrics such as create time, count reads and etc.</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>{
"createTime": 1415179251551, "hits": 0, "misses": 0, "readTime":1415179251551, "reads": 0,"writeTime": 1415179252198, "writes": 2
}</code></p>
</div></div></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cache-size">Cache Size</h3>
<div class="paragraph">
<p>Gets the number of all entries cached across all nodes.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>size&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">number</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of all entries cached across all nodes.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="cache-metadata">Cache Metadata</h3>
<div class="paragraph">
<p>Gets metadata for a cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>metadata&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, metadata for all user caches is returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"cacheName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"partitionedCache"</span><span class="p">,</span><span class="w">
</span><span class="nl">"types"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="s2">"Person"</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"keyClasses"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"Person"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.Integer"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"valClasses"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"Person"</span><span class="p">:</span><span class="w"> </span><span class="s2">"org.apache.ignite.Person"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"fields"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"Person"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"_KEY"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.Integer"</span><span class="p">,</span><span class="w">
</span><span class="nl">"_VAL"</span><span class="p">:</span><span class="w"> </span><span class="s2">"org.apache.ignite.Person"</span><span class="p">,</span><span class="w">
</span><span class="nl">"ID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.Integer"</span><span class="p">,</span><span class="w">
</span><span class="nl">"FIRSTNAME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.String"</span><span class="p">,</span><span class="w">
</span><span class="nl">"LASTNAME"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.String"</span><span class="p">,</span><span class="w">
</span><span class="nl">"SALARY"</span><span class="p">:</span><span class="w"> </span><span class="s2">"double"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"indexes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"Person"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ID_IDX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fields"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="s2">"id"</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"descendings"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"unique"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SALARY_IDX"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fields"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="s2">"salary"</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"descendings"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
</span><span class="nl">"unique"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"sessionToken"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="compare-and-swap">Compare-And-Swap</h3>
<div class="paragraph">
<p>Stores a given key-value pair in a cache only if the previous value is equal to the expected value passed in.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">https://[host]:[port]/ignite?cmd<span class="o">=</span>authenticate&amp;ignite.login<span class="o">=[</span>user]&amp;ignite.password<span class="o">=[</span>password]</code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to store in cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value associated with the given key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val2</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Expected value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Bob</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response returns <code>true</code> if the value was replaced, <code>false</code> otherwise.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="append">Append</h3>
<div class="paragraph">
<p>Appends a line for value which is associated with key.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>append&amp;key<span class="o">={</span>appendKey<span class="o">}</span>&amp;val<span class="o">={</span>_suffix<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to store in cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value to be appended to the current value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if replace happened, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="prepend">Prepend</h3>
<div class="paragraph">
<p>Adds prefix to the value that is associated with a given key.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong> </dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>prepend&amp;key<span class="o">={</span>key<span class="o">}</span>&amp;val<span class="o">={</span>value<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">myCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to store in cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The string to be prepended to the current value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name_</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if replace happened, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="replace">Replace</h3>
<div class="paragraph">
<p>Stores a given key-value pair in a cache if the cache already contains the key.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>rep&amp;key<span class="o">=</span>repKey&amp;val<span class="o">=</span>newValue&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to store in cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value associated with the given key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>exp</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Expiration time in milliseconds for the entry. When the parameter is set, the operation is executed with <a href="/docs/latest/configuring-caches/expiry-policies">ModifiedExpiryPolicy</a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">60000</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response contains <code>true</code> if the value was replaced, <code>false</code> otherwise.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get">Get</h3>
<div class="paragraph">
<p>Retrieves the value mapped to a specified key from a cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>get&amp;key<span class="o">={</span>getKey<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key whose associated value is to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">testKey</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>keyType</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Java built-in type</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#data-types">Data Types</a> for more details.</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get-all">Get All</h3>
<div class="paragraph">
<p>Retrieves values mapped to the specified keys from a given cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>getall&amp;k1<span class="o">={</span>getKey1<span class="o">}</span>&amp;k2<span class="o">={</span>getKey2<span class="o">}</span>&amp;k3<span class="o">={</span>getKey3<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>k1&#8230;&#8203;kN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keys whose associated values are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">key1, key2, &#8230;&#8203;, keyN</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"key1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"value1"</span><span class="p">,</span><span class="w">
</span><span class="nl">"key2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"value2"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
<h3 id="get-output-as-array" class="discrete">Get output as array</h3>
<div class="paragraph">
<p>To obtain the output as an array, use the <code>IGNITE_REST_GETALL_AS_ARRAY=true</code> system property.
Once the property is set, the <code>getall</code> command provides the response in the following format:</p>
</div>
<div class="paragraph">
<p><code>{“successStatus”:0,“affinityNodeId”:null,“error”:null,“sessionToken”:null,“response”:[{“key”:“key1”,“value”:“value1”},{“key”:“key2”,“value”:“value2”}]}</code></p>
</div>
</td>
</tr>
</table>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get-and-remove">Get and Remove</h3>
<div class="paragraph">
<p>Removes the given key mapping from cache and returns the previous value.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>getrmv&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span>&amp;key<span class="o">={</span>key<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key whose mapping is to be removed from the cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="err">value</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">jsonObject</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value for the key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>{"name": "bob"}</code></p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get-and-put">Get and Put</h3>
<div class="paragraph">
<p>Stores a given key-value pair in a cache and returns the existing value if there is one.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>getput&amp;key<span class="o">=</span>getKey&amp;val<span class="o">=</span>newVal&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to be associated with value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value to be associated with key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response contains the previous value for the key.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bob"</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get-and-put-if-absent">Get and Put If Absent</h3>
<div class="paragraph">
<p>Stores given key-value pair in cache only if cache had no previous mapping for it. If cache previously contained value for the given key, then this value is returned.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>getputifabs&amp;key<span class="o">=</span>getKey&amp;val<span class="o">=</span>newVal&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to be associated with value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value to be associated with key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="s2">"value"</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">jsonObject</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Previous value for the given key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>{"name": "bob"}</code></p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get-and-replace">Get and Replace</h3>
<div class="paragraph">
<p>Stores a given key-value pair in cache only if there is a previous mapping for it.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong> </dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>getrep&amp;key<span class="o">={</span>key<span class="o">}</span>&amp;val<span class="o">={</span>val<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to store in cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value associated with the given key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response contains the previous value associated with the specified key.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="err">oldValue</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">jsonObject</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The previous value associated with the specified key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>{"name": "Bob"}</code></p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="replace-value">Replace Value</h3>
<div class="paragraph">
<p>Replaces the entry for a key only if currently mapped to a given value.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>repval&amp;key<span class="o">={</span>key<span class="o">}</span>&amp;val<span class="o">={</span>newValue<span class="o">}</span>&amp;val2<span class="o">={</span>oldVal<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to store in cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value associated with the given key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val2</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value expected to be associated with the specified key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">oldValue</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if replace happened, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="remove">Remove</h3>
<div class="paragraph">
<p>Removes the given key mapping from cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>rmv&amp;key<span class="o">={</span>rmvKey<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key - for which the mapping is to be removed from cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if replace happened, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="remove-all">Remove All</h3>
<div class="paragraph">
<p>Removes given key mappings from a cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>rmvall&amp;k1<span class="o">={</span>rmKey1<span class="o">}</span>&amp;k2<span class="o">={</span>rmKey2<span class="o">}</span>&amp;k3<span class="o">={</span>rmKey3<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>k1&#8230;&#8203;kN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keys whose mappings are to be removed from the cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if replace happened, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="remove-value">Remove Value</h3>
<div class="paragraph">
<p>Removes the mapping for a key only if currently mapped to the given value.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>rmvval&amp;key<span class="o">={</span>rmvKey<span class="o">}</span>&amp;val<span class="o">={</span>rmvVal<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key whose mapping is to be removed from the cache.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value expected to be associated with the specified key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">oldValue</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code> if there was no matching key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="add">Add</h3>
<div class="paragraph">
<p>Stores a given key-value pair in a cache if the cache does not contain the key.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>add&amp;key<span class="o">=</span>newKey&amp;val<span class="o">=</span>newValue&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to be associated with the value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value to be associated with the key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>exp</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Expiration time in milliseconds for the entry. When the parameter is set, the operation is executed with <a href="/docs/latest/configuring-caches/expiry-policies">ModifiedExpiryPolicy</a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">60000</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if value was stored in cache, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="put">Put</h3>
<div class="paragraph">
<p>Stores a given key-value pair in a cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>put&amp;key<span class="o">=</span>newKey&amp;val<span class="o">=</span>newValue&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to be associated with values.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value to be associated with keys.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>exp</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Expiration time in milliseconds for the entry. When the parameter is set, the operation is executed with <a href="/docs/latest/configuring-caches/expiry-policies">ModifiedExpiryPolicy</a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">60000</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if value was stored in cache, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="put-all">Put all</h3>
<div class="paragraph">
<p>Stores the given key-value pairs in cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>putall&amp;k1<span class="o">={</span>putKey1<span class="o">}</span>&amp;k2<span class="o">={</span>putKey2<span class="o">}</span>&amp;k3<span class="o">={</span>putKey3<span class="o">}</span>&amp;v1<span class="o">={</span>value1<span class="o">}</span>&amp;v2<span class="o">={</span>value2<span class="o">}</span>&amp;v3<span class="o">={</span>value3<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;destId<span class="o">={</span>nodeId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>k1&#8230;&#8203;kN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keys to be associated with values.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>v1&#8230;&#8203;vN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Values to be associated with keys.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1bcbac4b-3517-43ee-98d0-874b103ecf30"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if the values were stored in cache, <code>false</code> otherwise.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="put-if-absent">Put If Absent</h3>
<div class="paragraph">
<p>Stores a given key-value pair in a cache if the cache does not contain the given key.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>putifabs&amp;key<span class="o">={</span>getKey<span class="o">}</span>&amp;val<span class="o">={</span>newVal<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key to be associated with value.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">name</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>val</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Value to be associated with key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Jack</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>exp</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">long</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Expiration time in milliseconds for the entry. When the parameter is set, the operation is executed with <a href="/docs/latest/configuring-caches/expiry-policies">ModifiedExpiryPolicy</a>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">60000</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response field contains <code>true</code> if the entry was put, <code>false</code> otherwise.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="contains-key">Contains Key</h3>
<div class="paragraph">
<p>Determines if cache contains an entry for the specified key.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>conkey&amp;key<span class="o">={</span>getKey<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>key</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key whose presence in this cache is to be tested.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">testKey</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if this map contains a mapping for the specified key.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="contains-keys">Contains keys</h3>
<div class="paragraph">
<p>Determines if cache contains any entries for the specified keys.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>conkeys&amp;k1<span class="o">={</span>getKey1<span class="o">}</span>&amp;k2<span class="o">={</span>getKey2<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>k1&#8230;&#8203;kN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Key whose presence in this cache is to be tested.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">key1, key2, &#8230;&#8203;, keyN</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>destId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Node ID for which the metrics are to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>8daab5ea-af83-4d91-99b6-77ed2ca06647</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"affinityNodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37"</span><span class="p">,</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 50%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Field</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>response</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code> if this cache contains a mapping for the specified keys.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="get-or-create-cache">Get or Create Cache</h3>
<div class="paragraph">
<p>Creates a cache with the given name if it does not exist.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>getorcreate&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 55%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>backups</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">int</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of backups for cache data. Default is 0.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>dataRegion</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the data region the cache should belong to.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>templateName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the cache template registered in Ignite to use as a configuration for the distributed cache. See the <a href="/docs/latest/configuring-caches/configuration-overview#cache-templates" target="_blank" rel="noopener">Cache Template</a> section for more information.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheGroup</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the group the cache should belong to.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>writeSynchronizationMode</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Sets the write synchronization mode for the given cache:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>FULL_SYNC</code></p>
</li>
<li>
<p><code>FULL_ASYNC</code></p>
</li>
<li>
<p><code>PRIMARY_SYNC</code></p>
</li>
</ul>
</div></div></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="destroy-cache">Destroy cache</h3>
<div class="paragraph">
<p>Destroys cache with given name.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>destcache&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partitionedCache</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="node">Node</h3>
<div class="paragraph">
<p>Gets information about a node.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>node&amp;attr<span class="o">={</span>includeAttributes<span class="o">}</span>&amp;mtr<span class="o">={</span>includeMetrics<span class="o">}</span>&amp;id<span class="o">={</span>nodeId<span class="o">}</span>&amp;caches<span class="o">={</span>includeCaches<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mtr</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Response includes metrics, if this parameter is <code>true</code>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>attr</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Response includes attributes, if this parameter is <code>true</code>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ip</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This parameter is optional, if id parameter is passed. Response is returned for node which has the IP.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">192.168.0.1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>id</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This parameter is optional, if ip parameter is passed. Response is returned for node which has the node ID.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>caches</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">When set to <code>true</code> the cache information returned by node includes: name, mode, and SQL Schema.</p>
<p class="tableblock"> When set to <code>false</code> the node command does not return any cache information.</p>
<p class="tableblock"> Default value is <code>true</code>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"caches"</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span><span class="w">
</span><span class="nl">"consistentId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"127.0.0.1:47500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"defaultCacheMode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"REPLICATED"</span><span class="p">,</span><span class="w">
</span><span class="nl">"metrics"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
</span><span class="nl">"nodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2d0d6510-6fed-4fa3-b813-20f83ac4a1a9"</span><span class="p">,</span><span class="w">
</span><span class="nl">"replicaCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w">
</span><span class="nl">"tcpAddresses"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"127.0.0.1"</span><span class="p">],</span><span class="w">
</span><span class="nl">"tcpHostNames"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">""</span><span class="p">],</span><span class="w">
</span><span class="nl">"tcpPort"</span><span class="p">:</span><span class="w"> </span><span class="mi">11211</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="log">Log</h3>
<div class="paragraph">
<p>Shows server logs.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>log&amp;from<span class="o">={</span>from<span class="o">}</span>&amp;to<span class="o">={</span>to<span class="o">}</span>&amp;path<span class="o">={</span>pathToLogFile<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>from</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">integer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of line to start from. Parameter is mandatory if to is passed.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>0</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>path</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The path to log file. If not provided the a default one is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/log/cache_server.log</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>to</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">integer</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number to line to finish on. Parameter is mandatory if from is passed.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"[14:01:56,626][INFO ][test-runner][GridDiscoveryManager] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.8GB]"</span><span class="p">],</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="topology">Topology</h3>
<div class="paragraph">
<p>Gets the information about cluster topology.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>top&amp;attr<span class="o">=</span><span class="nb">true</span>&amp;mtr<span class="o">=</span><span class="nb">true</span>&amp;id<span class="o">=</span>c981d2a1-878b-4c67-96f6-70f93a4cd241</code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>mtr</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Response will include metrics, if this parameter is <code>true</code>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>attr</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Response will include attributes, if this parameter is <code>true</code>.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ip</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This parameter is optional, if the <code>id</code> parameter is passed. Response will be returned for node which has the IP.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">192.168.0.1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>id</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This parameter is optional, if the <code>ip</code> parameter is passed. Response will be returned for node which has the node ID.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8daab5ea-af83-4d91-99b6-77ed2ca06647</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="err">...</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"caches"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="err">name:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="err">mode:</span><span class="w"> </span><span class="s2">"PARTITIONED"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="err">name:</span><span class="w"> </span><span class="s2">"partitionedCache"</span><span class="p">,</span><span class="w">
</span><span class="err">mode:</span><span class="w"> </span><span class="s2">"PARTITIONED"</span><span class="p">,</span><span class="w">
</span><span class="err">sqlSchema:</span><span class="w"> </span><span class="s2">"partitionedCache"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"consistentId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"127.0.0.1:47500"</span><span class="p">,</span><span class="w">
</span><span class="nl">"metrics"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="err">...</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"96baebd6-dedc-4a68-84fd-f804ee1ed995"</span><span class="p">,</span><span class="w">
</span><span class="nl">"replicaCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w">
</span><span class="nl">"tcpAddresses"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"127.0.0.1"</span><span class="p">],</span><span class="w">
</span><span class="nl">"tcpHostNames"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">""</span><span class="p">],</span><span class="w">
</span><span class="nl">"tcpPort"</span><span class="p">:</span><span class="w"> </span><span class="mi">11211</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="err">...</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"caches"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="err">name:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="err">mode:</span><span class="w"> </span><span class="s2">"REPLICATED"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"consistentId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"127.0.0.1:47501"</span><span class="p">,</span><span class="w">
</span><span class="nl">"metrics"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="err">...</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"nodeId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37"</span><span class="p">,</span><span class="w">
</span><span class="nl">"replicaCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">128</span><span class="p">,</span><span class="w">
</span><span class="nl">"tcpAddresses"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"127.0.0.1"</span><span class="p">],</span><span class="w">
</span><span class="nl">"tcpHostNames"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">""</span><span class="p">],</span><span class="w">
</span><span class="nl">"tcpPort"</span><span class="p">:</span><span class="w"> </span><span class="mi">11212</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="execute-a-task">Execute a Task</h3>
<div class="paragraph">
<p>Executes a given task in the cluster.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>exe&amp;name<span class="o">=</span>taskName&amp;p1<span class="o">=</span>param1&amp;p2<span class="o">=</span>param2&amp;async<span class="o">=</span><span class="nb">true</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the task to execute.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>summ</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>p1&#8230;&#8203;pN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Argument of task execution.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">arg1&#8230;&#8203;argN</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>async</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Determines whether the task is performed asynchronously.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response contains an error message, unique identifier of the task, the status and result of computation.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"finished"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"~ee2d1688-2605-4613-8a57-6615a8cbcd1b"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="result-of-a-task">Result of a Task</h3>
<div class="paragraph">
<p>Returns the computation result for a given task.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>res&amp;id<span class="o">={</span>taskId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>id</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ID of the task whose result is to be returned.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">69ad0c48941-4689aae0-6b0e-4d52-8758-ce8fe26f497d~4689aae0-6b0e-4d52-8758-ce8fe26f497d</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>The response contains information about errors (if any), ID of the task, and the status and result of computation.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"finished"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"69ad0c48941-4689aae0-6b0e-4d52-8758-ce8fe26f497d~4689aae0-6b0e-4d52-8758-ce8fe26f497d"</span><span class="p">,</span><span class="w">
</span><span class="nl">"result"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="sql-query-execute">SQL Query Execute</h3>
<div class="paragraph">
<p>Runs SQL query over cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>qryexe&amp;type<span class="o">={</span><span class="nb">type</span><span class="o">}</span>&amp;pageSize<span class="o">={</span>pageSize<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;arg1<span class="o">=</span>1000&amp;arg2<span class="o">=</span>2000&amp;qry<span class="o">={</span>query<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>type</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type for the query</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pageSize</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">number</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Page size for the query.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">testCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>arg1&#8230;&#8203;argN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Query arguments</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1000,2000</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>qry</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">strings</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Encoding sql query</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>salary+%3E+%3F+and+salary+%3C%3D+%3F</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>keepBinary</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">do not deserialize <a href="/docs/data-modeling/data-modeling#binary-object-format">binary objects</a>, <code>false</code> by default</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response object contains the items returned by the query, a flag indicating the last page, and <code>queryId</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"fieldsMetadata"</span><span class="p">:[],</span><span class="w">
</span><span class="nl">"items"</span><span class="p">:[</span><span class="w">
</span><span class="p">{</span><span class="nl">"key"</span><span class="p">:</span><span class="mi">3</span><span class="p">,</span><span class="nl">"value"</span><span class="p">:{</span><span class="nl">"name"</span><span class="p">:</span><span class="s2">"Jane"</span><span class="p">,</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">3</span><span class="p">,</span><span class="nl">"salary"</span><span class="p">:</span><span class="mi">2000</span><span class="p">}},</span><span class="w">
</span><span class="p">{</span><span class="nl">"key"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="nl">"value"</span><span class="p">:{</span><span class="nl">"name"</span><span class="p">:</span><span class="s2">"John"</span><span class="p">,</span><span class="nl">"id"</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="nl">"salary"</span><span class="p">:</span><span class="mi">2000</span><span class="p">}}],</span><span class="w">
</span><span class="nl">"last"</span><span class="p">:</span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"queryId"</span><span class="p">:</span><span class="mi">0</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="sql-fields-query-execute">SQL Fields Query Execute</h3>
<div class="paragraph">
<p>Runs SQL fields query over cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>qryfldexe&amp;pageSize<span class="o">=</span>10&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;qry<span class="o">={</span>qry<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pageSize</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">number</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Page size for the query.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">testCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>arg1&#8230;&#8203;argN</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Query arguments.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1000,2000</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>qry</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">strings</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Encoding sql fields query.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>select+firstName%2C+lastName+from+Person</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>keepBinary</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">do not deserialize <a href="/docs/data-modeling/data-modeling#binary-object-format">binary objects</a>, <code>false</code> by default</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response object contains the items returned by the query, fields query metadata, a flag indicating the last page, and <code>queryId</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"fieldsMetadata"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"fieldName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"FIRSTNAME"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fieldTypeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.String"</span><span class="p">,</span><span class="w">
</span><span class="nl">"schemaName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"person"</span><span class="p">,</span><span class="w">
</span><span class="nl">"typeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PERSON"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"fieldName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"LASTNAME"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fieldTypeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"java.lang.String"</span><span class="p">,</span><span class="w">
</span><span class="nl">"schemaName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"person"</span><span class="p">,</span><span class="w">
</span><span class="nl">"typeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"PERSON"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[[</span><span class="s2">"Jane"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Doe"</span><span class="w"> </span><span class="p">],</span><span class="w"> </span><span class="p">[</span><span class="s2">"John"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">]],</span><span class="w">
</span><span class="nl">"last"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"queryId"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="sql-scan-query-execute">SQL Scan Query Execute</h3>
<div class="paragraph">
<p>Runs a scan query over a cache.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>qryscanexe&amp;pageSize<span class="o">={</span>pageSize<span class="o">}</span>&amp;cacheName<span class="o">={</span>cacheName<span class="o">}</span>&amp;className<span class="o">={</span>className<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pageSize</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Page size for the query</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>cacheName</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Cache name. If not provided, the default cache is used.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">testCache</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>className</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Predicate class name for scan query. Class should implement <code>IgniteBiPredicate</code> interface.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>org.apache.ignite.filters.PersonPredicate</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>keepBinary</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">boolean</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">do not deserialize <a href="/docs/data-modeling/data-modeling#binary-object-format">binary objects</a>, <code>false</code> by default</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response object contains the items returned by the scan query, fields query metadata, a flag indicating last page, and <code>queryId</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"fieldsMetadata"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"fieldName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"key"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fieldTypeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"schemaName"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"typeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"fieldName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"value"</span><span class="p">,</span><span class="w">
</span><span class="nl">"fieldTypeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"schemaName"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"typeName"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"key"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"value"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"firstName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Jane"</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
</span><span class="nl">"lastName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Doe"</span><span class="p">,</span><span class="w">
</span><span class="nl">"salary"</span><span class="p">:</span><span class="w"> </span><span class="mi">1000</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"key"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="nl">"value"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"firstName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Jane"</span><span class="p">,</span><span class="w">
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
</span><span class="nl">"lastName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Smith"</span><span class="p">,</span><span class="w">
</span><span class="nl">"salary"</span><span class="p">:</span><span class="w"> </span><span class="mi">2000</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nl">"last"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"queryId"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="sql-query-fetch">SQL Query Fetch</h3>
<div class="paragraph">
<p>Gets next page for the query.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>qryfetch&amp;pageSize<span class="o">={</span>pageSize<span class="o">}</span>&amp;qryId<span class="o">={</span>queryId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pageSize</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">number</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Page size for the query.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>qryId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">number</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Query id that is returned from the <code>Sql query execute</code>, <code>sql fields query execute</code>, or <code>sql fetch</code> commands.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The response object contains the items returned by the query, a flag indicating the last page, and <code>queryId</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:{</span><span class="w">
</span><span class="nl">"fieldsMetadata"</span><span class="p">:[],</span><span class="w">
</span><span class="nl">"items"</span><span class="p">:[[</span><span class="s2">"Jane"</span><span class="p">,</span><span class="s2">"Doe"</span><span class="p">],[</span><span class="s2">"John"</span><span class="p">,</span><span class="s2">"Doe"</span><span class="p">]],</span><span class="w">
</span><span class="nl">"last"</span><span class="p">:</span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"queryId"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="sql-query-close">SQL Query Close</h3>
<div class="paragraph">
<p>Closes query resources.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><strong>Request:</strong></dt>
<dd>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell">http://host:port/ignite?cmd<span class="o">=</span>qrycls&amp;qryId<span class="o">={</span>queryId<span class="o">}</span></code></pre>
</div>
</div>
<table class="tableblock frame-all grid-all stripes-even stretch">
<colgroup>
<col style="width: 15%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 45%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Type</th>
<th class="tableblock halign-left valign-top">Optional</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>qryId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">number</p></td>
<td class="tableblock halign-left valign-top"></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Query id that is returned from the <code>SQL query execute</code>, <code>SQL fields query execute</code>, or <code>SQL fetch</code> commands.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
</tr>
</tbody>
</table>
</dd>
<dt class="hdlist1"><strong>Response:</strong></dt>
<dd>
<div class="paragraph">
<p>The command returns 'true' if the query was closed successfully.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="json"><span class="p">{</span><span class="w">
</span><span class="nl">"error"</span><span class="p">:</span><span class="s2">""</span><span class="p">,</span><span class="w">
</span><span class="nl">"response"</span><span class="p">:</span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"successStatus"</span><span class="p">:</span><span class="mi">0</span><span class="w">
</span><span class="p">}</span></code></pre>
</div>
</div>
</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="copyright">
© 2021 The Apache Software Foundation.<br/>
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.
</div>
</article>
<nav class="right-nav" data-swiftype-index='false'>
<div class="toc-wrapper">
<ul class="sectlevel1">
<li><a href="#getting-started">Getting Started</a>
<ul class="sectlevel2">
<li><a href="#configuration">Configuration</a>
<ul class="sectlevel3">
<li><a href="#example-jetty-xml-configuration">Example Jetty XML Configuration</a></li>
</ul>
</li>
<li><a href="#security">Security</a></li>
</ul>
</li>
<li><a href="#data-types">Data Types</a>
<ul class="sectlevel2">
<li><a href="#java-types">Java Types</a></li>
<li><a href="#custom-types">Custom Types</a></li>
</ul>
</li>
<li><a href="#returned-value">Returned Value</a></li>
<li><a href="#rest-api-reference">REST API Reference</a>
<ul class="sectlevel2">
<li><a href="#version">Version</a></li>
<li><a href="#cluster-state">Cluster State</a></li>
<li><a href="#change-cluster-state">Change Cluster State</a></li>
<li><a href="#increment">Increment</a></li>
<li><a href="#decrement">Decrement</a></li>
<li><a href="#cache-metrics">Cache Metrics</a></li>
<li><a href="#cache-size">Cache Size</a></li>
<li><a href="#cache-metadata">Cache Metadata</a></li>
<li><a href="#compare-and-swap">Compare-And-Swap</a></li>
<li><a href="#append">Append</a></li>
<li><a href="#prepend">Prepend</a></li>
<li><a href="#replace">Replace</a></li>
<li><a href="#get">Get</a></li>
<li><a href="#get-all">Get All</a></li>
<li><a href="#get-and-remove">Get and Remove</a></li>
<li><a href="#get-and-put">Get and Put</a></li>
<li><a href="#get-and-put-if-absent">Get and Put If Absent</a></li>
<li><a href="#get-and-replace">Get and Replace</a></li>
<li><a href="#replace-value">Replace Value</a></li>
<li><a href="#remove">Remove</a></li>
<li><a href="#remove-all">Remove All</a></li>
<li><a href="#remove-value">Remove Value</a></li>
<li><a href="#add">Add</a></li>
<li><a href="#put">Put</a></li>
<li><a href="#put-all">Put all</a></li>
<li><a href="#put-if-absent">Put If Absent</a></li>
<li><a href="#contains-key">Contains Key</a></li>
<li><a href="#contains-keys">Contains keys</a></li>
<li><a href="#get-or-create-cache">Get or Create Cache</a></li>
<li><a href="#destroy-cache">Destroy cache</a></li>
<li><a href="#node">Node</a></li>
<li><a href="#log">Log</a></li>
<li><a href="#topology">Topology</a></li>
<li><a href="#execute-a-task">Execute a Task</a></li>
<li><a href="#result-of-a-task">Result of a Task</a></li>
<li><a href="#sql-query-execute">SQL Query Execute</a></li>
<li><a href="#sql-fields-query-execute">SQL Fields Query Execute</a></li>
<li><a href="#sql-scan-query-execute">SQL Scan Query Execute</a></li>
<li><a href="#sql-query-fetch">SQL Query Fetch</a></li>
<li><a href="#sql-query-close">SQL Query Close</a></li>
</ul>
</li>
</ul>
</div>
<nav class="promo-nav">
<!--#include virtual="/includes/docs_rightnav_promotion.html" -->
<a href="#" data-trigger-bugyard-feedback="true" id="doc-feedback-btn">Docs Feedback</a>
</nav>
</nav>
</section>
<script type='module' src='/assets/js/code-copy-to-clipboard.js' async crossorigin></script>
<script>
// inits deep anchors -- needs to be done here because of https://www.bryanbraun.com/anchorjs/#dont-run-it-too-late
anchors.add('.page-docs h1, .page-docs h2, .page-docs h3:not(.discrete), .page-docs h4, .page-docs h5');
anchors.options = {
placement: 'right',
visible: 'always'
};
</script>
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
<script>
docsearch({
// Your apiKey and indexName will be given to you once
// we create your config
apiKey: '3eee686c0ebe39eff3baeb18c56fa5f8',
indexName: 'apache_ignite',
// Replace inputSelector with a CSS selector
// matching your search input
inputSelector: '#search-input',
// algoliaOptions: { 'facetFilters': ["version:$VERSION"] },
// Set debug to true to inspect the dropdown
debug: false,
});
</script>
<script type='module' src='/assets/js/index.js?1634150561' async crossorigin></script>
<script type='module' src='/assets/js/versioning.js?1634150561' async crossorigin></script>
<link rel="stylesheet" href="/assets/css/styles.css?1634150561" media="print" onload="this.media='all'">
<noscript><link media="all" rel="stylesheet" href="/assets/css/styles.css?1634150561"></noscript>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" media="print" onload="this.media='all'">
<noscript><link media="all" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"></noscript>
</body>
</html>