CINXE.COM
Authorizing API calls | Text Platform Docs & API Reference
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>Authorizing API calls | Text Platform Docs & API Reference</title><link rel="canonical" href="https://platform.text.com/docs/authorization/authorizing-api-calls"/><link rel="preconnect" href="https://LATDYRDX9J-dsn.algolia.net" crossorigin="true"/><meta name="description" content="Learn how to use OAuth 2.1 to access LiveChat and HelpDek data securely. Use protocol for authentication and authorization."/><meta property="og:title" content="Authorizing API calls"/><meta property="og:description" content="Learn how to use OAuth 2.1 to access LiveChat and HelpDek data securely. Use protocol for authentication and authorization."/><meta property="og:type" content="website"/><meta property="og:image" content="https://platform.text.com/docs/images/text-docs-og.png"/><link rel="icon" href="/docs/images/favicon.ico"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@textplatform"/><meta name="twitter:title" content="Authorizing API calls"/><meta name="twitter:description" content="Learn how to use OAuth 2.1 to access LiveChat and HelpDek data securely. Use protocol for authentication and authorization."/><meta name="twitter:image" content="https://platform.text.com/docs/images/livechat-docs-og.png"/><script type="text/javascript"> window.__lc = window.__lc || {}; window.__lc.license = 1520; ;(function(n,t,c){function i(n){return e._h?e._h.apply(null,n):e._q.push(n)}var e={_q:[],_h:null,_v:"2.0",on:function(){i(["on",c.call(arguments)])},once:function(){i(["once",c.call(arguments)])},off:function(){i(["off",c.call(arguments)])},get:function(){if(!e._h)throw new Error("[LiveChatWidget] You can't use getters before load.");return i(["get",c.call(arguments)])},call:function(){i(["call",c.call(arguments)])},init:function(){var n=t.createElement("script");n.async=!0,n.type="text/javascript",n.src="https://cdn.livechatinc.com/staging/tracking.js",t.head.appendChild(n)}};!n.__lc.asyncInit&&e.init(),n.LiveChatWidget=n.LiveChatWidget||e}(window,document,[].slice)) </script><meta name="next-head-count" content="17"/><link rel="preload" href="/docs/_next/static/css/5c94b719b441ef6e576e.css" as="style"/><link rel="stylesheet" href="/docs/_next/static/css/5c94b719b441ef6e576e.css" data-n-g=""/><noscript data-n-css=""></noscript><link rel="preload" href="/docs/_next/static/chunks/webpack-af19fbe32e13fc779465.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/framework.57a22ac5870571c2eff5.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/commons.0889bf71124535c6c4cd.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/main-7bb61c4f8d40f1e634e9.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/pages/_app-cdbe91fdfdbd305577ef.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/f66b9295.f9eceaafe4216b86326e.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/b31dc3a52fd33fe1943f491eae223576a0413e10.ac30430b2138b8fefed8.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/067aff065064306958fa97cea949633bebf95d70.dede6f8249fbb82aff52.js" as="script"/><link rel="preload" href="/docs/_next/static/chunks/pages/authorization/authorizing-api-calls-b8f35fb213c1d45ff890.js" as="script"/> <script>!function(e){var n="https://s.go-mpulse.net/boomerang/";if("False"=="True")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="SWHJY-Y2PHV-NVPM2-PDH42-VMPQS",function(){function e(){if(!o){var e=document.createElement("script");e.id="boomr-scr-as",e.src=window.BOOMR.url,e.async=!0,i.parentNode.appendChild(e),o=!0}}function t(e){o=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?"if":"i",t=function(e,n){var t=d.createElement("script");t.id=n||"boomr-if-as",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\./))return window.BOOMR.snippetMethod="s",void t(i.parentNode,"boomr-async");a=document.createElement("IFRAME"),a.src="about:blank",a.title="",a.role="presentation",a.loading="eager",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display="none",i.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src="javascript:var d=document.open();d.domain='"+n+"';void(0);",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write("<bo"+"dy onload='document._boomrl();'>");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener("load",O._boomrl,!1);else if(O.attachEvent)O.attachEvent("onload",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+"SWHJY-Y2PHV-NVPM2-PDH42-VMPQS";var i=document.currentScript||document.getElementsByTagName("script")[0],o=!1,r=document.createElement("link");if(r.relList&&"function"==typeof r.relList.supports&&r.relList.supports("preload")&&"as"in r)window.BOOMR.snippetMethod="p",r.href=window.BOOMR.url,r.rel="preload",r.as="script",r.addEventListener("load",e),r.addEventListener("error",function(){t(!0)}),setTimeout(function(){if(!o)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),i.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a)}}(),"".length>0)if(e&&"performance"in e&&e.performance&&"function"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=""=="true"?1:0,t="",a="bdpnbet4tppcaz2hhi4q-f-25c623952-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,o={"ak.v":"39","ak.cp":"1461330","ak.ai":parseInt("908031",10),"ak.ol":"0","ak.cr":1,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"cccc0fc","ak.r":6099,"ak.a2":n,"ak.m":"b","ak.n":"essl","ak.bpcip":"8.222.208.0","ak.cport":52962,"ak.gh":"124.155.222.151","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"reno","ak.t":"1732721209","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==nit+SqlCIrAYjklMjcOXwgdRdWVtI1J/YRSNCfGHRG9BNdgLZEN0VF24TbgDmHJRxwY3O6WWZjpdlSjJq65O9oX+hoNsoNsWJnGsix7LAz7wUFXF7skMd4/zlqnc0XMPzMrQFuWbCPc1//Fmj7k3rqlOwTecuKzR5AfB/dGoozAl+nbwxdMFr5iZpOX/4nj6Sx5khK7H8cIW1VZKcl3heZ53r/DztUoie3rfbLSPKAcN0idwbjEDWcyma95mT5IdI1x/GqkkLs3Qy5tE0GDxPozerjtQTbObNK5GIO6SKiCSb43wrUqSqkvR4/NC7q3OMeslmEUNQcP6vIxFnKWf9dkB27eOQUDXsiAGtmKGTn7iF30zI3xQcY3mBdx80soc2/KRqzuuTltLCeUgQADFWqLDW0AEBZ6lrn/0ZtvGqCo=","ak.pv":"55","ak.dpoabenc":"","ak.tf":i};if(""!==t)o["ak.ruds"]=t;var r={i:!1,av:function(n){var t="http.initiator";if(n&&(!n[t]||"spa_hard"===n[t]))o["ak.feo"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(o)},rv:function(){var e=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:o,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e("before_beacon",r.av,null,null),e("onbeacon",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head><body><div id="__next"><style data-emotion-css="cvn8wj">.css-cvn8wj{font-family:Colfax,colfax-web,Proxima Nova,Open Sans,Gill Sans MT, Gill Sans,Corbel,Arial,sans-serif;background-color:#4a4a55;height:60px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:fixed;top:0;width:100%;z-index:99;}@media (min-width:768px){.css-cvn8wj{height:60px;}}</style><div class="css-cvn8wj"><style data-emotion-css="y9662z">.css-y9662z{background:#4a4a55;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}</style><div class="css-y9662z"><style data-emotion-css="qqcdow">.css-qqcdow{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:15px;margin:0 20px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:60px;}.css-qqcdow > a > svg{margin:0;display:block;height:24px;}</style><nav class="css-qqcdow"><style data-emotion-css="c2yzgf">.css-c2yzgf{color:white;-webkit-text-decoration:none;text-decoration:none;font-weight:500;white-space:nowrap;margin-left:8px;}.css-c2yzgf:hover{-webkit-text-decoration:none;text-decoration:none;color:white;}</style><a href="https://text.com/" class="css-c2yzgf"><style data-emotion-css="ofqsza">.css-ofqsza{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-items:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:0.8em;height:40px;}.css-ofqsza .logo{margin:0;font-size:2em;font-weight:500;-webkit-letter-spacing:-0.01em;-moz-letter-spacing:-0.01em;-ms-letter-spacing:-0.01em;letter-spacing:-0.01em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.css-ofqsza .adjacent{margin:0;font-size:1.8em;font-weight:500;line-height:34px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-letter-spacing:-0.5px;-moz-letter-spacing:-0.5px;-ms-letter-spacing:-0.5px;letter-spacing:-0.5px;}.css-ofqsza .carrier{font-weight:500;-webkit-animation-name:blink;animation-name:blink;-webkit-animation-duration:0.9s;animation-duration:0.9s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;}</style><header class="css-ofqsza"><span class="logo">text<span class="carrier">|</span></span></header></a><a href="/docs" class="css-c2yzgf">Platform Docs</a></nav><style data-emotion-css="16b59id">.css-16b59id{margin:0;padding:0;max-width:calc(100% - 60px);width:calc(100% - 60px);overflow-x:auto;overflow-y:hidden;display:none;margin-right:10px;margin-left:40px;}@media (min-width:1024px){.css-16b59id{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:32px;}}</style><div class="css-16b59id"><style data-emotion-css="11hjr56">.css-11hjr56{font-family:Colfax,colfax-web,Proxima Nova,Open Sans,Gill Sans MT, Gill Sans,Corbel,Arial,sans-serif;position:relative;display:inline-block;height:100%;color:#ffffff;font-weight:400;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.css-11hjr56:hover{cursor:default;}</style><div class="css-11hjr56">Platform<svg width="24" height="24" fill="#FFFFFF" class="rmi rmi-chevron-down undefined" viewBox="0 0 24 24"><path d="M7.41 8.58 12 13.17l4.59-4.59L18 10l-6 6-6-6 1.41-1.42z"></path></svg></div><div class="css-11hjr56">APIs & SDKs<svg width="24" height="24" fill="#FFFFFF" class="rmi rmi-chevron-down undefined" viewBox="0 0 24 24"><path d="M7.41 8.58 12 13.17l4.59-4.59L18 10l-6 6-6-6 1.41-1.42z"></path></svg></div><div class="css-11hjr56">Resources<svg width="24" height="24" fill="#FFFFFF" class="rmi rmi-chevron-down undefined" viewBox="0 0 24 24"><path d="M7.41 8.58 12 13.17l4.59-4.59L18 10l-6 6-6-6 1.41-1.42z"></path></svg></div></div><style data-emotion-css="1hppjzv">.css-1hppjzv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><div class="css-1hppjzv"><style data-emotion-css="7wgbw1">.css-7wgbw1{display:none;}@media (min-width:1024px){.css-7wgbw1{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:192px;margin-right:16px;}}</style><div class="DocSearch-Button-Desktop css-7wgbw1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div><style data-emotion-css="1i8rrts">.css-1i8rrts{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;}@media (min-width:1024px){.css-1i8rrts{display:none;}}</style><div class="DocSearch-Button-Mobile css-1i8rrts"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div><p>...</p><style data-emotion-css="pskeb7">@media (min-width:1024px){.css-pskeb7{display:none;}}</style><style data-emotion-css="19rp0xe">.css-19rp0xe{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:16px;cursor:pointer;}@media (min-width:1024px){.css-19rp0xe{display:none;}}@media (min-width:1024px){.css-19rp0xe{display:none;}}</style><svg width="32px" height="28px" fill="#ffffff" class="rmi rmi-menu css-19rp0xe" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"></path></svg></div></div></div><style data-emotion-css="ov1ktg">.css-ov1ktg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}</style><div class="css-ov1ktg"><style data-emotion-css="hpx2k5">.css-hpx2k5{border-right:1px solid #e2e2e4;height:50px;position:fixed;-webkit-transition:height 300ms;transition:height 300ms;display:block;bottom:0%;width:100%;opacity:1;z-index:10;box-shadow:0px 0px 8px rgba(0,0,0,0.25);background-color:white;}@media (min-width:768px){.css-hpx2k5{box-shadow:none;height:100vh;max-height:100vh;position:-webkit-sticky;position:sticky;top:60px;-webkit-transition:all 0s;transition:all 0s;width:260px;}}</style><aside class="css-hpx2k5"><style data-emotion-css="y8dejn">.css-y8dejn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:white;padding:10px 14px;cursor:pointer;}@media (min-width:768px){.css-y8dejn{display:none;}}</style><div class="css-y8dejn"><svg style="transform:rotate(270deg);transition:transform 300ms" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" fill="currentColor"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>Authorizing API calls</div><style data-emotion-css="v8mm6">.css-v8mm6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media (min-width:768px){.css-v8mm6{display:none;}}</style><div class="css-v8mm6"><style data-emotion-css="1pjh3pd">.css-1pjh3pd{width:100%;color:#62626D;}.css-1pjh3pd:hover{cursor:pointer;-webkit-text-decoration:none;text-decoration:none;background-color:#f6f6f7;}</style><a class="css-1pjh3pd"><style data-emotion-css="1yw2pv4">.css-1yw2pv4{padding:4px 14px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:16px;}</style><div class="css-1yw2pv4"><style data-emotion-css="5c7uuc">.css-5c7uuc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;}</style><div class="css-5c7uuc"><svg width="24" height="20px" fill="#62626D" class="rmi rmi-home undefined" viewBox="0 0 24 24"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8h5z"></path></svg></div>Home</div></a></div><style data-emotion-css="1ln71vl">.css-1ln71vl{overflow:scroll;height:calc(100% - 90px);}@media (min-width:768px){.css-1ln71vl{height:calc(100% - 60px);position:fixed;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;max-height:100vh;position:-webkit-sticky;position:-webkit-sticky;position:sticky;top:0;margin-top:8px;}}</style><div class="css-1ln71vl"><style data-emotion-css="1psvkz3">.css-1psvkz3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-right:10px;font-weight:500;font-size:16px;border-radius:0px 8px 8px 0px;}.css-1psvkz3:hover{background-color:#f6f6f7;}</style><div class="css-1psvkz3"><style data-emotion-css="19nl305">.css-19nl305{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#62626D;width:100%;}.css-19nl305:hover{color:#4284F5;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;}</style><a class="css-19nl305"><style data-emotion-css="2hhlpj">.css-2hhlpj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:6px 16px 6px 20px;margin-right:10px;font-weight:500;font-size:16px;border-radius:0px 8px 8px 0px;width:100%;}.css-2hhlpj:hover{background-color:#f6f6f7;}</style><div class="css-2hhlpj"><style data-emotion-css="oe3dsw">.css-oe3dsw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:8px;}</style><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Authorization Overview</div></a></div><style data-emotion-css="1gg9bms">.css-1gg9bms{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-right:10px;font-weight:600;font-size:16px;border-radius:0px 8px 8px 0px;}.css-1gg9bms:hover{background-color:#f6f6f7;}</style><div class="css-1gg9bms"><style data-emotion-css="17iyluq">.css-17iyluq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#4284F5;width:100%;}.css-17iyluq:hover{color:#4284F5;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;}</style><a class="css-17iyluq"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Authorizing API calls</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Agent Authorization</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Customer Authorization</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Scopes</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Sign in with LiveChat</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Authorization in practice</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Authorization FAQ</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Global Accounts</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Global Accounts API</div></a></div><div class="css-1psvkz3"><a class="css-19nl305"><div class="css-2hhlpj"><div class="css-oe3dsw"><svg fill="#424D57" width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink"><path d="M1.5,0.5 C0.675,0.5 0.0075,1.175 0.0075,2 L0,14 C0,14.825 0.6675,15.5 1.4925,15.5 L10.5,15.5 C11.325,15.5 12,14.825 12,14 L12,5 L7.5,0.5 L1.5,0.5 Z M6.75,5.75 L6.75,1.625 L10.875,5.75 L6.75,5.75 Z" fill-rule="nonzero" fill="currentColor"></path></svg></div>Customer Accounts API</div></a></div></div></aside><style data-emotion-css="1g06r20">.css-1g06r20{padding-bottom:30vh;position:relative;width:100%;}@media (min-width:768px){.css-1g06r20{width:calc(100% - 258px);max-width:900px;}}</style><div class="css-1g06r20"><style data-emotion-css="c8i9h7">.css-c8i9h7{margin-top:120px;padding:0px 30px;}@media (min-width:768px){.css-c8i9h7{padding:0px 60px;}}.css-c8i9h7.redoc{margin-top:60px;display:block;}</style><article class=" css-c8i9h7"><style data-emotion-css="1lyzzun">.css-1lyzzun{margin:3em 0 1em;padding:2em 0 1em;}</style><div class="css-1lyzzun"><style data-emotion-css="12qxxrf">.css-12qxxrf{margin:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-weight:500;text-rendering:optimizeLegibility;font-size:2.25rem;line-height:1.1;-webkit-letter-spacing:-0.02em;-moz-letter-spacing:-0.02em;-ms-letter-spacing:-0.02em;letter-spacing:-0.02em;}@media (min-width:768px){.css-12qxxrf{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}</style><h2 id="authorizing-api-calls" class="css-12qxxrf"><span>Authorizing API calls</span><style data-emotion-css="1g0dr3m">.css-1g0dr3m{margin-top:8px;}.css-1g0dr3m > label{margin:0 0 5px 0;}.css-1g0dr3m label + div{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;}</style></h2></div><style data-emotion-css="1679d3t">.css-1679d3t{border-bottom:1px solid #e0e4e9;padding-bottom:0.5em;}</style><h2 class="heading css-1679d3t"><style data-emotion-css="180507a">.css-180507a{color:inherit;-webkit-text-decoration:none;text-decoration:none;position:relative;}.css-180507a:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none;}.css-180507a:hover:before{content:"#";position:absolute;font-weight:300;left:-1em;top:1px;opacity:0.3;}.css-180507a:focus-visible{outline-width:0px;}</style><a id="introduction" href="#introduction" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#introduction"><span class="icon icon-link"></span></a>Introduction</a></h2><p>LiveChat uses <a href="https://oauth.net/2/">OAuth 2.1</a> protocol for <strong>authentication</strong> and <strong>authorization</strong> for all of its services. Before you continue, make sure you understand the difference between them.</p><ul><li><strong>Authentication</strong> is making sure that somebody really is who they say they are. <br/><em>E.g.: Checking your passport at the security check is authentication.</em></li><li><strong>Authorization</strong> is assigning rules about who is allowed to do what. <br/><em>E.g.: Allowing you to take first class seat is authorization.</em></li></ul><p>In terms of LiveChat apps, authentication is when you check the user credentials to see if they are signed in. Authorization is when you look up whether you allow them to do something.</p><p>Throughout the document, we'll also use the terms <strong>public</strong> and <strong>private</strong> apps:</p><ul><li><strong>public apps</strong> are available to all LiveChat customers, who can install it from the <a target="_blank" rel="noopener noreferrer" href="https://www.livechat.com/marketplace/">LiveChat Marketplace</a> or <a target="_blank" href="https://www.helpdesk.com/marketplace/">HelpDesk Marketplace</a>.</li><li><strong>private apps</strong> are only available within a LiveChat license that created the app. They're a way to go if you want to build an internal app for your chat Agents only. Unlike public apps, private apps don't ask users for an access grant.</li></ul><h3 class="heading"><a id="use-cases" href="#use-cases" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#use-cases"><span class="icon icon-link"></span></a>Use cases</a></h3><p>Decide which authorization flow to choose based on your use case.</p><style data-emotion-css="q76ucn">.css-q76ucn{width:100%;overflow-x:auto;}</style><div class="css-q76ucn"><table><thead><tr><th>Use case</th><th>Recommended flow</th></tr></thead><tbody><tr><td><strong>Sending requests to LiveChat API</strong></td><td><a href="/docs/authorization/agent-authorization#personal-access-tokens">Personal Access Tokens</a> is the fastest way, but all other flows are also possible.</td></tr><tr><td><strong>Testing an app during development</strong></td><td><a href="/docs/authorization/sign-in-with-livechat">Sign in with LiveChat</a> is the fastest, but all other flows are also possible.</td></tr><tr><td><strong>Building public web apps</strong></td><td><a href="/docs/authorization/sign-in-with-livechat">Sign in with LiveChat</a>, <a href="/docs/authorization/agent-authorization#implicit-grant">Implicit grant</a></td></tr><tr><td><strong>Building private web apps</strong></td><td><a href="/docs/authorization/sign-in-with-livechat">Sign in with LiveChat</a>, <a href="/docs/authorization/agent-authorization#implicit-grant">Implicit grant</a></td></tr><tr><td><strong>Building public server-side apps</strong></td><td><a href="/docs/authorization/sign-in-with-livechat">Sign in with LiveChat</a>, <a href="/docs/authorization/agent-authorization#authorization-code-grant">Authorization code grant</a></td></tr><tr><td><strong>Building private server-side apps</strong></td><td><a href="/docs/authorization/agent-authorization#personal-access-tokens">Personal Access Tokens</a> for the personal use of the app, <a href="/docs/authorization/sign-in-with-livechat">Sign in with LiveChat</a> or <a href="/docs/authorization/agent-authorization#authorization-code-grant">Authorization code grant</a> for all agents within a license</td></tr></tbody></table></div><p>Read more about <a href="/docs/getting-started/livechat-apps#creating-livechat-apps">creating LiveChat apps</a> or go straight to <a target="_blank" rel="noopener noreferrer" href="https://platform.text.com/console/">Developer Console</a> and start building.</p><h3 class="heading"><a id="postman-collection" href="#postman-collection" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#postman-collection"><span class="icon icon-link"></span></a>Postman collection</a></h3><p>You can find all the requests from the Agent and Customer authorization flows in Postman. Remember to replace sample parameters with your own.</p><p><a href="https://god.gw.postman.com/run-collection/20754404-ab4b398a-f906-4431-a17c-2f6673f0b8e8?action=collection%2Ffork&collection-url=entityId%3D20754404-ab4b398a-f906-4431-a17c-2f6673f0b8e8%26entityType%3Dcollection%26workspaceId%3D5e6fb31b-587b-4258-b215-4dccaae38a38"><div style="max-width:123px"><style data-emotion-css="v3memn">.css-v3memn{display:block;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box;margin-top:0;margin-left:0;margin-right:0;margin-bottom:10px;}</style><div class="css-v3memn"><style data-emotion-css="sa8835">.css-sa8835{box-sizing:border-box;display:block;max-width:100%;padding-top:calc(30 / 123 * 100%);}</style><div class="css-sa8835"><style data-emotion-css="5r33xa">.css-5r33xa{position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;}</style><img alt="Run in Postman" src="https://run.pstmn.io/button.svg" decoding="async" class="css-5r33xa"/></div></div></div></a></p><h2 class="heading css-1679d3t"><a id="agent-authorization-flows" href="#agent-authorization-flows" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#agent-authorization-flows"><span class="icon icon-link"></span></a>Agent authorization flows</a></h2><p>To find details about authorizing calls to the <a href="/docs/messaging/agent-chat-api">Agent Chat API</a> and the <a href="/docs/management/configuration-api">Configuration API</a>, please see <a href="/docs/authorization/agent-authorization">Agent Authorization</a>.</p><h2 class="heading css-1679d3t"><a id="customer-authorization-flows" href="#customer-authorization-flows" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#customer-authorization-flows"><span class="icon icon-link"></span></a>Customer authorization flows</a></h2><p>To find details about authorizing calls to the <a href="/docs/messaging/customer-chat-api">Customer Chat API</a>, please see <a href="/docs/authorization/customer-authorization">Customer Authorization</a>.</p><h2 class="heading css-1679d3t"><a id="token-limitations" href="#token-limitations" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#token-limitations"><span class="icon icon-link"></span></a>Token limitations</a></h2><ul><li><p>There's a limit of 25 access tokens per client per user account. When the limit is reached, the oldest token is automatically revoked.</p></li><li><p>There's a limit of 25 refresh tokens per client per user account. When the limit is reached, the oldest token is automaticaly revoked.</p></li><li><p>There's a limit of 3 redirects in 30 seconds to the Livechat OAuth 2.1 server per client per user account. When the limit is reached, the server redirects to the error page with the <code>too_many_redirects</code> error details.</p></li></ul><h2 class="heading css-1679d3t"><a id="redirect-uri-rules" href="#redirect-uri-rules" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#redirect-uri-rules"><span class="icon icon-link"></span></a>Redirect URI rules</a></h2><p>You can configure many comma-separated redirect URIs for your application. The redirect URI in the Authorization request is valid when it matches one of the URIs configured for your app (client) in Developer Console.</p><p>URIs are composed of several parts:</p><ul><li><strong>scheme</strong> (<code>http://</code>, <code>https://</code>) - is required and must match exactly. See examples <strong>10</strong> and <strong>11</strong> in the table below.</li><li><strong>host</strong> (<code>google.pl</code>, <code>localhost:3000</code>, ...) - a hostname or IP and an optional port; is required and must match exactly. See examples <strong>7</strong>, <strong>8</strong>, and <strong>9</strong> in the table below.</li><li><strong>path</strong> (<code>/info</code>, <code>/test</code>, ...) - the client redirect URI path must be a substring of the authorization request redirect path; path traversals are forbidden. Optional. See examples <strong>2</strong>, <strong>3</strong>, <strong>4</strong>, <strong>5</strong>, and <strong>6</strong> in the table below.</li><li><strong>query</strong> (<code>?size=20</code>, ...) - is forbidden.</li><li><strong>fragment</strong> (<code>#paragraph</code>) - is forbidden.</li></ul><h3 class="heading"><a id="examples" href="#examples" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#examples"><span class="icon icon-link"></span></a>Examples</a></h3><div class="css-q76ucn"><table><thead><tr><th></th><th>client redirect configuration</th><th>authorization redirect URI</th><th>is valid</th></tr></thead><tbody><tr><td>1</td><td><a href="http://livechat.com">http://livechat.com</a></td><td><a href="http://livechat.com">http://livechat.com</a></td><td>yes</td></tr><tr><td>2</td><td><a href="http://livechat.com">http://livechat.com</a></td><td><a href="http://livechat.com/archives">http://livechat.com/archives</a></td><td>yes</td></tr><tr><td>3</td><td><a href="http://livechat.com">http://livechat.com</a></td><td><a href="http://livechat.com/archives/../">http://livechat.com/archives/../</a></td><td>no</td></tr><tr><td>4</td><td><a href="http://livechat.com/archives">http://livechat.com/archives</a></td><td><a href="http://livechat.com">http://livechat.com</a></td><td>no</td></tr><tr><td>5</td><td><a href="http://livechat.com/archives">http://livechat.com/archives</a></td><td><a href="http://livechat.com/archives">http://livechat.com/archives</a></td><td>yes</td></tr><tr><td>6</td><td><a href="http://livechat.com/archives">http://livechat.com/archives</a></td><td><a href="http://livechat.com/archives/chats">http://livechat.com/archives/chats</a></td><td>yes</td></tr><tr><td>7</td><td><a href="http://localhost:3000">http://localhost:3000</a></td><td><a href="http://localhost:3000">http://localhost:3000</a></td><td>yes</td></tr><tr><td>8</td><td><a href="http://127.0.0.1:3000">http://127.0.0.1:3000</a></td><td><a href="http://127.0.0.1:3000">http://127.0.0.1:3000</a></td><td>yes</td></tr><tr><td>9</td><td><a href="http://localhost:3000">http://localhost:3000</a></td><td><a href="http://localhost:4000">http://localhost:4000</a></td><td>no</td></tr><tr><td>10</td><td><a href="https://livechat.com">https://livechat.com</a></td><td><a href="http://livechat.com">http://livechat.com</a></td><td>no</td></tr><tr><td>11</td><td><a href="http://livechat.com">http://livechat.com</a></td><td><a href="https://livechat.com">https://livechat.com</a></td><td>no</td></tr></tbody></table></div><h2 class="heading css-1679d3t"><a id="errors" href="#errors" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#errors"><span class="icon icon-link"></span></a>Errors</a></h2><p>All authorization errors redirect to the error page <code>https://accounts.livechat.com/ooops</code>, while authentication errors redirect to the login page <code>https://accounts.livechat.com/</code>.</p><p>Errors codes are returned in the query strings, in form of the <code>oauth_exception</code> parameter (for authorization errors) or <code>identity_exception</code> param (for authentication errors). Additional <code>exception_details</code> may be passed with detailed information.</p><p>If you're looking for answers, see <a href="/docs/authorization/faq">Authorization FAQ</a>.</p><h3 class="heading"><a id="authorization-errors" href="#authorization-errors" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#authorization-errors"><span class="icon icon-link"></span></a>Authorization errors</a></h3><h5 class="heading"><a id="invalid_request" href="#invalid_request" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#invalid_request"><span class="icon icon-link"></span></a><code>invalid_request</code></a></h5><p>The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Possible reasons:</p><ul><li>wrong HTTP method</li><li>invalid HTTP body encoding</li></ul><h5 class="heading"><a id="unauthorized_client" href="#unauthorized_client" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#unauthorized_client"><span class="icon icon-link"></span></a><code>unauthorized_client</code></a></h5><p>The client is not authorized to request a token using this method. Possible reasons:</p><ul><li>missing client ID</li><li>client ID not found</li><li>refresh token not found</li><li>invalid client secret</li><li>invalid redirect URI</li></ul><h5 class="heading"><a id="access_denied" href="#access_denied" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#access_denied"><span class="icon icon-link"></span></a><code>access_denied</code></a></h5><p>The resource owner or authorization server denied the request. Possible reasons:</p><ul><li>the requested scopes include a scope that wasn't originally granted by the resource owner</li></ul><p>Not helpful? See <style data-emotion-css="kbi7q3">.css-kbi7q3{-webkit-text-decoration:none;text-decoration:none;}.css-kbi7q3 svg{vertical-align:middle;margin-left:2px;margin-right:4px;color:#4284F5;}.css-kbi7q3 code{color:#4284F5;}.css-kbi7q3:hover,.css-kbi7q3:active{-webkit-text-decoration:none;text-decoration:none;}.css-kbi7q3:hover code,.css-kbi7q3:active code{color:#4284F5;-webkit-text-decoration:underline;text-decoration:underline;}</style><a href="/docs/authorization/authorizing-api-calls#access_denied-1" class="css-kbi7q3"><code>access_denied</code></a> in <strong>Authentication</strong> errors.</p><h5 class="heading"><a id="unsupported_response_type" href="#unsupported_response_type" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#unsupported_response_type"><span class="icon icon-link"></span></a><code>unsupported_response_type</code></a></h5><p>The authorization server does not support obtaining a token using this method. Possible reasons:</p><ul><li>response type is not <code>code</code> or <code>token</code></li></ul><h5 class="heading"><a id="invalid_scope" href="#invalid_scope" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#invalid_scope"><span class="icon icon-link"></span></a><code>invalid_scope</code></a></h5><p>The requested scope is invalid, insufficient, unknown or malformed. Possible reasons:</p><ul><li>scope not found</li><li>scope name not found</li><li>an app requires the <code>administrator</code> scopes, but instead, an <code>agent</code> user was logged in</li></ul><h5 class="heading"><a id="server_error" href="#server_error" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#server_error"><span class="icon icon-link"></span></a><code>server_error</code></a></h5><p>The authorization server encountered an unexpected condition that prevented it from fulfilling the request. Possible reasons:</p><ul><li>server down</li><li>server storage down</li></ul><p>Not helpful? See <a href="/docs/authorization/authorizing-api-calls#server_error-1" class="css-kbi7q3"><code>server_error</code></a> in <strong>Authentication</strong> errors.</p><h5 class="heading"><a id="temporarily_unavailable" href="#temporarily_unavailable" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#temporarily_unavailable"><span class="icon icon-link"></span></a><code>temporarily_unavailable</code></a></h5><p>The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. Currently not used.</p><h5 class="heading"><a id="unsupported_grant_type" href="#unsupported_grant_type" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#unsupported_grant_type"><span class="icon icon-link"></span></a><code>unsupported_grant_type</code></a></h5><p>The authorization grant type is not supported by the authorization server.</p><ul><li>using disabled authorization grant type, for example client credentials grant; <a target="_blank" rel="noopener noreferrer" href="https://tools.ietf.org/html/rfc6749#section-4.4">read more...</a></li></ul><h5 class="heading"><a id="invalid_grant" href="#invalid_grant" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#invalid_grant"><span class="icon icon-link"></span></a><code>invalid_grant</code></a></h5><p>The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client. Possible reasons:</p><ul><li>refresh token expired</li><li>access token expired</li></ul><h5 class="heading"><a id="invalid_client" href="#invalid_client" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#invalid_client"><span class="icon icon-link"></span></a><code>invalid_client</code></a></h5><p>Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method). Possible reasons:</p><ul><li>using refresh token with wrong client id</li></ul><h5 class="heading"><a id="missing_grant" href="#missing_grant" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#missing_grant"><span class="icon icon-link"></span></a><code>missing_grant</code></a></h5><p>The client is missing granted rights. Possible reasons:</p><ul><li>grants were rejected</li><li>grants were never given</li><li>client changed required grants</li></ul><h4 class="heading"><a id="exception-details" href="#exception-details" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#exception-details"><span class="icon icon-link"></span></a>Exception details</a></h4><p><code>client_id_not_found</code> - wrong client ID, client id does not exists</p><p><code>redirect_uri_not_set</code> - client misconfiguration, the client has not set a redirect URI</p><p><code>invalid_redirect_uri</code> - redirect URI is not one of the client's allowed redirects</p><p><code>too_many_redirects</code> - the server has detected a redirect loop; the client shouldn't redirect too many times</p><h3 class="heading"><a id="authentication-errors" href="#authentication-errors" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#authentication-errors"><span class="icon icon-link"></span></a>Authentication errors</a></h3><h5 class="heading"><a id="invalid_request-1" href="#invalid_request-1" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#invalid_request-1"><span class="icon icon-link"></span></a><code>invalid_request</code></a></h5><p>The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.</p><p>Not helpful? See <a href="/docs/authorization/authorizing-api-calls#invalid_request" class="css-kbi7q3"><code>invalid_request</code></a> in <strong>Authorization</strong> errors.</p><h5 class="heading"><a id="unauthorized" href="#unauthorized" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#unauthorized"><span class="icon icon-link"></span></a><code>unauthorized</code></a></h5><p>The request is valid, but identity data is wrong or identity does not exists. If identity id is known, it's added to querystring as <code>entity_id</code>.</p><h5 class="heading"><a id="server_error-1" href="#server_error-1" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#server_error-1"><span class="icon icon-link"></span></a><code>server_error</code></a></h5><p>The server encountered an unexpected condition that prevented it from determining identity.</p><p>Not helpful? See <a href="/docs/authorization/authorizing-api-calls#server_error" class="css-kbi7q3"><code>server_error</code></a> in <strong>Authorization</strong> errors.</p><h5 class="heading"><a id="access_denied-1" href="#access_denied-1" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#access_denied-1"><span class="icon icon-link"></span></a><code>access_denied</code></a></h5><p>The identity is known, but access is denied because of business reasons. For example, identity can be banned or have the wrong account version, etc.</p><p>Not helpful? See <a href="/docs/authorization/authorizing-api-calls#access_denied" class="css-kbi7q3"><code>access_denied</code></a> in <strong>Authorization</strong> errors.</p><h5 class="heading"><a id="identity_lost" href="#identity_lost" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#identity_lost"><span class="icon icon-link"></span></a><code>identity_lost</code></a></h5><p>The identity was removed due logout, password reset, remote logout, etc.</p><h5 class="heading"><a id="credentials_login_disabled" href="#credentials_login_disabled" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#credentials_login_disabled"><span class="icon icon-link"></span></a><code>credentials_login_disabled</code></a></h5><p>Identity has disabled credentials login strategy. Identity should be verified with other stategies like Google Oauth or SAML.</p><h2 class="heading css-1679d3t"><a id="contact-us" href="#contact-us" class="reference css-180507a"><a href="/docs/authorization/authorizing-api-calls#contact-us"><span class="icon icon-link"></span></a>Contact us</a></h2><p>If you have questions, see <a href="/docs/authorization/faq">Authorization FAQ</a> or contact us at <strong><a href="mailto:developers@text.com">developers@text.com</a></strong>.</p><style data-emotion-css="1fsewzh">.css-1fsewzh{margin-top:50px;}.css-1fsewzh > label{margin:0 0 5px 0;}.css-1fsewzh label + div{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}</style></article></div><p>...</p></div><style data-emotion-css="1mpu5jj">.css-1mpu5jj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;background-color:#f6f6f7;color:#424d57;min-height:248px;margin-bottom:45px;}@media (min-width:768px){.css-1mpu5jj{margin-bottom:0px;}}</style><div class="css-1mpu5jj"><style data-emotion-css="dtzkur">.css-dtzkur{width:100%;padding:20px;}@media (min-width:768px){.css-dtzkur{margin-top:75px;padding:0;width:160px;}}</style><div class="css-dtzkur"><style data-emotion-css="r8rj3w">.css-r8rj3w{font-weight:600;font-size:16px;line-height:24px;color:#424d57;}</style><div class="css-r8rj3w">Join the community</div><style data-emotion-css="1ws0nkq">.css-1ws0nkq{font-weight:400;font-size:12px;line-height:20px;color:#424d57;}</style><div class="css-1ws0nkq">Get in direct contact with us through Discord.</div><style data-emotion-css="652pjx">.css-652pjx:hover{-webkit-text-decoration:none;text-decoration:none;}</style><a href="https://discord.gg/MGFyhbdFxt" target="_blank" rel="noopener noreferrer" class="css-652pjx"><style data-emotion-css="y77wuh">.css-y77wuh{margin-top:5px;}</style><button class="lc-btn lc-btn--secondary lc-btn--compact css-y77wuh" type="button"><i class="lc-btn__icon lc-btn__icon-left"><svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_613_10386)"><path d="M16.9308 1.63294C15.6561 1.04804 14.2892 0.617109 12.8599 0.370298C12.8339 0.365535 12.8079 0.377439 12.7945 0.401247C12.6187 0.713926 12.4239 1.12184 12.2876 1.44246C10.7503 1.21232 9.22099 1.21232 7.71527 1.44246C7.57887 1.11471 7.37707 0.713926 7.20048 0.401247C7.18707 0.378233 7.16107 0.366329 7.13504 0.370298C5.70659 0.616321 4.33963 1.04725 3.06411 1.63294C3.05307 1.6377 3.04361 1.64564 3.03732 1.65595C0.444493 5.52959 -0.265792 9.30801 0.0826501 13.0396C0.0842267 13.0578 0.0944749 13.0753 0.108665 13.0864C1.81934 14.3427 3.47642 15.1054 5.10273 15.6109C5.12876 15.6188 5.15634 15.6093 5.1729 15.5879C5.55761 15.0625 5.90054 14.5086 6.19456 13.926C6.21192 13.8919 6.19535 13.8514 6.15989 13.838C5.61594 13.6316 5.098 13.38 4.59977 13.0943C4.56037 13.0713 4.55721 13.015 4.59347 12.988C4.69831 12.9094 4.80318 12.8277 4.9033 12.7451C4.92141 12.7301 4.94665 12.7269 4.96794 12.7364C8.24107 14.2308 11.7846 14.2308 15.0191 12.7364C15.0404 12.7261 15.0657 12.7293 15.0846 12.7443C15.1847 12.8269 15.2895 12.9094 15.3952 12.988C15.4314 13.015 15.4291 13.0713 15.3897 13.0943C14.8914 13.3856 14.3735 13.6316 13.8288 13.8372C13.7933 13.8507 13.7775 13.8919 13.7949 13.926C14.0952 14.5078 14.4381 15.0617 14.8157 15.5871C14.8315 15.6093 14.8599 15.6188 14.8859 15.6109C16.5201 15.1054 18.1772 14.3427 19.8879 13.0864C19.9028 13.0753 19.9123 13.0586 19.9139 13.0404C20.3309 8.72626 19.2154 4.97883 16.9568 1.65674C16.9513 1.64564 16.9419 1.6377 16.9308 1.63294ZM6.68335 10.7674C5.69792 10.7674 4.88594 9.86274 4.88594 8.75167C4.88594 7.6406 5.68217 6.7359 6.68335 6.7359C7.69239 6.7359 8.49651 7.64855 8.48073 8.75167C8.48073 9.86274 7.68451 10.7674 6.68335 10.7674ZM13.329 10.7674C12.3435 10.7674 11.5316 9.86274 11.5316 8.75167C11.5316 7.6406 12.3278 6.7359 13.329 6.7359C14.338 6.7359 15.1421 7.64855 15.1264 8.75167C15.1264 9.86274 14.338 10.7674 13.329 10.7674Z" fill="#424D57"></path></g><defs><clipPath id="clip0_613_10386"><rect width="20" height="15.493" fill="white" transform="translate(0 0.25354)"></rect></clipPath></defs></svg></i><div>Discord</div></button></a></div><div class="css-dtzkur"><div class="css-r8rj3w">Follow us</div><div class="css-1ws0nkq">Follow our insightful tweets and interact with our content.</div><a href="https://twitter.com/TextPlatform" target="_blank" rel="noopener noreferrer" class="css-652pjx"><button class="lc-btn lc-btn--secondary lc-btn--compact css-y77wuh" type="button"><i class="lc-btn__icon lc-btn__icon-left"><svg width="24" height="24" class="rmi rmi-twitter undefined" viewBox="0 0 24 24"><path d="M22.46 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07 4.28 4.28 0 0 0 4 2.98 8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21 16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"></path></svg></i><div>Twitter</div></button></a></div><div class="css-dtzkur"><div class="css-r8rj3w">Contribute</div><div class="css-1ws0nkq">See something that's wrong or unclear? Submit a pull request.</div><a href="https://github.com/livechat/livechat-public-docs" target="_blank" rel="noopener noreferrer" class="css-652pjx"><button class="lc-btn lc-btn--secondary lc-btn--compact css-y77wuh" type="button"><i class="lc-btn__icon lc-btn__icon-left"><svg width="24" height="24" class="rmi rmi-github undefined" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2z"></path></svg></i><div>GitHub</div></button></a></div><div class="css-dtzkur"><div class="css-r8rj3w">Contact us</div><div class="css-1ws0nkq">Want to share feedback? Reach us at:<!-- --> <a href="mailto:developers@text.com">developers@text.com</a></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/authorization/authorizing-api-calls","query":{},"buildId":"mT926s0W5VyhfFaApGsyO","assetPrefix":"/docs","runtimeConfig":{},"nextExport":true,"autoExport":true,"isFallback":false}</script><script nomodule="" src="/docs/_next/static/chunks/polyfills-c2dc1d9251306528e50c.js"></script><script src="/docs/_next/static/chunks/webpack-af19fbe32e13fc779465.js" async=""></script><script src="/docs/_next/static/chunks/framework.57a22ac5870571c2eff5.js" async=""></script><script src="/docs/_next/static/chunks/commons.0889bf71124535c6c4cd.js" async=""></script><script src="/docs/_next/static/chunks/main-7bb61c4f8d40f1e634e9.js" async=""></script><script src="/docs/_next/static/chunks/pages/_app-cdbe91fdfdbd305577ef.js" async=""></script><script src="/docs/_next/static/chunks/f66b9295.f9eceaafe4216b86326e.js" async=""></script><script src="/docs/_next/static/chunks/b31dc3a52fd33fe1943f491eae223576a0413e10.ac30430b2138b8fefed8.js" async=""></script><script src="/docs/_next/static/chunks/067aff065064306958fa97cea949633bebf95d70.dede6f8249fbb82aff52.js" async=""></script><script src="/docs/_next/static/chunks/pages/authorization/authorizing-api-calls-b8f35fb213c1d45ff890.js" async=""></script><script src="/docs/_next/static/mT926s0W5VyhfFaApGsyO/_buildManifest.js" async=""></script><script src="/docs/_next/static/mT926s0W5VyhfFaApGsyO/_ssgManifest.js" async=""></script></body></html>