PageSourceSearch

https://razorpay.com/docs/api

html razorpay.com collected 2026-09-24 08:23:52 UTC 602,423 bytes, 2,049 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark" data-banner-state="visible" data-assistant-state="closed" data-page-mode="none" data-current-path="/"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/mintlify-assets/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/mintlify-assets/_next/static/media/PaperMono_Variable.p.aa32f7a0.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/mintlify-assets/_next/static/media/f67ad414ed34149c.p.84166d94.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&amp;auto=format&amp;n=puuu1wI-BbW3rsp2&amp;q=85&amp;s=e0750375ee2004193a685f9f211963fe"/><link rel="preload" as="image" href="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max&amp;auto=format&amp;n=puuu1wI-BbW3rsp2&amp;q=85&amp;s=038b180f26d19ddb4eb40ede0cf84821"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" data-precedence="next"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" data-precedence="next"/><style data-precedence="base-ui:low" data-href="base-ui-disable-scrollbar">.base-ui-disable-scrollbar{scrollbar-width:none}.base-ui-disable-scrollbar::-webkit-scrollbar{display:none}</style><link rel="preload" as="script" fetchPriority="low" href="/mintlify-assets/_next/static/chunks/7d632cf627c34201.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR"/>
1<script src="/mintlify-assets/_next/static/chunks/44795504c795ca32.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/5e020dcccea45cea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/b730549587248be7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/ae30506c64db83e1.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/turbopack-1a021e735a084e1a.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/882c403128dfd005.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/550e3e57c0b4e025.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/35d40e4844fd9a08.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<script src="/mintlify-assets/_next/static/chunks/62a5f408cd23c089.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" async=""></script>
1<title>API Reference Guide - Razorpay</title><meta name="description" content="Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes."/><meta name="application-name" content="Razorpay"/><meta name="generator" content="Mintlify"/><meta name="msapplication-config" content="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/browserconfig.xml"/><meta name="apple-mobile-web-app-title" content="Razorpay"/><meta name="msapplication-TileColor" content="#3395FF"/><link rel="canonical" href="https://razorpay.com/docs/api"/><link rel="alternate" type="application/xml" href="/sitemap.xml"/><link rel="alternate" type="text/markdown" href="/docs/api.md"/><meta property="og:title" content="API Reference Guide - Razorpay"/><meta property="og:description" content="Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes."/><meta property="og:url" content="https://razorpay.com/docs/api"/><meta property="og:site_name" content="Razorpay"/><meta property="og:image" content="https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909&amp;w=1200&amp;q=100"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="API Reference Guide - Razorpay"/><meta name="twitter:description" content="Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes."/><meta name="twitter:image" content="https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909&amp;w=1200&amp;q=100"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: light)"/><link rel="apple-touch-icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/apple-touch-icon.png" type="image/png" sizes="180x180"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: light)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link rel="shortcut icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: light)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link rel="shortcut icon" href="/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: dark)"/><link rel="preload" href="https://d4tuoctqmanu0.cloudfront.net/katex.min.css" as="style"/>
1<script type="text/javascript">!function(){var b="";
2function a(p){if(p==null)return"/";p=""+p;if(""===p)return"/";return"/"===p.charAt(0)?p:"/"+p}
3function u(p){if(p==null)return p;p=""+p;if(!p||p.charAt(p.length-1)==="/")return p.slice(0,-1);return p}
4function i(p){if(p==null)return p;p=""+p;if(6<=p.length&&p.substring(p.length-6)==="/index")return p.substring(0,p.length-6);if("index"===p)return"";return p}
5var p=(location.pathname||"").split("?")[0].split("#")[0]||"";
6if(b)if(p===b)p="";else if(0===p.indexOf(b+"/"))p=p.substring(b.length);
7p=a(p);p=u(p);p=i(p);p=""===p||"index"===p?"/":a(p);
8document.documentElement.setAttribute("data-current-path",p);
9}();</script>
9<script type="text/javascript">(() => {
10  const isIOS =
11    /iP(hone|ad|od)/.test(navigator.userAgent) ||
12    (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints > 1);
13  if (!isIOS) return;
14  const apply = () => {
15    for (const meta of document.querySelectorAll('meta[name="viewport"]')) {
16      const content = meta.getAttribute('content') || '';
17      if (!content.includes('maximum-scale')) {
18        meta.setAttribute('content', content + ', maximum-scale=1');
19      }
20    }
21  };
22  apply();
23  new MutationObserver(apply).observe(document.head, {
24    childList: true,
25    subtree: true,
26    attributes: true,
27    attributeFilter: ['content'],
28  });
29})();</script>
29<script type="text/javascript">!function(){
30function read(){try{
31var e=performance.getEntriesByType?performance.getEntriesByType("navigation"):[];
32var st=(e[0]&&e[0].serverTiming)||[];
33var g={};
34for(var i=0;i<st.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}
35if(n==="country")g.country=d;else if(n==="region")g.region=d;else if(n==="continent")g.continent=d;}
36var w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;
37}catch(x){}}
38read();document.addEventListener("DOMContentLoaded",read);
39}();</script>
39<script type="text/javascript">!function(){try{
40var w=window;w.mintlify=w.mintlify||{};
41var q=w.mintlify.__apiPlaygroundInputsQueue;
42if(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;}
43w.mintlify.api=w.mintlify.api||{};
44w.mintlify.api.playground=w.mintlify.api.playground||{};
45if(typeof w.mintlify.api.playground.setServerVariables!=="function"){
46w.mintlify.api.playground.setServerVariables=function(v){q.push({type:"set",variables:v});};
47}
48if(typeof w.mintlify.api.playground.clearServerVariables!=="function"){
49w.mintlify.api.playground.clearServerVariables=function(){q.push({type:"clear"});};
50}
51}catch(e){}}();</script>
51<script type="text/javascript">(function(a,b){try{let c=document.getElementById("banner")?.innerText;if(c){for(let d=0;d<localStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)&&localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible");return}for(let c=0;c<localStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)&&localStorage.getItem(d))return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible")}catch(a){document.documentElement.setAttribute(b,"hidden")}})(
52  "bannerDismissed",
53  "data-banner-state",
54)</script>
54<script src="/mintlify-assets/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" noModule=""></script>
54</head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div>
54<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","isDarkMode","system",null,["dark","light","true","false","system"],{"true":"dark","false":"light","dark":"dark","light":"light"},true,false)</script>
54<script>(function(){try{var f=null;var v=f||localStorage.getItem("isDarkMode");if(v==='true')v='dark';else if(v==='false')v='light';if(v!=='light'&&v!=='dark'&&v!=='system')v="system";document.documentElement.setAttribute("data-theme-preference",v)}catch(e){}})();</script>
54<blockquote class="sr-only" data-agent-docs-index="true" aria-hidden="true"><h2>Documentation Index</h2><p>Fetch the complete documentation index at:<!-- --> <a href="/llms.txt" tabindex="-1">/llms.txt</a></p><p>Use this file to discover all available pages before exploring further.</p></blockquote><style>:root{--banner-height:0px!important}</style>
54<script id="_mintlify-banner-script">(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split("/").filter(a=>""!==a&&"global"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=>c.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push("global"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,"hidden");let k=!0,l=0;for(;l<localStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b&&b===f){k=!1;break}g&&(a.startsWith(`lang:${g}_`)||!a.startsWith("lang:"))&&(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?"visible":"hidden")}catch(a){console.error(a),document.documentElement.setAttribute(d,"hidden")}})(
55  {},
56  "en",
57  [],
58  "data-banner-state",
59  "bannerDismissed",
60)</script>
60<style>:root {
61    --primary: 51 149 255;
62    --primary-light: 102 178 255;
63    --primary-dark: 11 98 196;
64    --tooltip-foreground: 255 255 255;
65    --background-light: 255 255 255;
66    --background-dark: 11 12 16;
67    --gray-50: 244 247 250;
68    --gray-100: 239 242 245;
69    --gray-200: 224 227 230;
70    --gray-300: 207 210 213;
71    --gray-400: 160 163 166;
72    --gray-500: 113 116 119;
73    --gray-600: 81 84 87;
74    --gray-700: 64 67 70;
75    --gray-800: 38 41 45;
76    --gray-900: 24 27 30;
77    --gray-950: 11 14 17;
78  }</style>
78<script type="text/javascript">
79          (function() {
80            function loadKatex() {
81              const link = document.querySelector('link[href="https://d4tuoctqmanu0.cloudfront.net/katex.min.css"]');
82              if (link) link.rel = 'stylesheet';
83            }
84            if (document.readyState === 'loading') {
85              document.addEventListener('DOMContentLoaded', loadKatex);
86            } else {
87              loadKatex();
88            }
89          })();
90        </script>
90<div class="relative antialiased text-gray-500 dark:text-gray-400">
90<script id="_mintlify-navbar-transition-script">(function(a){let b,c=(b="navbar-transition","maple"===a&&(b+="-maple"),b);function d(){let a=!1;a=window.scrollY>50;let b=document.getElementById(c);b&&b.hasAttribute("data-is-opaque")&&b.setAttribute("data-is-opaque",`${!!a}`)}let e=function(){let a=document.createElement("style"),b=`#${c}`;return a.appendChild(document.createTextNode(`${b},${b} *,${b} *::before,${b} *::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(a),function(){window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(a)},1)}}();function f(){window.removeEventListener("scroll",d),document.removeEventListener("DOMContentLoaded",d),d(),e()}window.addEventListener("scroll",d,{passive:!0}),document.addEventListener("DOMContentLoaded",d),("requestAnimationFrame"in globalThis?requestAnimationFrame:setTimeout)(d),"complete"===document.readyState?f():window.addEventListener("load",f,{once:!0})})("mint")</script>
90<script id="_mintlify-scroll-margin-script">(function () {
91  var measure = function(){let a=document.querySelectorAll("[id='navbar'], [data-top-chrome]"),b=0;a.forEach(a=>{let c=a.getBoundingClientRect();c.height>0&&(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById("content-container");if(d){let{overflowY:a}=getComputedStyle(d);("auto"===a||"scroll"===a)&&(c=Math.max(0,d.getBoundingClientRect().top))}let e=`${Math.round(Math.max(0,b-c))+40}px`,f=document.documentElement.style;f.getPropertyValue("--scroll-mt")!==e&&f.setProperty("--scroll-mt",e)};
92  (function(a){let b=[],c=0,d="undefined"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll("[id='navbar'], [data-top-chrome]"));(c.length!==b.length||c.some((a,c)=>a!==b[c]))&&d&&(d.disconnect(),c.forEach(a=>d.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=>{c=0,e()}))}let g="[id='navbar'], [data-top-chrome]";function h(a){let b=a.target;if(b instanceof Element&&b.closest(g))return!0;for(let b of a.addedNodes)if(b instanceof Element&&(b.matches(g)||b.querySelector(g)))return!0;for(let b of a.removedNodes)if(b instanceof Element&&(b.matches(g)||b.querySelector(g)))return!0;return!1}new MutationObserver(a=>{a.some(h)&&f()}).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener("resize",f),"loading"===document.readyState&&document.addEventListener("DOMContentLoaded",e),e()})(measure);
93  (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){return"smooth"===getComputedStyle(document.documentElement).scrollBehavior}function d(c){let d=document.getElementById(b);return!!d&&(a(),d.scrollIntoView(c?{behavior:c}:void 0),!0)}if("complete"===document.readyState)return void d();let e=new MutationObserver(()=>{!c()&&d("instant")&&f()});function f(){e.disconnect(),window.removeEventListener("load",g)}function g(){let a=c();f(),a&&requestAnimationFrame(()=>{d(),function(){let a=["wheel","touchstart","keydown","pointerdown"],c=0,e=window.scrollY,f=setInterval(()=>{c+=1;let a=document.getElementById(b);if(!a||c>=6)return g();let f=Math.abs(window.scrollY-e)>1;if(e=window.scrollY,f)return;let h=parseFloat(getComputedStyle(a).scrollMarginTop)||0;Math.abs(a.getBoundingClientRect().top-h)>4&&d()},350);function g(){clearInterval(f),a.forEach(a=>window.removeEventListener(a,g))}a.forEach(a=>window.addEventListener(a,g,{passive:!0}))}()})}window.addEventListener("load",g),e.observe(document.documentElement,{childList:!0,subtree:!0}),!c()&&d("instant")&&f()})(measure);
94})();</script>
94<a href="#content-area" class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-50 focus:p-2 focus:text-sm focus:bg-background-light dark:focus:bg-background-dark focus:rounded-md focus:outline-primary dark:focus:outline-primary-light">Skip to main content</a>
94<script>(function e(a,b,c,d,e){try{let f=window.matchMedia("(max-width: 1024px)").matches;if(e){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed");return}if(f||!d){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed"),d||localStorage.setItem(a,"false");return}let g=localStorage.getItem(a);if(null===g){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed");return}let h=JSON.parse(g),i=localStorage.getItem(b),j=null!==i?JSON.parse(i):368;document.documentElement.style.setProperty(c,h?j+"px":"0px"),document.documentElement.setAttribute("data-assistant-state",h?"open":"closed")}catch(a){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed")}})(
95    "chat-assistant-sheet-open",
96    "chat-assistant-sheet-width",
97    "--assistant-sheet-width",
98    true,
99    false
100  )</script>
100<div class="max-lg:contents lg:flex lg:w-full" data-docs-theme="mint" data-assistant-layout="legacy"><div class="max-lg:contents lg:flex-1 lg:min-w-0 lg:overflow-x-clip"><header id="navbar" class="z-30 fixed lg:sticky top-0 w-full peer is-not-custom peer is-not-center peer is-not-wide peer is-not-frame"><div id="navbar-transition" class="absolute w-full h-full flex-none transition-colors duration-500 border-b border-gray-500/5 dark:border-gray-300/[0.06] bg-background-light dark:bg-background-dark" data-is-opaque="false"></div><div class="max-w-8xl mx-auto relative"><div><div class="relative"><div class="flex items-center lg:px-12 h-16 min-w-0 mx-4 lg:mx-0"><div class="h-full relative flex-1 flex items-center gap-x-4 min-w-0 border-b border-gray-500/5 dark:border-gray-300/[0.06]"><div class="flex-1 flex items-center gap-x-4"><a class="select-none" style="-webkit-touch-callout:none" href="https://razorpay.com/docs/"><span class="sr-only">Razorpay<!-- --> home page</span><img class="nav-logo w-auto h-7 relative object-contain shrink-0 block dark:hidden" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&amp;auto=format&amp;n=puuu1wI-BbW3rsp2&amp;q=85&amp;s=e0750375ee2004193a685f9f211963fe" alt="light logo"/><img class="nav-logo w-auto h-7 relative object-contain shrink-0 hidden dark:block" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max&amp;auto=format&amp;n=puuu1wI-BbW3rsp2&amp;q=85&amp;s=038b180f26d19ddb4eb40ede0cf84821" alt="dark logo"/></a><div class="hidden lg:flex items-center gap-x-2"><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_3b2lpbsnlhjiuqsnpfiutb_" data-component-part="version-select-trigger" class="group disabled:pointer-events-none [&amp;&gt;span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 group-hover:text-gray-950/70 dark:group-hover:text-white/70 py-1.5 px-2.5 rounded-xl hover:bg-gray-600/5! dark:hover:bg-gray-200/5! aria-[expanded=true]:bg-gray-600/5 dark:aria-[expanded=true]:bg-gray-200/5 text-sm font-medium text-gray-900 h-8 focus-visible:outline-primary dark:focus-visible:outline-primary-light dark:text-gray-300 group/trigger flex items-center gap-2 whitespace-nowrap"><span class="truncate max-w-[12.5rem]">India</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90 group-aria-[expanded=true]/trigger:rotate-[270deg] ml-auto"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div><div class="relative hidden lg:flex items-center flex-1 z-20 gap-2.5"><button type="button" class="group/search flex pointer-events-auto rounded-xl w-full items-center text-sm leading-6 h-9 pl-3.5 pr-3 text-gray-500 dark:text-white/50 bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/30 hover:ring-gray-600/30 dark:ring-gray-600/30 dark:hover:ring-gray-500/30 justify-between truncate gap-2" id="search-bar-entry" aria-label="Open search"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 min-w-4 flex-none text-gray-700 group-hover/search:text-gray-800 dark:text-gray-400 dark:group-hover/search:text-gray-200"><path d="M15.25 15.25L11.285 11.285" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M7.75 12.75C10.5114 12.75 12.75 10.5114 12.75 7.75C12.75 4.98858 10.5114 2.75 7.75 2.75C4.98858 2.75 2.75 4.98858 2.75 7.75C2.75 10.5114 4.98858 12.75 7.75 12.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><div class="truncate min-w-0">Search...</div></div><span class="flex-none text-xs font-semibold">⌘<!-- -->K</span></button><button type="button" class="group/ai flex-none hidden lg:flex items-center justify-center gap-1.5 pl-3 pr-3.5 h-9 rounded-xl bg-background-light dark:bg-background-dark dark:brightness-[1.1] dark:ring-1 dark:hover:brightness-[1.25] ring-1 ring-gray-400/30 hover:ring-gray-600/30 dark:ring-gray-600/30 dark:hover:ring-gray-500/30" id="assistant-entry" aria-label="Toggle assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 shrink-0 text-gray-700 group-hover/ai:text-gray-800 dark:text-gray-400 dark:group-hover/ai:text-gray-200"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="text-sm text-gray-500 dark:text-white/50 whitespace-nowrap">Ask Assistant</span><span class="flex-none text-xs font-semibold">⌘<!-- -->I</span></button></div><div class="flex-1 relative hidden lg:flex items-center ml-auto justify-end space-x-4"><nav aria-label="Main" class="text-sm"><ul class="flex space-x-6 items-center"><li class="navbar-link"><a href="https://razorpay.com/support/" class="flex items-center gap-1.5 whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank" rel="noopener noreferrer"><span class="min-w-0 truncate">Support</span></a></li><li class="navbar-link"><a href="https://razorpay.com/blog/" class="flex items-center gap-1.5 whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" target="_blank" rel="noopener noreferrer"><span class="min-w-0 truncate">Blog</span></a></li><li class="block lg:hidden"><a class="flex items-center gap-1.5 whitespace-nowrap font-medium text-gray-600 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" href="https://dashboard.razorpay.com/"><span class="min-w-0 truncate">Dashboard</span></a></li><li class="whitespace-nowrap hidden lg:flex" id="topbar-cta-button"><a target="_blank" rel="noopener noreferrer" class="group pl-3 pr-2 py-2 relative inline-flex items-center text-sm font-medium" href="https://dashboard.razorpay.com/"><span class="absolute inset-0 bg-primary-dark rounded-xl group-hover:opacity-[0.9]"></span><div class="z-10 gap-1 flex items-center"><span class="text-white">Dashboard</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0 text-white/90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></li></ul></nav><div class="flex items-center"><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="theme-preference-menu-trigger" aria-label="Change theme preference" data-component-name="theme-preference-menu" data-component-part="theme-preference-menu-trigger" data-testid="theme-preference-menu-trigger" class="group disabled:pointer-events-none rounded-lg overflow-hidden gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 theme-preference-menu-trigger group p-2 flex items-center justify-center"><span data-theme-preference-icon="system"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-200"><path d="M4.5 15.5L9 14.5L13.5 15.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 11.75V14.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.25 2.75H3.75C2.64543 2.75 1.75 3.64543 1.75 4.75V9.75C1.75 10.8546 2.64543 11.75 3.75 11.75H14.25C15.3546 11.75 16.25 10.8546 16.25 9.75V4.75C16.25 3.64543 15.3546 2.75 14.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span><span data-theme-preference-icon="light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-200"><path d="M9 1.25V2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 3.52002L13.773 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M16.75 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path>
100<path d="M14.48 14.4799L13.773 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 16.75V15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 14.4799L4.227 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M1.25 9H2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 3.52002L4.227 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 13.25C11.3472 13.25 13.25 11.3472 13.25 9C13.25 6.65279 11.3472 4.75 9 4.75C6.65279 4.75 4.75 6.65279 4.75 9C4.75 11.3472 6.65279 13.25 9 13.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span><span data-theme-preference-icon="dark"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-200"><path d="M13 11.75C9.548 11.75 6.75 8.95201 6.75 5.50001C6.75 4.14801 7.183 2.90101 7.912 1.87801C4.548 2.50601 2 5.45301 2 9.00001C2 13.004 5.246 16.25 9.25 16.25C12.622 16.25 15.448 13.944 16.259 10.826C15.309 11.409 14.196 11.75 13 11.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span></button></div></div><div class="flex lg:hidden items-center gap-3"><button type="button" class="text-gray-500 w-8 h-8 flex items-center justify-center hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300" id="search-bar-entry-mobile" aria-label="Open search"><span class="sr-only">Search...</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></button><button id="assistant-entry-mobile" aria-label="Toggle assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4.5 text-gray-500 dark:text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button><button type="button" aria-label="More actions" class="h-7 w-5 flex items-center justify-center relative after:content-[&#x27;&#x27;] after:absolute after:-inset-y-2 after:-left-1 after:-right-4"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! size-4 shrink-0 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></button></div></div></div><button type="button" class="flex items-center h-14 py-4 px-5 lg:hidden focu
100s:outline-0 w-full text-left"><div class="text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300"><span class="sr-only">Navigation</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M2.25 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 3.75H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 14.25H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="ml-4 flex text-sm leading-6 whitespace-nowrap min-w-0 space-x-3 overflow-hidden"><div class="flex items-center space-x-3 shrink-0"><span>Introduction</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 text-gray-400 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="font-semibold text-gray-900 truncate dark:text-gray-200 min-w-0 flex-1">API Reference Guide</div></div></button></div><div class="hidden lg:flex px-12 h-12"><div class="nav-tabs h-full flex text-sm gap-x-6"><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/home"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/house.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/house.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Home<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/payments"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/credit-card.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/credit-card.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Payments<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/engage"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bullhorn.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/bullhorn.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Engage<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/pos"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cash-register.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/cash-register.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>POS<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/x"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/building-columns.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/building-columns.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Banking Plus<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/payroll"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/money-check-dollar.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/money-check-dollar.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Payroll<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/partners"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/handshake.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/handshake.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Partners<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium hover:text-gray-800 dark:hover:text-gray-300 text-gray-800 dark:text-gray-200 [text-shadow:-0.2px_0_0_currentColor,0.2px_0_0_currentColor]" data-active="true" aria-current="location" href="/docs/api"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/code.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>API Reference<div class="absolute bottom-0 h-[1.5px] w-full left-0 bg-primary dark:bg-primary-light"></div></a><a class="link nav-tabs-item group relative h-full gap-2 flex items-center font-medium text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-300" href="/docs/developer-tools"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! h-4 w-4 bg-current" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/screwdriver-wrench.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/screwdriver-wrench.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg>Developer Tools<div class="absolute bottom-0 h-[1.5px] w-full left-0 group-hover:bg-gray-200 dark:group-hover:bg-gray-700"></div></a></div></div><style>:root{--topbar-tabs-height:3rem}</style></div></div></header>
100<div class="scroll-mt-(--scroll-mt) peer-[.is-custom]:max-w-none peer-[.is-center]:max-w-3xl peer-[.is-not-custom]:peer-[.is-not-center]:max-w-8xl peer-[.is-not-custom]:px-4 peer-[.is-not-custom]:mx-auto peer-[.is-not-custom]:lg:px-8 peer-[.is-wide]:lg:*:last:max-w-216 peer-[.is-not-custom]:peer-[.is-not-center]:lg:flex peer-[.is-custom]:[&amp;&gt;:first-child]:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:sm:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:md:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:lg:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:xl:hidden! peer-[.is-center]:[&amp;&gt;:first-child]:hidden! peer-[.is-center]:[&amp;&gt;:first-child]:sm:hidden! peer-[.is-center]:[&amp;&gt;:first-child]:md:hidden! peer-[.is-center]:[&amp;&gt;:first-child]:lg:hidden! peer-[.is-center]:[&amp;&gt;:first-child]:xl:hidden!"><nav aria-label="Pages" class="z-20 hidden lg:block sticky self-start shrink-0 w-[18rem] top-[calc(var(--mintlify-slot-header-height,calc(4rem+var(--topbar-tabs-height,0rem)))+var(--banner-height,0px))] h-[calc(100dvh-var(--mintlify-slot-header-height,calc(4rem+var(--topbar-tabs-height,0rem)))-var(--banner-height,0px))]" id="sidebar"><div role="presentation" style="position:relative;--scroll-area-corner-height:0px;--scroll-area-corner-width:0px" data-component-part="scroll-area" id="sidebar-content" class="min-w-0 absolute! inset-0 z-10"><div role="presentation" data-id="base-ui-_R_2tbsnlhjiuqsnpfiutb_-viewport" tabindex="-1" class="size-full rounded-[inherit] [--scroll-area-fade-size:32px] pr-8 pb-10 base-ui-disable-scrollbar" style="overflow:scroll" data-component-part="scroll-area-viewport"><div role="presentation" style="min-width:fit-content" data-component-part="scroll-area-content" class="min-w-0! w-full"><div class="relative lg:text-sm lg:leading-6"><div class="sticky top-0 h-8 pointer-events-none z-10 bg-linear-to-b from-background-light dark:from-background-dark"></div><div id="navigation-items"><ul class="sidebar-group space-y-px"><li data-title="Introduction" data-group-tag="" data-active="true" data-active-nav-item="true" id="/docs/api" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] bg-primary/10 text-primary [text-shadow:-0.2px_0_0_currentColor,0.2px_0_0_currentColor] dark:text-primary-light dark:bg-primary-light/10" style="padding-left:1rem" aria-expanded="true" aria-controls="_R_hdratbsnlhjiuqsnpfiutb_"><div class=""><span>Introduction</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform group-hover:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5 text-primary dark:text-primary-light duration-75 rotate-90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button><ul id="_R_hdratbsnlhjiuqsnpfiutb_" class="space-y-px"><li id="/docs/api/changelog" class="relative scroll-m-4 first:scroll-m-20" data-title="API Changelog"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/changelog"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">API Changelog</span></div></div></a></li><li id="/docs/api/understand" class="relative scroll-m-4 first:scroll-m-20" data-title="Understand Razorpay APIs"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/understand"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Understand Razorpay APIs</span></div></div></a></li><li id="/docs/api/authentication" class="relative scroll-m-4 first:scroll-m
100-20" data-title="Authentication"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/authentication"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Authentication</span></div></div></a></li><li id="/docs/api/sandbox-setup" class="relative scroll-m-4 first:scroll-m-20" data-title="Sandbox Setup"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/sandbox-setup"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Sandbox Setup</span></div></div></a></li><li id="/docs/api/install-cli" class="relative scroll-m-4 first:scroll-m-20" data-title="Install CLI"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/install-cli"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Install CLI</span></div></div></a></li><li id="/docs/api/best-practices" class="relative scroll-m-4 first:scroll-m-20" data-title="Best Practices"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/best-practices"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Best Practices</span></div></div></a></li><li id="/docs/api/glossary" class="relative scroll-m-4 first:scroll-m-20" data-title="Glossary"><a class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1.75rem" href="/docs/api/glossary"><div class="flex-1 flex min-w-0 items-start gap-x-2.5"><div class="flex min-w-0 flex-1 flex-wrap items-center gap-1.5 [word-break:break-word]"><span class="min-w-0 max-w-full break-words hyphens-auto">Glossary</span></div></div></a></li></ul></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Payments" data-group-tag="" id="/docs/api/payments" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/payments" aria-expanded="false"><div class=""><span>Payments</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Bills" data-group-tag="" id="/docs/api/bills" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/bills" aria-expanded="false"><div class=""><span>Bills</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Partners" data-group-tag="" id="/docs/api/partners" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 break-words hyphens-auto rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/partners" aria-expanded="false"><div class=""><span>Partners</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Payout APIs" data-group-tag="" id="/docs/api/x" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/x" aria-expanded="false"><div class=""><span>Payout APIs</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Recurring Payments API" data-group-tag="" id="/docs/api/payments/recurring-payments" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/payments/recurring-payments" aria-expanded="false"><div class=""><span>Recurring Payments API</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul><ul class="sidebar-group mt-6 lg:mt-8 space-y-px"><li data-title="Recurring Payments API - Custom Integration" data-group-tag="" id="/docs/api/payments/recurring-payments/custom" class="space-y-px"><button class="group flex items-start pr-3 py-1.5 cursor-pointer gap-x-3 text-left focus-visible:-outline-offset-2 rounded-xl w-full outline-offset-[-1px] hover:bg-gray-600/5 dark:hover:bg-gray-200/5 text-gray-700 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-300" style="padding-left:1rem" data-nav-href="/docs/api/payments/recurring-payments/custom" aria-expanded="false"><div class=""><span>Recurring Payments API - Custom Integration</span></div><div class="h-[1lh] flex items-center shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 w-2 h-[1lh] -mr-0.5"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></li></ul>
100<script>(function () {
101  try {
102    if (window.__mintlifyInitialSidebarScrollDone) return;
103    window.__mintlifyInitialSidebarScrollDone = true;
104
105    var path = (window.location.pathname || '/').split('#')[0].split('?')[0];
106    if (path.endsWith('/index')) path = path.slice(0, -6);
107    else if (path === 'index') path = '';
108
109    var candidates = [];
110    if (path) candidates.push(path);
111    if (path.startsWith('/')) candidates.push(path.slice(1));
112    else candidates.push('/' + path);
113
114    var item = null;
115    for (var i = 0; i < candidates.length && !item; i++) {
116      var matches = document.querySelectorAll('[id="' + candidates[i].replace(/"/g, '\\"') + '"]');
117      for (var j = 0; j < matches.length; j++) {
118        if (matches[j].closest('#sidebar, #sidebar-content')) {
119          item = matches[j];
120          break;
121        }
122      }
123    }
124    if (!item) return;
125
126    var parent = item.closest('[data-component-part="scroll-area-viewport"]');
127    if (!parent) {
128      parent = item.parentElement;
129      while (parent) {
130        var style = getComputedStyle(parent);
131        if (style.overflowY === 'auto' || style.overflowY === 'scroll') break;
132        parent = parent.parentElement;
133      }
134    }
135    if (!parent) return;
136
137    var parentRect = parent.getBoundingClientRect();
138    var itemRect = item.getBoundingClientRect();
139    if (itemRect.top >= parentRect.top && itemRect.bottom <= parentRect.bottom) return;
140
141    var itemTopRelative = itemRect.top - parentRect.top + parent.scrollTop;
142    parent.scrollTop = itemTopRelative - parentRect.height / 2 + itemRect.height / 2;
143  } catch (e) {}
144})();</script>
144</div></div></div></div></div></nav><main id="content-container" class="lg:flex-1 lg:min-w-0">
144<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://razorpay.com/#organization","name":"Razorpay","url":"https://razorpay.com","logo":{"@type":"ImageObject","url":"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&auto=format&n=puuu1wI-BbW3rsp2&q=85&s=e0750375ee2004193a685f9f211963fe"}},{"@type":"WebSite","@id":"https://razorpay.com#website","name":"Razorpay","url":"https://razorpay.com","publisher":{"@id":"https://razorpay.com/#organization"}},{"@type":"WebPage","@id":"https://razorpay.com/docs/api#webpage","url":"https://razorpay.com/docs/api","name":"API Reference Guide","description":"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.","dateModified":"2026-08-31T07:20:59.252Z","isPartOf":{"@id":"https://razorpay.com#website"},"breadcrumb":{"@id":"https://razorpay.com/docs/api#breadcrumb"}},{"@type":"BreadcrumbList","@id":"https://razorpay.com/docs/api#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Razorpay","item":"https://razorpay.com"},{"@type":"ListItem","position":2,"name":"API Reference Guide","item":"https://razorpay.com/docs/api"}]},{"@type":["Article","TechArticle"],"@id":"https://razorpay.com/docs/api#article","headline":"API Reference Guide","name":"API Reference Guide","description":"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.","url":"https://razorpay.com/docs/api","mainEntityOfPage":{"@id":"https://razorpay.com/docs/api#webpage"},"dateModified":"2026-08-31T07:20:59.252Z","publisher":{"@id":"https://razorpay.com/#organization"},"isPartOf":{"@id":"https://razorpay.com#website"}}]}</script>
144<script>document.documentElement.setAttribute('data-page-mode', "none");</script>
144<span class="fixed inset-0 bg-background-light dark:bg-background-dark -z-10 pointer-events-none" id="background-color"></span><style data-custom-css-index="0" data-custom-css-path="style.css">/* Sidebar: gap between top-level groups.
145
146   Mintlify puts `mt-6 lg:mt-8` on each top-level group, so the collapsed group
147   headers sit 24px apart on mobile and 32px apart from 1024px up. With 30-plus
148   groups in Payments that is a lot of dead space. Change the one value below to
149   retune it; 1rem reads as grouped without the rows running together, 0.75rem
150   is about as tight as it goes before the section boundaries stop being legible.
151
152   Only elements that already carry the group margin are matched, so bare
153   top-level pages (which have no margin) are left alone. */
154#navbar ul.sidebar-group.mt-6,
155ul.sidebar-group.mt-6 {
156  margin-top: 1rem;
157}
158
159[data-component-part="callout-content"] > [data-as="p"]:first-child > strong,
160[data-component-part="callout-content"] > [data-as="p"]:first-child strong,
161[data-component-part="callout-content"] > strong:first-child {
162  font-size: 1.125rem !important;    /* ~18px, well above the 14px body */
163  font-weight: 700 !important;
164  line-height: 1.4 !important;
165}
166
167/* Error-code card titles (Errors section): monospace pill/badge */
168.error-code-cards [data-component-part="card-title"] {
169  display: inline-block !important;
170  font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas,
171    "Liberation Mono", monospace !important;
172  font-size: 0.875rem !important;
173  font-weight: 600 !important;
174  line-height: 1.3 !important;
175  padding: 0.25rem 0.75rem !important;
176  border-radius: 9999px !important;
177  background: rgba(107, 114, 128, 0.10) !important;
178  border: 1px solid rgba(107, 114, 128, 0.25) !important;
179}
180
181.dark .error-code-cards [data-component-part="card-title"] {
182  background: rgba(255, 255, 255, 0.06) !important;
183  border-color: rgba(255, 255, 255, 0.15) !important;
184}
185
186/* Inline HTTP method tokens colored like the sidebar API badges
187   (tagged by http-method-colors.js) */
188[data-http-method] {
189  font-weight: 700 !important;
190  border-color: transparent !important;
191}
192
193[data-http-method="get"]    { color: #15803d !important; background: rgba(74, 222, 128, 0.2) !important; }
194[data-http-method="post"]   { color: #1d4ed8 !important; background: rgba(96, 165, 250, 0.2) !important; }
195[data-http-method="put"]    { color: #a16207 !important; background: rgba(250, 204, 21, 0.2) !important; }
196[data-http-method="patch"]  { color: #c2410c !important; background: rgba(251, 146, 60, 0.2) !important; }
197[data-http-method="delete"] { color: #b91c1c !important; background: rgba(248, 113, 113, 0.2) !important; }
198
199.dark [data-http-method="get"]    { color: #4ade80 !important; }
200.dark [data-http-method="post"]   { color: #60a5fa !important; }
201.dark [data-http-method="put"]    { color: #facc15 !important; }
202.dark [data-http-method="patch"]  { color: #fb923c !important; }
203.dark [data-http-method="delete"] { color: #f87171 !important; }
204
205ul.sidebar-group.mt-6 {
206    margin-top: 5px;
207}
208/* Two-axis code sample selector (snippets/codeselector.jsx) -----------------
209
210   Mintlify gives RequestExample/ResponseExample a panel that is a grid of
211   equal rows, so the request and response boxes share the height and both stay
212   on screen. A <Panel> is instead one `overflow-y-auto` box, so two stacked
213   selectors put the response one ~980px down and the reader never finds it.
214   The rule below restores the native behaviour: split the panel between the
215   selectors and let each one scroll its own code.
216
217   The box itself mirrors Mintlify's `.code-group` chrome — same 16px radius,
218   same 10% border, same surface in each theme — so the header row reads as
219   part of the code block, exactly like the tab strip on every other API
220   page. */
221
222/* Scoped to the sticky sidebar copy on purpose. Mintlify renders <Panel>
223   content twice — once in the sidebar, once inline in the content column for
224   mobile — and hides the inline one with `display: none` from xl up. An
225   unscoped `display: grid` here overrides that and shows the samples twice. */
226.sticky .panel:has(> .rzp-code-selector) {
227  display: grid;
228  grid-auto-rows: minmax(0, 1fr);
229  gap: 1.5rem;
230  overflow: hidden;
231}
232
233/* The childless RequestExample/ResponseExample that suppress Mintlify's
234   generated samples still get their own container in the sticky column, and it
235   claims 288px of a 568px column even though it renders nothing. Reclaim it so
236   the selectors get the whole height, as they do on a native API page. */
237.sticky:has(> .panel > .rzp-code-selector) > div:not(.panel) {
238  display: none;
239}
240
241.rzp-code-selector {
242  position: relative;
243  display: flex;
244  flex-direction: column;
245  min-height: 0;
246  overflow: hidden;
247  padding: 0.125rem;
248  border: 1px solid rgba(3, 7, 18, 0.1);
249  border-radius: 1rem;
250  background: rgb(244, 247, 250);
251}
252
253.dark .rzp-code-selector {
254  border-color: rgba(255, 255, 255, 0.1);
255  background: rgba(255, 255, 255, 0.05);
256}
257
258/* Header row. Sits on the code-group surface and carries the two dropdowns;
259   `padding-right` leaves room for the copy/assistant buttons that are moved
260   into this row below. */
261.rzp-code-selector-bar {
262  display: flex;
263  align-items: center;
264  justify-content: space-between;
265  gap: 0.5rem;
266  flex: none;
267  /* wrap rather than squeeze: a long status label on a narrow panel takes a
268     second line instead of being cut short */
269  flex-wrap: wrap;
270  padding: 0.25rem 4.25rem 0.375rem 0.5rem;
271}
272
273.rzp-code-selector-field {
274  position: relative;
275  display: inline-flex;
276  align-items: center;
277  flex: 0 0 auto;
278}
279
280/* `min-width: max-content` and no ellipsis on purpose. A <select> takes its
281   intrinsic width from its widest option with no slack, so at 12px "cURL"
282   lands in a 31px box needing 30px — and sub-pixel rounding was enough for
283   `text-overflow: ellipsis` to render "cU…" on a label that actually fits.
284
285   That no-slack sizing is also why `padding-right` is wider than the chevron
286   needs. `max-content` absorbs the padding, so the content box ends up exactly
287   as wide as the label and the only clearance the chevron gets is
288   `padding-right` minus its own 18px footprint. Chrome measures that intrinsic
289   width once, from the option text in whatever font is live at layout time,
290   and does not always redo it when a webfont swaps in — and "Bank Account" is
291   ~6.5px wider in Inter than in the fallback it may have been measured in. At
292   1.25rem that is more than the 5.6px of clearance, so the label crowds the
293   chevron on a first paint that loses the font race. 1.75rem keeps ~13.6px,
294   which covers the swap and still reads as a normal label-to-caret gap. */
295.rzp-code-selector-select {
296  appearance: none;
297  -webkit-appearance: none;
298  min-width: max-content;
299  padding: 0.125rem 1.75rem 0.125rem 0.375rem;
300  border: 0;
301  border-radius: 0.5rem;
302  background: transparent;
303  color: var(--color-gray-600, #4b5563);
304  font-size: 0.75rem;
305  font-weight: 500;
306  line-height: 1.5rem;
307  cursor: pointer;
308}
309
310.dark .rzp-code-selector-select {
311  color: var(--color-gray-300, #d1d5db);
312}
313
314.rzp-code-selector-select:hover {
315  background: rgba(3, 7, 18, 0.05);
316}
317
318.dark .rzp-code-selector-select:hover {
319  background: rgba(255, 255, 255, 0.08);
320}
321
322.rzp-code-selector-chevron {
323  position: absolute;
324  right: 0.25rem;
325  width: 0.875rem;
326  height: 0.875rem;
327  pointer-events: none;
328  opacity: 0.6;
329}
330
331/* The code block fills the rest of the box and scrolls inside it. Its own
332   margins and top corners go, so it meets the header row seamlessly. */
333/* The sample scrolls here, on our own element, rather than on Mintlify's code
334   block. A standalone code block sizes to its content and pins its viewport to
335   `overflow-y-hidden!` inside a Tailwind layer — and an important declaration
336   in a layer outranks an unlayered one, so that is not overridable from here
337   (not even inline). Scrolling the wrapper instead needs no override: the code
338   block keeps its natural height and this box clips and scrolls it. */
339.rzp-code-selector-body {
340  flex: 1 1 auto;
341  min-height: 0;
342  overflow-y: auto;
343  overscroll-behavior: contain;
344}
345
346.rzp-code-selector-body > .code-block {
347  margin: 0 !important;
348  min-width: 0;
349  border-radius: 0 0 0.875rem 0.875rem;
350  /* static so the copy buttons anchor to .rzp-code-selector and stay in the
351     header row instead of scrolling away with the code */
352  position: static !important;
353}
354
355.rzp-code-selector-body [data-component-part="code-block-root"] {
356  border-radius: 0 0 0.875rem 0.875rem;
357}
358
359/* Mintlify's own bottom fade anchors to the code block, which is
360   `position: static` above, so it would land at the bottom of the full sample
361   rather than the bottom of the box. Drop it and fade the box instead, so a
362   clipped sample still reads as having more below it, the way it does on a
363   native API page. */
364.rzp-code-selector-body .code-block-fade-overlay {
365  display: none;
366}
367
368.rzp-code-selector::after {
369  content: "";
370  position: absolute;
371  inset: auto 0 0;
372  height: 2rem;
373  border-radius: 0 0 0.875rem 0.875rem;
374  pointer-events: none;
375  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
376}
377
378.dark .rzp-code-selector::after {
379  background: linear-gradient(to bottom, rgba(11, 12, 14, 0), rgb(11, 12, 14));
380}
381
382/* Copy + "ask assistant" buttons, lifted into the header row. */
383.rzp-code-selector > .rzp-code-selector-body > .code-block > .absolute {
384  top: 0.5rem;
385  right: 0.75rem;
386}
387</style><style data-custom-css-index="1" data-custom-css-path="static/docs-home/hide-navbar-on-home.css">/* Hide the Mintlify top navbar on custom-mode pages (home, home-old, home-my, home-sg, home-us).
388   Loaded before the JSX snippet mounts, so there's no flash-of-navbar on refresh.
389   Mintlify sets data-page-mode="custom" on <html> via an inline script for these pages. */
390html[data-page-mode="custom"] header#navbar {
391  display: none !important;
392}
393
394/* Kill the mobile 120px top-padding wrapper Mintlify reserves for the (now-hidden) navbar */
395html[data-page-mode="custom"] .pt-\[120px\] {
396  padding-top: 0 !important;
397}
398</style><style data-custom-css-index="2" data-custom-css-path="static/docs-home/styles.css">/* =========================================================================
399   Razorpay Docs homepage — v41 "Ascii sky"
400   Handoff build: v41 only. Class names keep their rzpn- prefix so every rule
401   traces back to the prototype; rename at will.
402   ========================================================================= */
403
404:root {
405  --ink: #192839;
406  --ink-soft: #4b5563;
407  --ink-faint: #9ca3af;
408  --border: #e5e7eb;
409  --border-muted: rgba(67,75,81,0.12);
410  --accent: #305eff;
411  --accent-hover: #244bd6;
412  --accent-soft-bg: #eef2ff;
413  --teal: #0f6b63;
414  --teal-soft-bg: #e6f5f3;
415  --success-bg: #d9f5e0;
416  --success-ink: #1c7340;
417  --dark-bg: #002a29;
418  --dark-card-bg: rgba(255,255,255,0.04);
419  --dark-card-border: rgba(209,213,219,0.1);
420  --dark-icon-bg: #145252;
421  --radius-card: 12px;
422  --radius-pill: 8px;
423  --radius-btn: 6px;
424  --ease: cubic-bezier(0.22, 1, 0.36, 1);
425  --font-display: 'TASA Orbiter', 'Inter', system-ui, sans-serif;
426  --font-body: 'Inter', system-ui, sans-serif;
427  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
428}
429
430/* Mintlify injects every repo CSS file into EVERY page, and unlayered rules
431   beat Mintlify's layered Tailwind utilities regardless of specificity (a bare
432   `img { display: block }` forced both the light AND dark navbar logos visible
433   on all docs pages). So every reset here must stay scoped to the home page:
434   #rzpn-home for the page tree, html[data-page-mode="custom"] for html/body. */
435#rzpn-home, #rzpn-home * { box-sizing: border-box; }
436html[data-page-mode="custom"] { scroll-behavior: smooth; }
437html[data-page-mode="custom"], html[data-page-mode="custom"] body { margin: 0; padding: 0; }
438#rzpn-home {
439  font-family: var(--font-body);
440  color: var(--ink);
441  background: #fff;
442  -webkit-font-smoothing: antialiased;
443}
444#rzpn-home a { text-decoration: none; color: inherit; }
445#rzpn-home img { display: block; max-width: 100%; }
446#rzpn-home h1, #rzpn-home h2, #rzpn-home h3, #rzpn-home h4 { margin: 0; font-family: var(--font-display); }
447#rzpn-home p { margin: 0; }
448
449/* ==========================================================================
450   v41 — v40 with the photo swapped for a gradient sky + a generated ASCII
451   field. Structure, spacing and every component are v40's; only the backdrop
452   layer differs, so this block is a copy with the .rzpn-win rules rewritten.
453   ========================================================================== */
454
455/* The drift is written to :root, not to the page: the footer is a SIBLING of
456   #page-rzpn and is a window onto the same layer, so it has to read the same
457   value. Declared on the page too it would shadow the root value. */
458:root { --rzpn-par: 0px; }
459#page-rzpn {
460  --rzpn-pad: 64px;
461  --rzpn-max: 1440px;
462  background: #fff;
463}
464
465#page-rzpn .rzpn-wrap {
466  max-width: var(--rzpn-max);
467  margin: 0 auto;
468  padding: 0 var(--rzpn-pad);
469}
470
471/* --- The shared photo window -------------------------------------------
472   Every element that shows the grass photo uses this. `fixed` anchors the
473   background to the viewport, so separate windows scattered down the page
474   all sample one continuous image and stay registered to each other — the
475   same construction as the Figma Subtract shape, and the parallax itself.
476   Sized taller than the viewport so --rzpn-par has room to travel without
477   ever exposing an edge. */
478#page-rzpn .rzpn-win {
479  /* No photo: a sky gradient painted at a fixed viewport size. Fixed
480     attachment is still what registers the windows to each other — every one
481     samples the same 100vw x 1180px ramp, so the crops line up and the whole
482     page reads as one backdrop seen through holes, exactly as v40's photo did. */
483  /* Figma 1050:201408 — two stops, the first held until 22.856%, over a 368px
484     band on a #e8eefe page. */
485  background-image: linear-gradient(180deg, #5498f2 22.856%, #e8eefe 100%);
486  background-attachment: fixed;
487  background-repeat: no-repeat;
488  /* The artboard's band height, so the ramp is spent at the foot of the hero
489     and every window below it samples the flat tail. */
490  background-size: 100vw 368px;
491  background-position: center calc(0px + var(--rzpn-par));
492  background-color: #e8eefe;
493}
494
495/* Where the photo sits behind content rather than standing alone, Figma fades
496   it back so type stays legible. Sampling the frame, the card interiors read
497   ~rgb(131,153,122) against the photo's raw rgb(88,107,58) — a light veil over
498   a desaturated, slightly brightened blur. These values reproduce that. */
499#page-rzpn .rzpn-win--soft { position: relative; }
500#page-rzpn .rzpn-win--soft::before {
501  content: '';
502  position: absolute; inset: 0;
503  border-radius: inherit;
504  background: rgba(255,255,255,.22);
505  -webkit-backdrop-filter: blur(8px) saturate(.7) brightness(1.15);
506  backdrop-filter: blur(8px) saturate(.7) brightness(1.15);
507  pointer-events: none;
508}
509/* Without backdrop-filter the veil alone has to do the work. */
510@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
511  #page-rzpn .rzpn-win--soft::before { background: rgba(233,240,232,.55); }
512}
513
514@media (prefers-reduced-motion: reduce) {
515  #page-rzpn { --rzpn-par: 0px !important; }
516}
517
518/* iOS Safari ignores background-attachment: fixed, and small screens don't
519   have the height for the drift to read. Fall back to per-window crops.
520   Width breakpoints are .rzpn-lte-* classes on #rzpn-home, set from the
521   content column's width by home.jsx — Mintlify's assistant panel narrows
522   the column without a window resize, so @media (max-width) can't see it. */
523#rzpn-home.rzpn-lte-900 #page-rzpn .rzpn-win {
524  background-attachment: scroll;
525  background-size: 100% 368px;
526  background-position: center top;
527}
528@media (hover: none) and (pointer: coarse) {
529  #page-rzpn .rzpn-win {
530    background-attachment: scroll;
531    background-size: 100% 368px;
532    background-position: center top;
533  }
534}
535
536/* ---------------------------------------------------------------- nav --- */
537/* Sticks as a floating pill for the whole page, not just the hero. Fixed
538   rather than sticky because the artboard insets it 12px from the top and
539   50px from each side — it never spans the full width, so there is no edge
540   for `position: sticky` to sit flush against. */
541#page-rzpn .rzpn-nav-wrap {
542  position: fixed;
543  top: 12px; left: 0; right: 0;
544  z-index: 50;
545  /* Tracks the content gutter rather than its own 50px, so the bar's edges
546     line up with the sections (and with the hero headline) at every
547     breakpoint — --rzpn-pad is what .rzpn-wrap uses. */
548  padding: 0 var(--rzpn-pad);
549  pointer-events: none;
550}
551#page-rzpn .rzpn-nav {
552  pointer-events: auto;
553  white-space: nowrap;
554  /* 1440 - 2x64 = 1312, i.e. the same content box as .rzpn-wrap. */
555  max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2);
556  margin: 0 auto;
557  height: 58px;
558  display: flex;
559  align-items: center;
560  gap: 24px;
561  padding: 0 21px;
562  border-radius: 8px;
563  /* Figma 1157:90026 -- the pill is translucent (bg opacity .8) with a 4px
564     backdrop blur, so whatever scrolls behind it (the ribbon/ascii trail)
565     shows through softened rather than being fully hidden by a solid pill. */
566  background: rgba(255,255,255,.8);
567  transition: box-shadow .22s ease;
568  -webkit-backdrop-filter: blur(4px);
569  backdrop-filter: blur(4px);
570}
571/* Without backdrop-filter the 80% tint alone would show whatever's behind it
572   unblurred through the pill — fall back to solid instead. */
573@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
574  #page-rzpn .rzpn-nav { background: #fff; }
575}
576/* On the hero the photo separates the pill from the page; once it is over
577   white content it needs a shadow to stay distinct. */
578#page-rzpn.is-scrolled .rzpn-nav { box-shadow: 0 6px 24px rgba(5, 5, 5, .10); }
579#page-rzpn .rzpn-nav-logo { display: flex; align-items: center; gap: 8px; height: 32px; }
580#page-rzpn .rzpn-nav-logo img { display: block; height: 21px; width: auto; }
581#page-rzpn .rzpn-nav-logo-docs { height: 13px !important; }
582#page-rzpn .rzpn-nav-rule { width: 1px; height: 15px; background: #c8cdd0; }
583
584#page-rzpn .rzpn-nav-links { display: flex; align-items: center; gap: 18px; margin-left: 20px; }
585#page-rzpn .rzpn-nav-links a,
586#page-rzpn .rzpn-nav-meta a {
587  display: inline-flex; align-items: center; gap: 4px;
588  font-family: var(--font-body);
589  font-weight: 500; font-size: 12px; line-height: 17px;
590  letter-spacing: -0.156px; color: #050505; text-decoration: none;
591}
592#page-rzpn .rzpn-nav-links a:hover,
593#page-rzpn .rzpn-nav-meta a:hover { color: #1566f1; }
594
595#page-rzpn .rzpn-nav-right { display: flex; align-items: center; gap: 18px; margin-left: auto; }
596#page-rzpn .rzpn-nav-icobtn,
597#page-rzpn .rzpn-nav-assistant {
598  display: inline-flex; align-items: center; gap: 6px;
599  height: 36px; padding: 8px 12px;
600  border: 1px solid #c8cdd0; border-radius: 8px;
601  background: #fff; cursor: pointer;
602  font-family: var(--font-body);
603  font-weight: 500; font-size: 14px; line-height: 20px;
604  letter-spacing: -0.182px; color: #616d75;
605}
606#page-rzpn .rzpn-nav-icobtn { width: 36px; justify-content: center; padding: 8px; }
607#page-rzpn .rzpn-nav-assistant:hover,
608#page-rzpn .rzpn-nav-icobtn:hover { border-color: #9aa3a9; }
609#page-rzpn .rzpn-nav-prefs { position: relative; display: flex; align-items: center; gap: 16px; }
610#page-rzpn .rzpn-nav-flag { border: 1px solid rgba(0,0,0,.1); border-radius: 1px; display: block; }
611#page-rzpn .rzpn-nav-prefs-btn {
612  display: inline-flex; align-items: center; gap: 4px;
613  padding: 0; border: 0; background: none; cursor: pointer;
614  color: #616d75;
615}
616#page-rzpn .rzpn-nav-prefs-btn:hover,
617#page-rzpn .rzpn-nav-prefs-btn.is-open { color: #1566f1; }
618#page-rzpn .rzpn-nav-prefs-chev { transition: transform .18s ease; }
619#page-rzpn .rzpn-nav-prefs-btn.is-open .rzpn-nav-prefs-chev { transform: rotate(180deg); }
620/* Right-aligned so the panel can't overflow the viewport edge. */
621#page-rzpn .rzpn-nav-prefs-menu {
622  position: absolute;
623  top: calc(100% + 8px); right: 0;
624  z-index: 5;
625  min-width: 96px;
626  padding: 8px;
627  display: flex; flex-direction: column;
628  border-radius: 8px;
629  background: #fff;
630  box-shadow: 0 8px 28px rgba(5,5,5,.14);
631}
632#page-rzpn .rzpn-nav-prefs-menu[hidden] { display: none; }
633#page-rzpn .rzpn-nav-prefs-menu a {
634  display: flex; align-items: center; gap: 8px;
635  padding: 8px 12px;
636  border-radius: 6px;
637  font-family: var(--font-body);
638  font-weight: 500; font-size: 12px; line-height: 17px;
639  letter-spacing: -0.156px; color: #050505; text-decoration: none;
640  white-space: nowrap;
641}
642#page-rzpn .rzpn-nav-prefs-menu a:hover { background: #f3f5f7; color: #1566f1; }
643#page-rzpn .rzpn-nav-meta { display: flex; align-items: center; gap: 18px; white-space: nowrap; }
644
645/* Burger + its panel: desktop shows neither, the 900px block turns them on. */
646#page-rzpn .rzpn-nav-burger { display: none; }
647#page-rzpn .rzpn-nav-burger-ico {
648  position: relative;
649  width: 16px; height: 2px; border-radius: 2px;
650  background: currentColor;
651}
652#page-rzpn .rzpn-nav-burger-ico::before,
653#page-rzpn .rzpn-nav-burger-ico::after {
654  content: '';
655  position: absolute; left: 0;
656  width: 16px; height: 2px; border-radius: 2px;
657  background: currentColor;
658  transition: transform .18s ease, opacity .18s ease;
659}
660#page-rzpn .rzpn-nav-burger-ico::before { top: -5px; }
661#page-rzpn .rzpn-nav-burger-ico::after { top: 5px; }
662/* Collapses to an X while the panel is open. */
663#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico { background: transparent; }
664#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::before { transform: translateY(5px) rotate(45deg); }
665#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::after { transform: translateY(-5px) rotate(-45deg); }
666
667#page-rzpn .rzpn-nav-menu {
668  pointer-events: auto;
669  max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2);
670  margin: 8px auto 0;
671  padding: 8px;
672  display: flex; flex-direction: column;
673  border-radius: 8px;
674  background: #fff;
675  box-shadow: 0 8px 28px rgba(5,5,5,.14);
676}
677#page-rzpn .rzpn-nav-menu[hidden] { display: none; }
678#page-rzpn .rzpn-nav-menu a {
679  padding: 11px 12px;
680  border-radius: 6px;
681  font-family: var(--font-body);
682  font-weight: 500; font-size: 15px; line-height: 20px;
683  letter-spacing: -0.182px; color: #050505; text-decoration: none;
684}
685#page-rzpn .rzpn-nav-menu a:hover { background: #f3f5f7; color: #1566f1; }
686#page-rzpn .rzpn-nav-menu-rule { height: 0; margin: 6px 12px; border: 0; border-top: 1px solid #e4e4e4; }
687
688/* "More" dropdown: between 901px and 1129px the row can't fit all eight
689   product links, so Payroll → API Reference collapse behind it. Desktop
690   (≥1130px) shows the full row and hides the button; at ≤900px the whole
691   links row is gone and the burger panel takes over instead. The 1129px
692   block in the responsive section flips the two on. */
693#page-rzpn .rzpn-nav-more { position: relative; display: none; align-self: stretch; align-items: center; }
694#page-rzpn .rzpn-nav-more-btn {
695  display: inline-flex; align-items: center; gap: 4px;
696  padding: 0; border: 0; background: none; cursor: pointer;
697  font-family: var(--font-body);
698  font-weight: 500; font-size: 12px; line-height: 17px;
699  letter-spacing: -0.156px; color: #050505;
700}
701#page-rzpn .rzpn-nav-more-btn:hover,
702#page-rzpn .rzpn-nav-more-btn.is-open { color: #1566f1; }
703#page-rzpn .rzpn-nav-more-chev { transition: transform .18s ease; }
704#page-rzpn .rzpn-nav-more-btn.is-open .rzpn-nav-more-chev { transform: rotate(180deg); }
705/* The wrapper stretches to the pill's full 58px, so 100% + 8px lands the
706   panel 8px under the pill edge — same offset the burger panel uses. */
707#page-rzpn .rzpn-nav-more-menu {
708  position: absolute;
709  top: calc(100% + 8px); left: 0;
710  z-index: 5;
711  min-width: 148px;
712  padding: 8px;
713  display: flex; flex-direction: column;
714  border-radius: 8px;
715  background: #fff;
716  box-shadow: 0 8px 28px rgba(5,5,5,.14);
717}
718#page-rzpn .rzpn-nav-more-menu[hidden] { display: none; }
719#page-rzpn .rzpn-nav-more-menu a {
720  display: block;
721  padding: 8px 12px;
722  border-radius: 6px;
723  font-family: var(--font-body);
724  font-weight: 500; font-size: 12px; line-height: 17px;
725  letter-spacing: -0.156px; color: #050505; text-decoration: none;
726  white-space: nowrap;
727}
728#page-rzpn .rzpn-nav-more-menu a:hover { background: #f3f5f7; color: #1566f1; }
729
730/* Developer Tools dropdown (v42): inline in the links row at all widths the
731   row is visible; the burger panel lists its items instead at ≤900px. */
732#page-rzpn .rzpn-nav-dd { position: relative; display: inline-flex; }
733#page-rzpn .rzpn-nav-dd-btn {
734  display: inline-flex; align-items: center; gap: 4px;
735  padding: 0; border: 0; background: none; cursor: pointer;
736  font-family: var(--font-body);
737  font-weight: 500; font-size: 12px; line-height: 17px;
738  letter-spacing: -0.156px; color: #050505;
739}
740#page-rzpn .rzpn-nav-dd-btn:hover,
741#page-rzpn .rzpn-nav-dd-btn.is-open { color: #1566f1; }
742#page-rzpn .rzpn-nav-dd-chev { transition: transform .18s ease; }
743#page-rzpn .rzpn-nav-dd-btn.is-open .rzpn-nav-dd-chev { transform: rotate(180deg); }
744#page-rzpn .rzpn-nav-dd-menu {
745  position: absolute;
746  top: calc(100% + 14px); left: -12px;
747  z-index: 5;
748  min-width: 208px;
749  padding: 8px;
750  display: flex; flex-direction: column;
751  border: 1px solid #e4e4e4;
752  border-radius: 10px;
753  background: #fff;
754  box-shadow: 0 12px 32px rgba(5,5,5,.12);
755}
756#page-rzpn .rzpn-nav-dd-menu[hidden] { display: none; }
757/* Invisible bridge over the 14px gap so the pointer can travel from the
758   button into the panel without leaving the dropdown's hit area. */
759#page-rzpn .rzpn-nav-dd-menu::before {
760  content: '';
761  position: absolute; left: 0; right: 0; top: -14px; height: 14px;
762}
763#page-rzpn .rzpn-nav-dd-menu a {
764  display: flex; align-items: center; gap: 10px;
765  padding: 9px 10px;
766  border-radius: 6px;
767  font-family: var(--font-body);
768  font-weight: 500; font-size: 13px; line-height: 18px;
769  letter-spacing: -0.156px; color: #050505; text-decoration: none;
770  white-space: nowrap;
771}
772#page-rzpn .rzpn-nav-dd-menu a:hover { background: #f3f5f7; color: #1566f1; }
773#page-rzpn .rzpn-nav-dd-ico {
774  width: 16px; height: 16px; flex: none;
775  color: #616d75;
776  fill: none; stroke: currentColor; stroke-width: 1.7;
777  stroke-linecap: round; stroke-linejoin: round;
778}
779#page-rzpn .rzpn-nav-dd-menu a:hover .rzpn-nav-dd-ico { color: #1566f1; }
780/* Burger panel: indented icon rows under the plain Developer Tools link. */
781#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub {
782  display: flex; align-items: center; gap: 10px;
783  padding: 9px 12px 9px 24px;
784  font-size: 14px; line-height: 20px; color: #4b5563;
785}
786#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub:hover { color: #1566f1; }
787
788/* --------------------------------------------------------------- hero --- */
789#page-rzpn .rzpn-hero {
790  position: relative;
791  height: 366px;
792}
793/* ------------------------------------------------ v42 ribbon artwork ---- */
794/* The artwork is a 1440x448 stage pinned to the top of the viewport, not to
795   the hero — fixed, so the page scrolls over it while it holds 
795still. Children
796   keep Figma's own coordinates, so the stage stays exactly 1440 wide. */
797#page-rzpn .rzpn-art {
798  position: fixed;
799  top: 0; left: 50%;
800  width: 1440px; height: 448px;
801  margin-left: -688px; /* -720px stage half-width + 32px rightward shift */
802  transform-origin: top center;
803  pointer-events: none;
804  z-index: 0;
805  /* Several strips are laid out past the artboard's left and right edges on
806     purpose, so the clip is vertical only. */
807  overflow: visible;
808  clip-path: inset(0 -100vw);
809}
810#page-rzpn .rzpn-art img { max-width: none; }
811
812/* Trail peek canvases: one per non-hero window, sized to that window's own
813   box (see the trail IIFE in script.js) — same "one canvas per window, shared
814   viewport-space source" pattern already used by .rzpn-win-glyphs. */
815#page-rzpn .rzpn-trail-peek {
816  position: absolute;
817  inset: 0;
818  /* A <canvas> is a replaced element — inset:0 alone anchors it at the
819     window's top-left but does NOT stretch it to fill; without an explicit
820     width/height it falls back to its intrinsic size (the dpr-scaled pixel
821     buffer). width/height:100% forces the CSS box to match the window. */
822  width: 100%; height: 100%;
823  pointer-events: none;
824  /* Every ribbon piece carries its own Figma "background blur" (radius
825     5.48px, i.e. blur(2.74px)) baked into its raster; once drawImage()
826     copies that raster into a window's peek canvas nothing blurs the canvas
827     itself the way a glass panel should — so blur its rendered output. */
828  filter: blur(2.74px);
829}
830
831/* Independent parallax layers inside the fixed 1440x448 stage. Each wrapper
832   exactly overlays .rzpn-art's own box (inset:0 at the same size), so every
833   child's existing `position:absolute; left/top: Npx` still resolves against
834   the same artboard origin — only a translateY moves per layer. The ribbon
835   band (background) travels least; each floating Doc card is its own layer,
836   scaled by --rzpn-par-doc-N (bigger card, more travel); the ascii trail
837   sits between the two. --rzpn-par-* are all set by the scroll handler. */
838#page-rzpn .rzpn-art-strip,
839#page-rzpn .rzpn-art-ascii,
840#page-rzpn .rzpn-doc {
841  position: absolute;
842  inset: 0;
843  width: 1440px; height: 448px;
844}
845#page-rzpn .rzpn-art-strip { transform: translateY(var(--rzpn-par-strip, 0px)); }
846#page-rzpn .rzpn-art-ascii { transform: translateY(var(--rzpn-par-ascii, 0px)); }
847/* Per-card motion, three independent channels: scroll parallax + curs
847or tilt
848   share `transform` (both JS-driven), the levitate drift animates the
849   standalone `translate` property, and the hover rotation uses standalone
850   `rotate` — so none of the three fight over one transform value. Durations,
851   delays and phases differ per card so the seven drift out of lockstep. */
852#page-rzpn .rzpn-doc-1 {
853  transform: translate(var(--rzpn-hover-x-1, 0px), calc(var(--rzpn-par-doc-1, 0px) + var(--rzpn-hover-y-1, 0px))); rotate: var(--rzpn-hover-r-1, 0deg); transition: transform .42s cubic-bezier(.22,1,.36,1), rotate .42s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.2s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.1s, 1000ms;
854}
855#page-rzpn .rzpn-doc-2 {
856  transform: translate(var(--rzpn-hover-x-2, 0px), calc(var(--rzpn-par-doc-2, 0px) + var(--rzpn-hover-y-2, 0px))); rotate: var(--rzpn-hover-r-2, 0deg); transition: transform .61s cubic-bezier(.22,1,.36,1), rotate .61s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 6.4s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -3.6s, 600ms;
857}
858#page-rzpn .rzpn-doc-3 {
859  transform: translate(var(--rzpn-hover-x-3, 0px), calc(var(--rzpn-par-doc-3, 0px) + var(--rzpn-hover-y-3, 0px))); rotate: var(--rzpn-hover-r-3, 0deg); transition: transform .34s cubic-bezier(.22,1,.36,1), rotate .34s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 8.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -0.4s, 300ms;
860}
861#page-rzpn .rzpn-doc-4 {
862  transform: translate(var(--rzpn-hover-x-4, 0px), calc(var(--rzpn-par-doc-4, 0px) + var(--rzpn-hover-y-4, 0px))); rotate: var(--rzpn-hover-r-4, 0deg); transition: transform .53s cubic-bezier(.22,1,.36,1), rotate .53s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 5.8s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -2.2s, 240ms;
863}
864#page-rzpn .rzpn-doc-5 {
865  transform: translate(var(--rzpn-hover-x-5, 0px), calc(var(--rzpn-par-doc-5, 0px) + var(--rzpn-hover-y-5, 0px))); rotate: var(--rzpn-hover-r-5, 0deg); transition: transform .39s cubic-bezier(.22,1,.36,1), rotate .39s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.9s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -4.5s, 800ms;
866}
867#page-rzpn .rzpn-doc-7 {
868  transform: translate(var(--rzpn-hover-x-7, 0px), calc(var(--rzpn-par-doc-7, 0px) + var(--rzpn-hover-y-7, 0px))); rotate: var(--rzpn-hover-r-7, 0deg); transition: transform .48s cubic-bezier(.22,1,.36,1), rotate .48s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.8s, 300ms;
869}
870/* The Doc 6 badge sits inside .rzpn-art-strip (it has to paint behind the top
871   ribbon strip for z-order), so it can't pick up a shared .rzpn-doc-N rule.
872   No scroll parallax — it isn't in the DOC_MAG footprint table — but it gets
873   the same cursor tilt as the other six (key '6' is otherwise unused). */
874#page-rzpn .rzpn-doc-6-badge {
875  transform: translate(var(--rzpn-hover-x-6, 0px), var(--rzpn-hover-y-6, 0px)); rotate: var(--rzpn-hover-r-6, 0deg); transition: transform .56s cubic-bezier(.22,1,.36,1), rotate .56s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.7s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -5.2s, 300ms;
876}
877@keyframes rzpn-doc-levitate {
878  0%, 100% { translate: 0 0; }
879  50% { translate: 0 -14px; }
880}
881@keyframes rzpn-doc-levitate-sm {
882  0%, 100% { translate: 0 0; }
883  50% { translate: 0 -9px; }
884}
885@keyframes rzpn-doc-appear {
886  from { opacity: 0; scale: 0.94; }
887  to { opacity: 1; scale: 1; }
888}
889@media (prefers-reduced-motion: reduce) {
890  #page-rzpn .rzpn-art-strip,
891  #page-rzpn .rzpn-art-ascii,
892  #page-rzpn .rzpn-doc,
893  #page-rzpn .rzpn-doc-6-badge { transform: none !important; animation: none !important; }
894}
895
896/* The flowing characters share the stage's artboard box, so they travel with
897   the ribbon and need no separate positioning. No z-index: the canvas sits
898   between the strips and the Doc panels in DOM order, so plain paint order
899   puts the trail over the bands and under the docs. */
900#page-rzpn .rzpn-flow {
901  position: absolute;
902  left: 0; top: 0;
903  width: 1440px; height: 448px;
904  pointer-events: none;
905}
906
907/* Everything after the hero scrolls over the fixed artwork, so each section is
908   a positioned, opaque surface. */
909#page-rzpn > section:not(.rzpn-hero) {
910  position: relative; z-index: 1; background: #fff;
911}
912
913/* Halftone glyph field. One canvas per window, all drawing from a single
914   viewport-space grid (see the v41 glyph IIFE), so the pattern is continuous
915   across the hero, the AI cards and the Payments step rows. */
916#page-rzpn .rzpn-win-glyphs {
917  position: absolute;
918  inset: 0;
919  display: block;
920  width: 100%;
921  height: 100%;
922  pointer-events: none;
923}
924/* The new photo is light throughout — sky in the hero band, meadow in the
925   windows below — so a single dark ink over multiply works everywhere. The
926   previous photo needed light ink and screen in the hero, where it was dark. */
927#page-rzpn .rzpn-win-glyphs {
928  mix-blend-mode: normal;
929}
930/* Bright-is-dense makes the veiled windows busier than the hero, since they
931   crop the sunlit meadow and a strip of horizon — so they carry less. */
932/* Lower than the windows below: the hero carries the headline and the ask
933   bar, and the cloud band is the brightest ground on the page, so the same
934   dark ink lands much harder here. */
935/* One white ink everywhere now, so every window blends normally — white under
936   multiply is a no-op. */
937#page-rzpn .rzpn-win-glyphs { mix-blend-mode: normal; }
938#page-rzpn .rzpn-hero > .rzpn-win-glyphs { opacity: .85; }
939#page-rzpn .rzpn-win--soft > .rzpn-win-glyphs { opacity: .7; }
940
941#page-rzpn .rzpn-hero-inner {
942  max-width: var(--rzpn-max);
943  margin: 0 auto;
944  padding: 0 var(--rzpn-pad);
945  height: 100%;
946  position: relative;
947}
948#page-rzpn .rzpn-hero-h1 {
949  position: absolute; top: 122px; left: var(--rzpn-pad);
950  margin: 0;
951  font-family: 'Inter Tight', var(--font-body);
952  font-weight: 200; font-size: 80px; line-height: 1.1;
953  /* Figma tracks the glyphs at -4.8px but loosens the word spaces to -1.76px;
954     word-spacing makes up the 3.04px difference rather than needing a span
955     around every gap. */
956  letter-spacing: -4.8px; word-spacing: 3.04px; color: #fff;
957}
958#page-rzpn .rzpn-ask {
959  position: absolute; top: 236px; left: var(--rzpn-pad);
960  display: flex; align-items: center; gap: 12px;
961  width: 636px; max-width: calc(100% - var(--rzpn-pad) * 2);
962  height: 72px; padding: 0 20px 0 24px;
963  border: 0; border-radius: 12px;
964  background: #fff;
965}
966#page-rzpn .rzpn-ask-spark { display: block; flex: none; }
967#page-rzpn .rzpn-ask-input {
968  flex: 1; min-width: 0; border: 0; background: none; outline: none;
969  font-family: var(--font-display);
970  font-size: 20px; letter-spacing: -0.4px; color: #2f404c;
971}
972/* background-clip: text cannot reach ::placeholder, so the real placeholder is
973   painted out and .rzpn-ask-ph draws the same string with a sheen sweeping
974   across it. The twin is inside .rzpn-ask-field so it lines up with the input
975   at every breakpoint without restating the bar's padding and gap. */
976#page-rzpn .rzpn-ask-field { position: relative; flex: 1; min-width: 0; display: flex; }
977#page-rzpn .rzpn-ask-input::placeholder { color: transparent; }
978#page-rzpn .rzpn-ask-ph {
979  position: absolute; inset: 0;
980  display: flex; align-items: center;
981  pointer-events: none;
982  white-space: nowrap; overflow: hidden;
983  font-family: var(--font-display);
984  font-size: 20px; letter-spacing: -0.4px;
985  opacity: 0.6;
986  /* Figma 1218:91805 — placeholder text is a static #2f404c at 60% opacity.
987     The sheen is a proper light highlight sweeping over a lighter base tone
988     (not a darker gray/black peak within the same hue — that read as a dark
989     smudge, not a shimmer): base a muted mid-blue-gray, peak a pale cyan
990     core (#B5EDEE) flanked by #5E9EF1 either side so the sweep reads as a
991     bright cyan-with-a-blue-glow highlight rather than one flat colour. */
992  background-image: linear-gradient(100deg, rgba(100,124,148,.55) 0%, rgba(100,124,148,.55) 35%, #5E9EF1 46%, #B5EDEE 50%, #5E9EF1 54%, rgba(100,124,148,.55) 65%, rgba(100,124,148,.55) 100%);
993  background-size: 200% 100%;
994  -webkit-background-clip: text; background-clip: text;
995  -webkit-text-fill-color: transparent; color: transparent;
996  /* 100% -> 0% sweeps the highlight left to right; both ends of the gradient
997     are the base colour, so the wrap is seamless. */
998  animation: rzpn-ask-shimmer 2.8s linear infinite;
999}
1000#page-rzpn .rzpn-ask-input:not(:placeholder-shown) ~ .rzpn-ask-ph { opacity: 0; }
1001@keyframes rzpn-ask-shimmer {
1002  from { background-position: 100% 0; }
1003  to { background-position: 0% 0; }
1004}
1005@media (prefers-reduced-motion: reduce) {
1006  #page-rzpn .rzpn-ask-ph { animation: none; }
1007}
1008#page-rzpn .rzpn-ask-go { flex: none; border: 0; background: none; padding: 0; cursor: pointer; line-height: 0; }
1009#page-rzpn .rzpn-ask-go img,
1010#page-rzpn .rzpn-ask-go svg { display: block; }
1011
1012/* ------------------------------------------------- AI prompt cards ------ */
1013#page-rzpn .rzpn-ai { padding: 37px 0 0; background: #fff; }
1014#page-rzpn .rzpn-ai-head { display: flex; align-items: center; gap: 12px; }
1015
1016#page-rzpn .rzpn-eyebrow {
1017  margin: 0;
1018  font-family: var(--font-display);
1019  font-weight: 500; font-size: 24px; line-height: .9;
1020  letter-spacing: -0.48px; color: #000; opacity: .8;
1021}
1022#page-rzpn .rzpn-ai-agents { display: inline-flex; align-items: center; }
1023#page-rzpn .rzpn-ai-agent { width: 24px; height: 24px; display: grid; place-items: center; overflow: hidden; }
1024#page-rzpn .rzpn-ai-agent img { display: block; width: 21.6px; height: 21.6px; object-fit: contain; }
1025/* Cursor ships as a full lockup (mark + wordmark, 960x234). The mark is
1026   cropped to its own file (201x229) rather than clipped in CSS, which was
1027   slicing it mid-glyph. It is taller than it is wide, so height drives it. */
1028#page-rzpn .rzpn-ai-agent--3 img {
1029  width: auto;
1030  height: 19.2px;
1031}
1032
1033#page-rzpn .rzpn-ai-cards {
1034  display: grid;
1035  grid-template-columns: repeat(5, 1fr);
1036  align-items: start;
1037  gap: 24px;
1038  margin-top: 29px;
1039}
1040/* No card chrome in this version: the rounded media block sits directly on
1041   the page with the title and CTA beneath it, so there is no plate, border,
1042   shadow or fixed card ratio — the media carries its own ratio instead. */
1043#page-rzpn .rzpn-pcard {
1044  position: relative;
1045  display: flex;
1046  flex-direction: column;
1047}
1048#page-rzpn .rzpn-pcard-media {
1049  position: relative;
1050  aspect-ratio: 242 / 182;
1051  border-radius: 12px;
1052  overflow: hidden;
1053}
1054#page-rzpn .rzpn-pcard-body {
1055  display: flex;
1056  flex-direction: column;
1057  align-items: flex-start;
1058  padding: 0;
1059}
1060/* Figma 824:8477. Carries more of the gradient than the step rows do:
1061   rgba(...,.5) -> rgba(...,.2) against their .4 -> .08. */
1062#page-rzpn .rzpn-pcard-tint {
1063  background: linear-gradient(205.78deg, rgba(132,175,250,.5) 25.575%, rgba(159,255,159,.2) 97.045%);
1064  border-radius: inherit;
1065}
1066/* Real artwork now (Figma 936:9032 — one 242x182 frame per card), replacing
1067   the white pane wireframes. Each export carries its own internal margins, so
1068   it fills the well edge-to-edge rather than sitting inside a 16px inset. */
1069#page-rzpn .rzpn-pcard-shot {
1070  position: absolute;
1071  inset: 0;
1072}
1073#page-rzpn .rzpn-pcard-shot img {
1074  display: block;
1075  width: 100%;
1076  height: 100%;
1077  object-fit: contain;
1078  transition: transform .35s cubic-bezier(.22,.61,.36,1);
1079}
1080#page-rzpn .rzpn-pcard:hover .rzpn-pcard-shot img { transform: scale(1.03); }
1081@media (prefers-reduced-motion: reduce) {
1082  #page-rzpn .rzpn-pcard-shot img { transition: none; }
1083}
1084/* Figma 889:14565: TASA Orbiter Display Medium 16/20, -0.32px, #000828.
1085   Was Inter Regular 16/24 — a different family, weight and leading. The 4px
1086   left inset is the artboard's (title x=68 against the card's x=64). */
1087#page-rzpn .rzpn-pcard-title {
1088  margin: 16px 0 0 4px;
1089  font-family: var(--font-display);
1090  font-weight: 500;
1091  font-size: 15px;
1092  line-height: 20px;
1093  letter-spacing: -0.32px;
1094  color: #000828;
1095}
1096/* Figma 889:14568 — the Link component: Inter Medium in #0e54cc with a 4px
1097   gap and a 12px icon. 14px is the page's link size — .rzpn-agents-link and
1098   the section leads already sit here, so these come up to match rather than
1099   reading as fine print under 16/18px card titles. */
1100#page-rzpn .rzpn-pcard-pill {
1101  margin: 12px 0 0 4px;
1102  align-self: flex-start;
1103  display: inline-flex; align-items: center; gap: 4px;
1104  padding: 0; border: 0; background: none; cursor: pointer;
1105  font-family: var(--font-body);
1106  font-weight: 500; font-size: 14px; line-height: 20px;
1107  letter-spacing: -0.182px; color: #0e54cc;
1108}
1109/* Masked so the glyph takes the link colour, rather than shipping a second
1110   blue copy of the same file. */
1111#page-rzpn .rzpn-copy-ico {
1112  width: 12px; height: 12px; flex: none;
1113  background: currentColor;
1114  -webkit-mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat;
1115  mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat;
1116}
1117#page-rzpn .rzpn-pcard-pill:hover { color: #0a3f9c; }
1118#page-rzpn .rzpn-pcard-pill.is-copied { color: #128f5c; }
1119
1120/* ------------------------------------- developer tools + credentials ---- */
1121/* Figma Vector 5045 at y=751 — 48px under the CTA baseline (y=703), with the
1122   Developer tools block at y=803. */
1123#page-rzpn hr.rzpn-ai-rule { margin-top: 48px; }
1124/* Pill cards hug their content rather than sharing the row equally, so the
1125   row is left-packed and runs out before the gutter — that ragged right edge
1126   is the design, not a bug. */
1127#page-rzpn .rzpn-devrow { margin-top: 52px; }
1128/* Label sits inline with the pills, not stacked above them — matches the
1129   "Integrate Razorpay using AI" row's own head+content layout above it. */
1130#page-rzpn .rzpn-devtools {
1131  display: flex; align-items: center; flex-wrap: wrap; gap: 24px;
1132}
1133#page-rzpn .rzpn-devcards {
1134  display: flex; flex-wrap: wrap; align-items: flex-start;
1135  gap: 20px;
1136}
1137#page-rzpn .rzpn-devcard {
1138  flex: none;
1139  display: inline-flex; align-items: center; gap: 8px;
1140  padding: 12px 24px 12px 20px;
1141  border-radius: 58px;
1142  background: #ddefff;
1143  transition: background-color .18s var(--ease);
1144}
1145#page-rzpn .rzpn-devcard:hover { background: #c8e3ff; }
1146/* Same sprite the cards draw from — see .rzpn-dot-ico for why fill/stroke sit
1147   on the <svg> host rather than the <symbol>. */
1148#page-rzpn .rzpn-devcard-ico {
1149  width: 20px; height: 20px; flex: none;
1150  color: #000828;
1151  fill: none;
1152  stroke: currentColor;
1153  stroke-width: 1.7;
1154  stroke-linecap: round;
1155  stroke-linejoin: round;
1156}
1157#page-rzpn .rzpn-devcard .rzpn-u {
1158  font-family: var(--font-display);
1159  font-weight: 500; font-size: 16px; line-height: 24px;
1160  letter-spacing: -0.32px; color: #000828;
1161  white-space: nowrap;
1162}
1163
1164#page-rzpn .rzpn-creds-row { display: flex; gap: 24px; margin-top: 20px; }
1165#page-rzpn .rzpn-cred {
1166  position: relative; flex: 1 1 0; min-width: 0;
1167  height: 108px; padding: 15.5px;
1168  border: .5px solid #e4e4e4; border-radius: 12px;
1169  background: #fff;
1170  box-shadow: 0 2px 4px rgba(80,168,212,.08);
1171  overflow: hidden;
1172  display: flex; flex-direction: column; justify-content: space-between;
1173}
1174/* The dotted texture bleeding out of the card's top-right corner. */
1175#page-rzpn .rzpn-cred::after {
1176  content: ''; position: absolute;
1177  top: -35.5px; left: 50%; margin-left: -61px;
1178  width: 231px; height: 157px;
1179  background: url('/static/docs-home/assets/cred-noise.png') center / cover no-repeat;
1180  mix-blend-mode: hard-light;
1181  pointer-events: none;
1182}
1183#page-rzpn .rzpn-cred-label {
1184  position: relative; z-index: 1;
1185  font-family: var(--font-display);
1186  font-weight: 500; font-size: 14px; color: #292f32;
1187}
1188#page-rzpn .rzpn-cred-key {
1189  position: relative; z-index: 1;
1190  align-self: flex-start;
1191  display: inline-flex; align-items: center; gap: 12px;
1192  border: 0; background: none; padding: 0; cursor: pointer;
1193}
1194#page-rzpn .rzpn-cred-key code {
1195  font-family: var(--font-mono); font-size: 13px; line-height: 17px; color: #1566f1;
1196}
1197#page-rzpn .rzpn-cred-key img { display: block; opacity: .55; }
1198#page-rzpn .rzpn-cred-key:hover img { opacity: 1; }
1199
1200#page-rzpn .rzpn-link {
1201  display: inline-flex; align-items: center; gap: 4px;
1202  position: relative; z-index: 1;
1203  font-family: var(--font-body);
1204  /* 14px is the page's link size — the prompt-card pills sit here too. */
1205  font-weight: 500; font-size: 14px; line-height: 20px;
1206  letter-spacing: -0.182px; color: #0e54cc; text-decoration: none;
1207}
1208#page-rzpn .rzpn-link img { display: block; }
1209#page-rzpn .rzpn-link:hover { text-decoration: underline; }
1210
1211/* ------------------------------------------------ section scaffolding --- */
1212#page-rzpn .rzpn-section { background: #fff; }
1213/* The artboard draws these at full black; at 1px across a 1312px span that
1214   reads as a hard edge and competes with the headings, so they sit back. */
1215#page-rzpn .rzpn-rule { height: 0; margin: 0; border: 0; border-top: 1px solid rgba(5,5,5,.14); }
1216#page-rzpn .rzpn-block {
1217  display: flex; align-items: flex-end; justify-content: space-between; gap: 40px;
1218  margin-top: 32px;
1219}
1220#page-rzpn .rzpn-h2 {
1221  margin: 0;
1222  font-family: var(--font-display);
1223  font-weight: 400; font-size: 64px; line-height: 1.15;
1224  letter-spacing: -3.2px; color: #050505;
1225}
1226#page-rzpn .rzpn-block-aside {
1227  display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
1228  width: 404px; flex: none;
1229}
1230#page-rzpn .rzpn-block-aside p {
1231  margin: 0; text-align: right;
1232  font-family: var(--font-body);
1233  font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563;
1234}
1235
1236/* ------------------------------------------------------ payment steps --- */
1237#page-rzpn .rzpn-steps-lead {
1238  margin: 36px 0 0;
1239  font-family: var(--font-body);
1240  font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #616d75;
1241}
1242#page-rzpn .rzpn-steps { display: flex; flex-direction: column; gap: 32px; margin-top: 15px; }
1243#page-rzpn .rzpn-step {
1244  position: relative;
1245  isolation: isolate;
1246  border-radius: 12px;
1247  padding: 24px 24px 24px 22px;
1248  display: grid;
1249  grid-template-columns: 288px 1fr;
1250  gap: 24px;
1251  overflow: hidden;
1252}
1253/* Figma's Rectangle 1891601137 gradient, laid over the photo. */
1254/* Figma's gradient fills on these windows carry a Noise fill on top — the
1255   exported rects measure a residual std of ~4.4 (cards) and ~3.2 (POS) after
1256   blurring, i.e. real per-pixel grain, near-monochrome (channel correlation
1257   0.93). Generated as a fixed-seed PNG rather than feTurbulence: that filter
1258   randomises the ALPHA channel as well as RGB, so its composited amplitude is
1259   not predictable, and a measured tile can be matched to Figma exactly.
1260   Tile is mean 128 / std 48; `overlay` is neutral at 128 so the grain adds no
1261   tonal shift, and 0.24 opacity lands the result at ~4.4 on a card. */
1262#page-rzpn .rzpn-win-tint {
1263  position: absolute;
1264  inset: 0;
1265  pointer-events: none;
1266}
1267#page-rzpn .rzpn-win-tint::after {
1268  content: '';
1269  position: absolute;
1270  inset: 0;
1271  background-image: url('/static/docs-home/assets/grain.png');
1272  background-repeat: repeat;
1273  background-size: 256px 256px;
1274  mix-blend-mode: overlay;
1275  opacity: .24;
1276  border-radius: inherit;
1277}
1278
1279#page-rzpn .rzpn-step-tint {
1280  background: linear-gradient(183.64deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%);
1281}
1282#page-rzpn .rzpn-step-label {
1283  position: relative;
1284  display: flex; flex-direction: column;
1285  font-family: var(--font-display);
1286  color: #9e9e9e;
1287  /* Blends against the row, so one grey reads on both the photo and the tint. */
1288  mix-blend-mode: difference;
1289}
1290/* Difference blend is what makes the label read against both the photo and
1291   the gradient without a second colour token. */
1292#page-rzpn .rzpn-step-num { font-size: 20px; line-height: 23px; letter-spacing: -1px; }
1293#page-rzpn .rzpn-step-name { font-size: 48px; line-height: 56px; letter-spacing: -2.4px; }
1294
1295#page-rzpn .rzpn-step-cards { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
1296
1297/* ------------------------------------------------------- generic card --- */
1298#page-rzpn .rzpn-card {
1299  display: flex; flex-direction: column; gap: 8px;
1300  padding: 20px;
1301  border: .5px solid #e4e4e4; border-radius: 12px;
1302  background: #fff;
1303  box-shadow: 0 2px 4px rgba(80,168,212,.08);
1304}
1305/* Figma 889:14389 groups the title and body into one stack that sits 12px
1306   below the dot. Rather than wrapping the copy in every card, the card keeps
1307   the title-to-body gap and the dot carries the remaining 4px. */
1308#page-rzpn .rzpn-card .rzpn-dot { margin-bottom: 4px; }
1309#page-rzpn .rzpn-card h3 {
1310  margin: 0;
1311  font-family: var(--font-display);
1312  font-weight: 500; font-size: 18px; line-height: 24px;
1313  letter-spacing: -0.18px; color: #292f32;
1314}
1315#page-rzpn .rzpn-card p {
1316  margin: 0;
1317  font-family: var(--font-body);
1318  font-weight: 400; font-size: 14px; line-height: 20px;
1319  letter-spacing: -0.182px; color: #616d75;
1320}
1321#page-rzpn .rzpn-dot { width: 40px; height: 40px; border-radius: 50%; background: #ddefff; flex: none; }
1322
1323/* ------------------------------------------------------------ POS ------- */
1324#page-rzpn .rzpn-pos {
1325  position: relative;
1326  min-height: 474px;
1327  padding: 26px 0 0;
1328  display: grid;
1329  grid-template-columns: 1fr 1fr;
1330  align-items: start;
1331}
1332#page-rzpn .rzpn-pos-copy { position: relative; z-index: 2; }
1333#page-rzpn .rzpn-pos-sub {
1334  margin: 8px 0 0;
1335  font-family: var(--font-display);
1336  font-weight: 400; font-size: 28px; line-height: 34px;
1337  letter-spacing: -0.56px; color: #9aa3a9;
1338}
1339/* Bottom-aligns the aside with the mask's own bottom edge, on request,
1340   rather than centring it in the row. Percentage padding-top resolves
1341   against the containing block's WIDTH (the classic aspect-ratio padding
1342   hack) — so with height:0 this anchor's border-box bottom lands exactly
1343   at .rzpn-pos-window's bottom (top:70px + width-relative height, 45.96% *
1344   258/603 = 19.665%) at any viewport width, no JS needed. .rzpn-pos-aside is
1345   then an absolutely-positioned child of it, anchored to that edge. */
1346#page-rzpn .rzpn-pos-aside-anchor {
1347  position: absolute;
1348  left: 0; top: 0;
1349  width: 100%; height: 0;
1350  padding-top: calc(70px + 19.665%);
1351  pointer-events: none;
1352}
1353#page-rzpn .rzpn-pos-aside {
1354  position: absolute; z-index: 2;
1355  bottom: 0; right: 0;
1356  pointer-events: auto;
1357  display: flex; flex-direction: column; gap: 12px;
1358  width: 266px;
1359}
1360#page-rzpn .rzpn-pos-aside p {
1361  margin: 0;
1362  font-family: var(--font-body);
1363  font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563;
1364}
1365#page-rzpn .rzpn-pos-art {
1366  position: absolute; inset: 0;
1367  pointer-events: none;
1368  z-index: 1;
1369}
1370/* POS artwork (Figma 827:8785 + 827:8780). Coordinates are the artboard's,
1371   expressed as percentages of the 1312 content width so they hold as it
1372   scales: the v42 window is a wide landscape band (603x258) rather than the
1373   old portrait card; device at x=362 y=2139 (668x624), both measured from
1374   the section's top rule at y=2182. */
1375#page-rzpn .rzpn-pos-window {
1376  position: absolute;
1377  left: 26.98%;
1378  top: 70px;
1379  width: 45.96%;
1380  aspect-ratio: 603 / 258;
1381  border-radius: 12px;
1382  overflow: hidden;
1383}
1384#page-rzpn .rzpn-pos-tint {
1385  background: linear-gradient(189.75deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%);
1386}
1387#page-rzpn .rzpn-pos-device {
1388  position: absolute;
1389  left: 22.75%;
1390  /* The node sits at y=-43, but its PNG carries transparent padding (opaque
1391     from 13.5% to 87.2% of its height), which puts the visible device at
1392     41..501 and crosses the section's bottom rule at 474. Raised so the
1393     device reads inside the section, as it does in the reference frame. */
1394  top: -78px;
1395  width: 50.95%;
1396  height: auto;
1397  display: block;
1398}
1399
1400/* ----------------------------------------------------- card grids ------- */
1401/* Section gaps are the artboard's: dev-tools block ends 953 -> rule 1125,
1402   steps end 1990 -> rule 2182, rule 2656 -> Banking 2746, banking cards end
1403   3212 -> rule 3408, rule -> Partners 3452, partner cards end 3758 -> dark 3856.
1404   payments' own top gap (artboard 172px) is overridden to 52px on request, to
1405   match .rzpn-devrow's own margin-top above the dev-tools heading — the two
1406   gaps around that block now read as even. */
1407#page-rzpn .rzpn-section--payments { padding-top: 52px; }
1408/* Doubled the base .rzpn-block margin-top (32px), then +16px more on request,
1409   for this section's own rule -> "Payments" heading gap only. */
1410#page-rzpn .rzpn-section--payments .rzpn-block { margin-top: 80px; }
1411#page-rzpn .rzpn-section--pos { padding-top: 192px; }
1412/* Banking's padding-bottom is new: with none, the last row's :hover
1413   box-shadow had to render in the gap-before-the-rule space, which actually
1414   belongs to .rzpn-section--partners (its own padding-top) — a later
1415   sibling's opaque #fff background paints over anything sitting there,
1416   clipping the shadow with a hard edge. Moving 32px of that gap from
1417   Partners' padding-top to Banking's own padding-bottom keeps the rule's
1418   position and the total gap identical, but now the first 32px belongs to
1419   Banking's own box, painted before Partners, so the shadow has room to
1420   render unclipped. Partners' padding-bottom (the artboard's 98px cards ->
1421   dark-band gap) moves into its own box for the same reason — the agents
1422   band no longer carries a margin-top. */
1423#page-rzpn .rzpn-section--banking { padding-top: 90px; padding-bottom: 32px; }
1424#page-rzpn .rzpn-section--partners { padding-top: 164px; padding-bottom: 98px; }
1425#page-rzpn .rzpn-section--banking .rzpn-block { margin-top: 0; }
1426#page-rzpn .rzpn-section--partners .rzpn-block { margin-top: 43px; }
1427#page-rzpn .rzpn-grid {
1428  position: relative;
1429  display: grid;
1430  grid-template-columns: repeat(4, 1fr);
1431  gap: 24px;
1432  margin-top: 48px;
1433}
1434#page-rzpn .rzpn-grid--green .rzpn-dot { background: #e6faf2; }
1435#page-rzpn .rzpn-grid--peach .rzpn-dot { background: #faf2e5; }
1436
1437/* --------------------------------------------------- build with agents --
1438   Figma 955:21750. The band is 1440x423 on the artboard and every piece is
1439   placed against that box — the terminal has to sit at a fixed offset inside
1440   the punched photo window, which no flow layout reproduces — so the stage
1441   positions its parts absolutely. The band is taller than the 423px artboard,
1442   so every offset carries --rzpn-agents-lift, which recentres the composition
1443   without disturbing the artboard spacing between its pieces. The window is
1444   the tallest piece (256px, artboard y 89) and so is what gets centred — the
1445   artboard itself was 11px off centre. Below 1180px the band unwinds into a
1446   stack and the window re-anchors to the terminal. */
1447#page-rzpn section.rzpn-agents {
1448  --rzpn-agents-tall: 480px;
1449  --rzpn-agents-lift: calc((var(--rzpn-agents-tall) - 434px) / 2);
1450  /* Same specificity as the `section:not(.rzpn-hero)` catch-all above (which
1451     also sets background), so cascade order — this rule comes later — is
1452     what makes the dark background win instead of white. */
1453  background: #022929;
1454  /* No margin-top: Figma's own frame (955:21750) already puts the heading
1455     139px below the frame's top edge, and the 98px gap above the band now
1456     lives in Partners' own padding-bottom — carrying both doubled the gap.
1457     The dark background itself still needs to be an opaque box (not a
1458     margin) so the fixed ribbon artwork (.rzpn-art, z-index:0) can't show
1459     through between this section and the one above it. */
1460}
1461#page-rzpn .rzpn-agents-stage {
1462  position: relative;
1463  max-width: var(--rzpn-max);
1464  height: var(--rzpn-agents-tall);
1465  margin: 0 auto;
1466  padding: 0 var(--rzpn-pad);
1467}
1468#page-rzpn .rzpn-agents-h {
1469  position: absolute; left: var(--rzpn-pad); top: calc(139px + var(--rzpn-agents-lift));
1470  margin: 0; width: 292px;
1471  font-family: var(--font-display);
1472  font-weight: 400; font-size: 64px; line-height: 1.156;
1473  letter-spacing: -2.56px; color: #fff;
1474}
1475
1476/* Desktop: static, so the window and terminal inside resolve against the
1477   stage and keep their artboard coordinates. */
1478#page-rzpn .rzpn-agents-panel { position: static; }
1479
1480#page-rzpn .rzpn-agents-term {
1481  position: absolute; top: calc(121px + var(--rzpn-agents-lift)); left: 50%;
1482  width: 521px; margin-left: -258px;
1483  border: 1px solid rgba(121,135,156,.18);
1484  border-radius: 12px;
1485  background: #0c3131;
1486  overflow: hidden;
1487}
1488#page-rzpn .rzpn-agents-term-head {
1489  display: flex; align-items: center; justify-content: space-between;
1490  padding: 13px 16px;
1491  border-bottom: 1px solid rgba(121,135,156,.18);
1492  background: rgba(255,255,255,.04);
1493}
1494#page-rzpn .rzpn-agents-term-head span {
1495  font-family: var(--font-mono);
1496  font-size: 11px; line-height: 14px; color: #fff; opacity: .8;
1497}
1498#page-rzpn .rzpn-agents-term-body { position: relative; padding: 16px; }
1499/* The blurred blob is exported with its blur padding baked in, so it is
1500   larger than its Figma box (338.97x264 at 91,18) by the blur radius. */
1501#page-rzpn .rzpn-agents-glow {
1502  position: absolute; left: 50%; top: -102px;
1503  width: 578.97px; height: 504px;
1504  transform: translateX(-50%);
1505  pointer-events: none;
1506}
1507#page-rzpn .rzpn-agents-row {
1508  position: relative;
1509  display: flex; align-items: center; gap: 20px;
1510  padding-left: 8px;
1511}
1512#page-rzpn .rzpn-agents-cmdwrap {
1513  display: flex; align-items: center; gap: 16px;
1514  flex: 1; min-width: 0;
1515}
1516#page-rzpn .rzpn-agents-key {
1517  width: 36px; flex: none;
1518  font-family: var(--font-display);
1519  font-weight: 500; font-size: 14px; line-height: 16px; color: #fff;
1520}
1521#page-rzpn .rzpn-agents-cmd {
1522  flex: 1; min-width: 0;
1523  font-family: var(--font-mono);
1524  font-size: 12px; line-height: 18px; color: #c6f076;
1525  overflow-wrap: anywhere;
1526  /* Mintlify styles inline <code> as a grey pill (2px 8px padding, light
1527     background, 6px radius) on every page; the handoff has no such rule.
1528     The padding alone re-wraps the CLI command to a third line. */
1529  padding: 0;
1530  background: none;
1531  border-radius: 0;
1532}
1533#page-rzpn .rzpn-agents-copy {
1534  display: inline-flex; align-items: center; gap: 4px; flex: none;
1535  height: 36px; padding: 0 16px 0 12px;
1536  border: 1px solid rgba(229,231,235,.1); border-radius: 8px;
1537  background: #fff; cursor: pointer;
1538  font-family: var(--font-display);
1539  font-weight: 600; font-size: 14px; line-height: 16px; color: #000;
1540}
1541#page-rzpn .rzpn-agents-copy:hover { background: #eef1f4; }
1542#page-rzpn .rzpn-agents-copy img { display: block; }
1543#page-rzpn .rzpn-agents-line {
1544  height: 0; margin: 19.5px 0;
1545  border: 0; border-top: 1px solid rgba(255,255,255,.1);
1546}
1547
1548#page-rzpn .rzpn-agents-aside {
1549  position: absolute; right: var(--rzpn-pad); top: calc(149px + var(--rzpn-agents-lift));
1550  width: 174px;
1551  display: flex; flex-direction: column; align-items: flex-start; gap: 32px;
1552}
1553#page-rzpn .rzpn-agents-aside-item {
1554  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
1555}
1556#page-rzpn .rzpn-agents-aside p {
1557  margin: 0;
1558  font-family: var(--font-body);
1559  font-size: 14px; line-height: 20px; letter-spacing: -0.182px;
1560  color: #fff; text-align: left;
1561}
1562#page-rzpn .rzpn-agents-link {
1563  display: inline-flex; align-items: center; gap: 4px;
1564  font-family: var(--font-body);
1565  font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: -0.182px;
1566  color: #75a9ff; text-decoration: none;
1567}
1568#page-rzpn .rzpn-agents-link:hover { text-decoration: underline; }
1569/* Masked rather than <img> so the shared icons can carry the Blade link
1570   colour (interactive.text.primary.normal) on this dark surface. */
1571#page-rzpn .rzpn-agents-ico {
1572  width: 16px; height: 16px; flex: none;
1573  background: #75a9ff;
1574  -webkit-mask: center / contain no-repeat;
1575  mask: center / contain no-repeat;
1576}
1577#page-rzpn .rzpn-agents-ico--arrow {
1578  -webkit-mask-image: url('/static/docs-home/assets/link-arrow.svg');
1579  mask-image: url('/static/docs-home/assets/link-arrow.svg');
1580}
1581#page-rzpn .rzpn-agents-ico--doc {
1582  -webkit-mask-image: url('/static/docs-home/assets/file-code.svg');
1583  mask-image: url('/static/docs-home/assets/file-code.svg');
1584}
1585
1586/* Below the artboard width the aside would collide with the terminal, so the
1587   band unwinds into a stack. The window re-anchors to the terminal itself and
1588   keeps the same 32px reveal above / 39px below that the punch-out gives. */
1589#rzpn-home.rzpn-lte-1180 {
1590  #page-rzpn .rzpn-agents-stage {
1591    height: auto;
1592    display: flex; flex-direction: column; align-items: center; gap: 40px;
1593    padding-top: 72px; padding-bottom: 72px;
1594  }
1595  #page-rzpn .rzpn-agents-h,
1596  #page-rzpn .rzpn-agents-aside { position: static; width: 100%; max-width: 521px; }
1597  #page-rzpn .rzpn-agents-h { font-size: 48px; letter-spacing: -1.92px; }
1598  #page-rzpn .rzpn-agents-panel { position: relative; width: 100%; max-width: 521px; }
1599  #page-rzpn .rzpn-agents-term { position: relative; top: auto; left: auto; width: 100%; margin-left: 0; }
1600  #page-rzpn .rzpn-agents-aside {
1601    flex-direction: row; flex-wrap: wrap; align-items: flex-start;
1602    justify-content: space-between; gap: 32px;
1603  }
1604}
1605#rzpn-home.rzpn-lte-620 {
1606  #page-rzpn .rzpn-agents-h { font-size: 40px; letter-spacing: -1.6px; }
1607  /* The row turns into a stacked block — label over command — with the copy
1608     control reduced to a square icon button held at the right, centred against
1609     the whole block. Side by side the label ate a third of the width and the
1610     command wrapped to four lines; the button's label went with it. */
1611  #page-rzpn .rzpn-agents-row { flex-wrap: nowrap; padding-left: 0; gap: 16px; align-items: center; }
1612  #page-rzpn .rzpn-agents-cmdwrap {
1613    flex-direction: column; align-items: flex-start; gap: 6px;
1614    flex: 1; min-width: 0;
1615  }
1616  #page-rzpn .rzpn-agents-key { width: auto; line-height: 18px; }
1617  #page-rzpn .rzpn-agents-copy {
1618    width: 44px; height: 44px; flex: none;
1619    padding: 0; justify-content: center;
1620    border-radius: 12px;
1621  }
1622  /* Icon only. The label is what the copy script flips to "Copied", so the
1623     button tints instead — otherwise the tap has no feedback at all. */
1624  #page-rzpn .rzpn-agents-copy [data-rzpn-copy-label] { display: none; }
1625  #page-rzpn .rzpn-agents-copy.is-copied { background: #c6f076; }
1626}
1627
1628/* ---------------------------------------------------------- responsive -- */
1629#rzpn-home.rzpn-lte-1280 {
1630  #page-rzpn { --rzpn-pad: 40px; }
1631  #page-rzpn .rzpn-nav-meta { display: none; }
1632  #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(3, 1fr); }
1633  #page-rzpn .rzpn-devrow { padding-bottom: 96px; }
1634  #page-rzpn .rzpn-devcards { gap: 16px; }
1635}
1636#rzpn-home.rzpn-lte-1129 {
1637  #page-rzpn .rzpn-nav-links a.rzpn-nav-overflow { display: none; }
1638  #page-rzpn .rzpn-nav-more { display: flex; }
1639}
1640#rzpn-home.rzpn-lte-900 {
1641  #page-rzpn { --rzpn-pad: 20px; overflow-x: hidden; }
1642  /* The section rhythm is the 1440 artboard's — 171/192/196px of air above
1643     each rule. At phone widths that reads as the page having ended. Scaled
1644     down together so the spacing stays even between sections. */
1645  #page-rzpn .rzpn-devrow { padding-bottom: 48px; }
1646  /* Inline label+pills only reads at desktop widths — a 6-pill row next to a
1647     24px heading has nowhere to go on a phone, so this drops back to the
1648     stacked layout (label above, pills below). */
1649  #page-rzpn .rzpn-devtools {
1650    flex-direction: column; align-items: flex-start; gap: 16px;
1651  }
1652  #page-rzpn .rzpn-section--payments { padding-top: 64px; }
1653  #page-rzpn .rzpn-section--pos { padding-top: 64px; }
1654  #page-rzpn .rzpn-section--banking { padding-top: 48px; }
1655  #page-rzpn .rzpn-section--partners { padding-top: 64px; padding-bottom: 64px; }
1656  #page-rzpn .rzpn-agents { margin-top: 0; }
1657  /* The nav is a single non-wrapping row at desktop widths; below that it
1658     collapses to logo + search + assistant + burger so it can't force a
1659     sideways scroll (which would also drag the photo layer out of register).
1660     Everything it drops moves into the burger's panel. */
1661  #page-rzpn .rzpn-nav { gap: 12px; padding: 0 12px; }
1662  #page-rzpn .rzpn-nav-links,
1663  #page-rzpn .rzpn-nav-icobtn,
1664  #page-rzpn .rzpn-nav-meta { display: none; }
1665  #page-rzpn .rzpn-nav-prefs { gap: 8px; }
1666  #page-rzpn .rzpn-nav-assistant { padding: 8px 10px; font-size: 13px; }
1667  #page-rzpn .rzpn-nav-burger {
1668    display: inline-flex; align-items: center; justify-content: center;
1669    width: 36px; height: 36px; padding: 0;
1670    border: 1px solid #c8cdd0; border-radius: 8px;
1671    background: #fff; color: #616d75; cursor: pointer;
1672  }
1673  #page-rzpn .rzpn-nav-burger:hover { border-color: #9aa3a9; }
1674  /* Drop the fixed ratio so the title and pill are never clipped. */
1675  #page-rzpn .rzpn-pcard { aspect-ratio: auto; }
1676  #page-rzpn .rzpn-pcard-media { aspect-ratio: 242 / 182; }
1677  #page-rzpn .rzpn-hero { height: 320px; }
1678  #page-rzpn .rzpn-hero-h1 { font-size: 48px; top: 108px; }
1679  #page-rzpn .rzpn-ask { top: 200px; height: 60px; }
1680  #page-rzpn .rzpn-h2 { font-size: 40px; letter-spacing: -2px; }
1681  /* 01/Build and friends are a step label, not a section heading — at desktop
1682     the 48px reads as a caption beside 64px headings, but once .rzpn-h2 comes
1683     down to 40px it outranks them. */
1684  #page-rzpn .rzpn-step-num { font-size: 14px; line-height: 18px; letter-spacing: -0.7px; }
1685  #page-rzpn .rzpn-step-name { font-size: 28px; line-height: 34px; letter-spacing: -1.4px; }
1686  #page-rzpn .rzpn-block { flex-direction: column; align-items: flex-start; gap: 16px; }
1687  #page-rzpn .rzpn-block-aside { width: 100%; align-items: flex-start; }
1688  #page-rzpn .rzpn-block-aside p { text-align: left; }
1689  #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(2, 1fr); }
1690  #page-rzpn .rzpn-step { grid-template-columns: 1fr; }
1691  #page-rzpn .rzpn-step-cards { grid-template-columns: 1fr; }
1692  #page-rzpn .rzpn-grid { grid-template-columns: repeat(2, 1fr); }
1693  /* padding-bottom added: stacked, .rzpn-pos-aside (the "Know more" link) is
1694     the last thing in this grid and had nothing after it but its own
1695     content — the closing <hr> sat flush against the link's own bottom
1696     edge (0px gap). 48px matches the gap the AI cards use before their own
1697     divider above. */
1698  #page-rzpn .rzpn-pos { grid-template-columns: 1fr; min-height: 0; padding-bottom: 48px; }
1699  /* The artwork is absolutely placed against a two-column section that no
1700     longer exists here, so it becomes a block of its own between the copy and
1701     the aside. It breaks out of the page gutter to sit 24px from each screen
1702     edge, and everything inside is a percentage of that box rather than a
1703     fixed px size — so the device fills the width at any phone, and the window
1704     and the offsets keep their artboard ratios (367:668 wide, 117px apart)
1705     while they scale. */
1706  #page-rzpn .rzpn-pos-art {
1707    position: relative; inset: auto;
1708    display: block;
1709    height: auto;
1710    aspect-ratio: 327 / 262;
1711    margin: 28px calc(24px - var(--rzpn-pad)) 0;
1712  }
1713  #page-rzpn .rzpn-pos-window {
1714    left: 50%; margin-left: 0; transform: translateX(-50%);
1715    top: 15.27%;                       /* 40 / 262 */
1716    width: 55.05%;                     /* 367 / 668 */
1717  }
1718  /* The device sits 11px left of the window's centre on the artboard — 3.35%
1719     of its own width, which survives the scaling. */
1720  #page-rzpn .rzpn-pos-device {
1721    left: 50%; margin-left: 0;
1722    transform: translateX(-53.35%);
1723    top: -6.49%;                       /* -17 / 262 */
1724    width: 100%;
1725  }
1726  #page-rzpn .rzpn-pos-aside-anchor { position: static; height: auto; padding-top: 0; }
1727  #page-rzpn .rzpn-pos-aside { position: static; justify-self: start; margin-top: 32px; width: 100%; }
1728}
1729
1730/* ------------------------------------------------------------ mweb ------ */
1731#rzpn-home.rzpn-lte-600 {
1732  #page-rzpn .rzpn-grid { grid-template-columns: 1fr; gap: 16px; }
1733  #page-rzpn .rzpn-creds-row { flex-direction: column; gap: 16px; }
1734  #page-rzpn .rzpn-cred { height: auto; min-height: 96px; gap: 20px; }
1735
1736  /* Developer tools divider spacing: the gap above the top divider (AI cards
1737     -> divider, 48px) didn't match the gap below it (divider -> "Developer
1738     tools" heading, 52px from .rzpn-devrow's own margin-top) — brought down
1739     to 48 to match. The gap below the cards (before the Payments divider) was
1740     112px — .rzpn-devrow's own 48px padding-bottom PLUS the payments
1741     section's 64px padding-top stacking. Zeroing the latter for specifically
1742     this pair of sections leaves devrow's own 48px as the only source, so all
1743     three gaps read as the same 48px. */
1744  #page-rzpn .rzpn-devrow { margin-top: 48px; }
1745  #page-rzpn .rzpn-ai + .rzpn-section--payments { padding-top: 0; }
1746
1747  /* The POS window (the rounded highlight behind the device) was 55.05% of
1748     its already-inset .rzpn-pos-art box, reading as a small cutout adrift in
1749     the middle of the card rather than a band that fills the same
1750     horizontal space as the rest of the page's content. Full width of its
1751     container instead, edge to edge with the page's own gutter. */
1752  #page-rzpn .rzpn-pos-window {
1753    left: 0; margin-left: 0; transform: none;
1754    width: 100%;
1755  }
1756
1757  /* Stacked, a card is wide enough to read as a row, so it takes the
1758     affordance a row carries: a chevron in the top-right corner. Drawn as a
1759     mask over the shared chevron asset so it inherits the card's ink. */
1760  #page-rzpn .rzpn-grid .rzpn-card { position: relative; padding-right: 44px; }
1761  #page-rzpn .rzpn-grid .rzpn-card::after {
1762    content: '';
1763    position: absolute; top: 29px; right: 20px;
1764    /* The asset is preserveAspectRatio="none", so the box has to carry the
1765       glyph's own 5.92:10.36 ratio or the chevron stretches. */
1766    width: 8px; height: 14px;
1767    background: #9aa3a9;
1768    -webkit-mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat;
1769    mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat;
1770  }
1771
1772  /* The ribbon artwork is one fixed 1440x448 stage, scaled as a single group
1773     via transform rather than resizing each piece — transform-origin: top
1774     center (set unconditionally in the base rule) keeps the composition
1775     anchored, just 40% smaller as a whole. margin-left is nudged +24px (from
1776     the desktop -688px) to shift the scaled composition 24px right. */
1777  #page-rzpn .rzpn-art { transform: scale(0.6); margin-left: -664px; }
1778
1779  /* The ask bar was sized for a 636px field; at phone widths the placeholder
1780     ran past the arrow, so type, icons and the box all come down together. */
1781  #page-rzpn .rzpn-hero { height: 300px; }
1782  #page-rzpn .rzpn-hero-h1 { font-size: 40px; top: 100px; }
1783  #page-rzpn .rzpn-ask {
1784    top: 176px;
1785    height: 52px;
1786    gap: 8px;
1787    padding: 0 12px 0 14px;
1788    border-radius: 10px;
1789  }
1790  #page-rzpn .rzpn-ask-spark { width: 18px; height: 18px; }
1791  #page-rzpn .rzpn-ask-input,
1792  #page-rzpn .rzpn-ask-ph { font-size: 15px; letter-spacing: -0.3px; }
1793  #page-rzpn .rzpn-ask-go img,
1794  #page-rzpn .rzpn-ask-go svg { width: 22px; height: 22px; }
1795
1796}
1797#rzpn-home.rzpn-lte-420 {
1798  #page-rzpn .rzpn-nav-assistant span { display: none; }
1799  #page-rzpn .rzpn-nav-assistant { padding: 8px; }
1800}
1801
1802
1803/* ---------------------------------------------------- v41 light / dark ---
1804   Toggled from the sun/moon control in the top nav (see the v41 theme IIFE),
1805   which sets data-theme on the page. Overrides are grouped here rather than
1806   tokenising all ~200 v41 rules: the light theme stays the default and dark
1807   restates only the surfaces, text and borders that actually flip. The hero
1808   photo, its white glyph field and the always-dark "Integrate in minutes"
1809   section read correctly in both, so they are left alone. */
1810/* Segmented theme control, now in the footer. Icons are masks so they take
1811   currentColor and follow the selected/dark states without extra files. */
1812
1813
1814/* --- surfaces ------------------------------------------------------------ */
1815
1816
1817/* --- nav ----------------------------------------------------------------- */
1818
1819
1820/* The wordmark is dark-on-light artwork. A plain invert turns its blue mark
1821   yellow, so knock it to a white silhouette instead — the usual dark-mode
1822   treatment when there is no white lockup to swap in. */
1823
1824/* Only the greyscale glyphs get inverted. */
1825
1826/* Two of the three agent marks are solid black; the third is coral and would
1827   go teal if inverted, so it is left as it is. */
1828
1829
1830/* --- headings and body --------------------------------------------------- */
1831
1832
1833/* --- cards, chips, credentials ------------------------------------------- */
1834
1835
1836/* --- prompt cards -------------------------------------------------------- */
1837
1838/* The asset plates read as blank UI, so they follow the surface, not paper. */
1839
1840/* The veil lightens the photo for light type; in dark it has to darken it. */
1841
1842
1843/* --- hero ask bar -------------------------------------------------------- */
1844
1845
1846/* Left uninverted on purpose: the arrow is brand blue and the spark is
1847   green — both read fine on the dark bar, and inverting turned them yellow. */
1848
1849/* The credential cards' dotted texture is a hard-light overlay tuned for a
1850   white card; on a dark one it blows out to a bright patch. */
1851
1852
1853/* ------------------------------------------- v41 card icons + hover ------
1854   The circles are empty placeholders in the artboard, so these glyphs are
1855   authored rather than exported — a plain 1.5px stroke set matching the nav
1856   icons. Swap them for the real set when it exists. Drawn as one inline
1857   <symbol> sprite so 20 cards cost no extra requests, and stroked in
1858   currentColor so each section can tint its own. */
1859#page-rzpn .rzpn-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
1860#page-rzpn .rzpn-dot { display: grid; place-items: center; }
1861/* fill/stroke live on the <svg> host, not the <symbol>: a rule matching the
1862   symbol in the source tree never reaches the cloned <use> shadow content, so
1863   the paths rendered filled-black. These are inherited SVG properties, so
1864   setting them here does carry through. */
1865#page-rzpn .rzpn-dot-ico {
1866  /* 17/32 of the old 32px dot, kept proportional on the new 40px size. */
1867  width: 21.25px; height: 21.25px;
1868  color: #2f5bbd;
1869  fill: none;
1870  stroke: currentColor;
1871  stroke-width: 1.8;
1872  stroke-linecap: round;
1873  stroke-linejoin: round;
1874}
1875#page-rzpn .rzpn-grid--green .rzpn-dot-ico { color: #2f7d55; }
1876#page-rzpn .rzpn-grid--peach .rzpn-dot-ico { color: #a86427; }
1877
1878/* Clickable affordance: a dotted underline at rest says "this goes somewhere",
1879   and the card lifts on hover. */
1880#page-rzpn .rzpn-card {
1881  cursor: pointer;
1882  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
1883}
1884/* Hover-only underline that wipes in left-to-right. text-decoration cannot
1885   animate its extent, so the rule is a repeating-gradient background on an
1886   inline span whose background-size grows 0 -> 100%. `box-decoration-break:
1887   clone` gives each wrapped line its own background box, so two-line titles
1888   get a full underline on both lines rather than one line spanning the block. */
1889#page-rzpn .rzpn-card h3,
1890#page-rzpn .rzpn-pcard-title { text-decoration: none; }
1891#page-rzpn .rzpn-u {
1892  --rzpn-u-col: #4b5563;
1893  background-image: repeating-linear-gradient(to right,
1894    var(--rzpn-u-col) 0 1.5px, transparent 1.5px 4px);
1895  background-repeat: no-repeat;
1896  background-position: 0 100%;
1897  background-size: 0% 1px;
1898  padding-bottom: 3px;
1899  -webkit-box-decoration-break: clone;
1900  box-decoration-break: clone;
1901  transition: background-size .18s cubic-bezier(.4, 0, .2, 1);
1902}
1903/* The whole prompt card is the trigger, so hovering the masked image fires it
1904   too — not just the title. */
1905#page-rzpn .rzpn-card:hover h3 .rzpn-u,
1906#page-rzpn .rzpn-devcard:hover .rzpn-u,
1907#page-rzpn .rzpn-pcard:hover .rzpn-u { background-size: 100% 1px; }
1908#page-rzpn .rzpn-pcard { cursor: pointer; }
1909/* The title link stretches over the whole prompt card so the artwork and the
1910   title both navigate; the Copy prompt pill sits above the overlay so it keeps
1911   copying instead of following the link. The link must stay static — the theme
1912   positions anchors, which would trap the ::after inside the title's line box. */
1913#page-rzpn .rzpn-pcard-link { position: static; }
1914#page-rzpn .rzpn-pcard-link::after { content: ""; position: absolute; inset: 0; }
1915#page-rzpn .rzpn-pcard-pill { position: relative; z-index: 1; }
1916@media (prefers-reduced-motion: reduce) {
1917  #page-rzpn .rzpn-u { transition-duration: .01ms; }
1918}
1919#page-rzpn .rzpn-card:hover {
1920  transform: translateY(-2px);
1921  box-shadow: 0 8px 20px rgba(80,168,212,.18);
1922  border-color: #d2d8dd;
1923}
1924
1925
1926/* dark mode */
1927
1928
1929/* ------------------------------------------------------- v41 footer -----
1930   Sign-off band: the page's own meadow photo full-bleed, carrying an
1931   oversized Razorpay Docs lockup, with the link columns on white beneath.
1932   The lockup reuses the nav's two SVGs knocked to white — same treatment as
1933   the dark-mode nav, since there is no white lockup asset to swap in. */
1934#page-rzpn-scope { }
1935/* The footer is a sibling of #page-rzpn, so the "sections scroll over the
1936   fixed artwork" rule in the hero block can't reach it — same stacking fix
1937   applied here directly. */
1938.rzpn-footer { position: relative; z-index: 1; background: #fff; }
1939/* The lockup used to sit on a full-bleed band of the shared photo. That band
1940   is gone; it now heads the About column at nav scale, in its own ink. */
1941.rzpn-foot-lockup { display: flex; align-items: center; gap: 10px; }
1942.rzpn-foot-logo { display: block; height: 26px; width: auto; }
1943.rzpn-foot-docs { display: block; height: 17px; width: auto; }
1944
1945.rzpn-foot-body {
1946  max-width: 1440px;
1947  margin: 0 auto;
1948  padding: 72px 64px 40px;
1949}
1950.rzpn-foot-cols {
1951  display: grid;
1952  grid-template-columns: 1.35fr 1fr 1fr 1fr;
1953  gap: 48px;
1954}
1955/* razorpay.com stacks several groups inside each column rather than giving
1956   every group its own column — same here, two per column. */
1957.rzpn-foot-col { display: flex; flex-direction: column; gap: 40px; }
1958.rzpn-foot-about { display: flex; flex-direction: column; gap: 24px; }
1959
1960.rzpn-foot-legalese { display: flex; flex-direction: column; gap: 4px; }
1961
1962.rzpn-foot-blurb {
1963  margin: 0;
1964  max-width: 380px;
1965  font-family: var(--font-body);
1966  font-size: 15px; line-height: 26px; letter-spacing: -0.2px; color: #4b5563;
1967}
1968.rzpn-foot-links { display: flex; flex-direction: column; gap: 14px; }
1969.rzpn-foot-col-title {
1970  margin: 0 0 2px;
1971  font-family: var(--font-body);
1972  font-weight: 700; font-size: 12px; line-height: 16px;
1973  letter-spacing: .06em; text-transform: uppercase; color: #050505;
1974}
1975/* #rzpn-home prefix for specificity: the page reset `#rzpn-home a
1976   { color: inherit }` (1,0,1) outranks a bare `.rzpn-foot-links a` (0,1,1),
1977   so without it every footer anchor inherits the page's --ink instead. */
1978#rzpn-home .rzpn-foot-links a {
1979  font-family: var(--font-body);
1980  font-size: 15px; line-height: 20px; letter-spacing: -0.2px;
1981  color: #3f4a55; text-decoration: none;
1982}
1983#rzpn-home .rzpn-foot-links a:hover { color: #0e54cc; }
1984
1985.rzpn-foot-bottom {
1986  margin-top: 64px;
1987  padding-top: 22px;
1988  border-top: 1px solid #e4e7ea;
1989  display: flex; align-items: center; justify-content: space-between; gap: 24px;
1990}
1991.rzpn-foot-bottom p {
1992  margin: 0;
1993  font-family: var(--font-body);
1994  font-size: 14px; line-height: 20px; letter-spacing: -0.18px; color: #7d868e;
1995}
1996/* The RBI legalese drops below the shared bottom-bar text — smaller and
1997   lighter. #rzpn-home prefix so this beats `.rzpn-foot-bottom p` above
1998   (v42 reaches for !important instead; the id scope does the same job). */
1999#rzpn-home .rzpn-foot-rbi { font-size: 13px; color: #9aa3ab; }
2000.rzpn-foot-legal { display: flex; gap: 28px; }
2001/* Same specificity story as .rzpn-foot-links a above. */
2002#rzpn-home .rzpn-foot-legal a {
2003  font-family: var(--font-body);
2004  font-size: 14px; line-height: 20px; letter-spacing: -0.18px;
2005  color: #7d868e; text-decoration: none;
2006}
2007#rzpn-home .rzpn-foot-legal a:hover { color: #0e54cc; }
2008
2009/* dark mode follows the page's theme attribute, which lives on #page-rzpn */
2010
2011
2012#rzpn-home.rzpn-lte-1280 {
2013  .rzpn-foot-body { padding-left: 40px; padding-right: 40px; }
2014}
2015#rzpn-home.rzpn-lte-900 {
2016  .rzpn-foot-body { padding-left: 20px; padding-right: 20px; }
2017  .rzpn-foot-cols { grid-template-columns: 1fr 1fr; gap: 32px; }
2018  .rzpn-foot-about { grid-column: 1 / -1; }
2019  .rzpn-foot-body { padding-top: 44px; }
2020  .rzpn-foot-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
2021}
2022</style><!--$--><!--/$--><div class="flex flex-row-reverse gap-12 box-border w-full pt-[calc(10rem+var(--banner-height,2.5rem))] lg:pt-10"><div class="hidden xl:flex self-start sticky xl:flex-col max-w-[28rem] z-21 h-[calc(100vh-9.5rem)] top-[9.5rem] [[data-banner-state=visible]_&amp;]:h-[calc(100vh-12rem)] [[data-banner-state=visible]_&amp;]:top-[12rem]" id="content-side-layout"><div class="z-10 hidden xl:flex box-border max-h-full pl-10 w-[19rem]" id="table-of-contents-layout"><div role="presentation" style="position:relative;--scroll-area-corner-height:0px;--scroll-area-corner-width:0px" data-component-part="scroll-area" id="table-of-contents" class="min-w-0 text-gray-600 text-sm leading-6 w-[16.5rem] -mt-10"><div role="presentation" data-id="base-ui-_R_1dktbsnlhjiuqsnpfiutb_-viewport" tabindex="-1" class="size-full rounded-[inherit] [--scroll-area-fade-size:32px] pt-10 pb-4 base-ui-disable-scrollbar" style="overflow:scroll" data-component-part="scroll-area-viewport"><div role="presentation" style="min-width:fit-content" data-component-part="scroll-area-content" 
2022class="min-w-0! w-full space-y-2"><nav aria-labelledby="_R_dktbsnlhjiuqsnpfiutb_"><h2 id="_R_dktbsnlhjiuqsnpfiutb_" class="m-0 font-normal"><button type="button" class="text-gray-700 dark:text-gray-300 font-medium flex items-center space-x-2 hover:text-gray-900 dark:hover:text-gray-100 transition-colors cursor-pointer"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0"><path d="M2.75 14.25H15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 3.75H15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 9H8.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span>On this page</span></button></h2><div><ul id="table-of-contents-content" class="toc"><li class="toc-item relative" data-depth="0"><a style="--toc-padding-left:0rem" href="#api-gateway-url" class="break-words py-1 block pl-[calc(var(--toc-padding-left)+var(--toc-focus-padding,0rem))] focus-visible:[--toc-focus-padding:0.25rem] focus-visible:-ml-1 focus-visible:-outline-offset-2 font-medium dark:text-gray-400 [li:not([data-active])&gt;&amp;:hover]:text-gray-900 dark:[li:not([data-active])&gt;&amp;:hover]:text-gray-300 [[data-active]&gt;&amp;]:text-primary dark:[[data-active]&gt;&amp;]:text-primary-light [[data-active]&gt;&amp;]:[text-shadow:-0.15px_0_0_currentColor,0.15px_0_0_currentColor]">API Gateway URL</a><ul class=""><li class="toc-item relative" data-depth="1"><a style="--toc-padding-left:1rem" href="#related-information" class="group flex items-start break-words py-1 pl-[calc(var(--toc-padding-left)+var(--toc-focus-padding,0rem))] whitespace-pre-wrap focus-visible:[--toc-focus-padding:0.25rem] focus-visible:-ml-1 focus-visible:-outline-offset-2 text-gray-500 [li:not([data-active])&gt;&amp;:hover]:text-gray-900 dark:text-gray-400 dark:[li:not([data-active])&gt;&amp;:hover]:text-gray-300 [[data-active]&gt;&amp;]:text-primary dark:[[data-active]&gt;&amp;]:text-primary-light">Related Information</a></li></ul></li></ul></div></nav></div></div></div></div></div><div class="relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[5.7rem] lg:-ml-12 xl:w-[calc(100%-28rem)]" id="content-area"><header id="header" class="relative leading-none @container/page-header"><div class="mt-0.5 space-y-2.5"><div class="eyebrow h-5 text-primary dark:text-primary-light text-sm font-semibold">Introduction</div><div class="flex flex-col sm:flex-row items-start sm:items-center relative gap-2 min-w-0"><h1 id="page-title" class="text-3xl sm:text-4xl text-gray-900 tracking-tight dark:text-gray-200 [overflow-wrap:anywhere] font-semibold">API Reference Guide</h1><div id="page-context-menu" class="items-center shrink-0 min-w-[156px] justify-end ml-auto hidden @[520px]/page-header:flex"><button id="page-context-menu-button" class="rounded-l-xl px-3 text-gray-700 dark:text-gray-300 py-1.5 border border-gray-200 dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5 border-r-0" aria-label="Copy page"><div class="flex items-center gap-2 text-sm text-center font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 1.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="grid"><span aria-hidden="true" class="invisible col-start-1 row-start-1">Copy page</span><span class="col-start-1 row-start-1">Copy page</span></span></div></button><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_3dohlktbsnlhjiuqsnpfiutb_" aria-label="More actions" class="group disabled:pointer-events-none [&amp;&gt;span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light py-0.5 gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 rounded-none rounded-r-xl border flex items-center justify-center h-[34px] border-gray-200 aspect-square dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div><div class="mt-2 text-lg prose prose-gray dark:prose-invert [&amp;&gt;*]:[overflow-wrap:anywhere]"><p>Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.</p></div><div id="page-context-menu" class="flex items-center shrink-0 min-w-[156px] mt-3 @[520px]/page-header:hidden"><button id="page-context-menu-button" class="rounded-l-xl px-3 text-gray-700 dark:text-gray-300 py-1.5 border border-gray-200 dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5 border-r-0" aria-label="Copy page"><div class="flex items-center gap-2 text-sm text-center font-medium"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 
20221.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="grid"><span aria-hidden="true" class="invisible col-start-1 row-start-1">Copy page</span><span class="col-start-1 row-start-1">Copy page</span></span></div></button><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_6phlktbsnlhjiuqsnpfiutb_" aria-label="More actions" class="group disabled:pointer-events-none [&amp;&gt;span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light py-0.5 gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 rounded-none rounded-r-xl border flex items-center justify-center h-[34px] border-gray-200 aspect-square dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></header><div class="mdx-content @container/columns-container relative mt-8 prose prose-gray dark:prose-invert [contain:inline-size] isolate empty:hidden mb-14" data-page-title="API Reference Guide" data-page-href="/docs/api" id="content"><div style="display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.9rem;border:1px solid rgba(128,128,128,0.28);border-radius:0.5rem;padding:0.45rem 0.75rem;margin:0 0 1.25rem;font-size:0.875rem"><span style="font-weight:600">Available in</span><span>🇮🇳 India</span><span>🇲🇾 Malaysia</span><span>🇸🇬 Singapore</span><span>🇺🇸 United States</span></div>
2023<span data-as="p">Razorpay APIs are completely RESTful, and all our responses are returned in JSON.</span>
2024<div role="note" aria-label="Info" class="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-white/10" data-callout-type="info"><div class="mt-0.5 w-4" data-component-part="callout-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="flex-none size-5 text-neutral-800 dark:text-neutral-300"><path d="M 7.2 0 C 3.2231 0 0 3.2231 0 7.2 C 0 11.1768 3.2231 14.4 7.2 14.4 C 11.1768 14.4 14.4 11.1768 14.4 7.2 C 14.4 3.2231 11.1768 0 7.2 0 Z M 7.2 13.05 C 3.9741 13.05 1.35 10.4257 1.35 7.2 C 1.35 3.9743 3.9741 1.35 7.2 1.35 C 10.426 1.35 13.05 3.9743 13.05 7.2 C 13.05 10.4257 10.426 13.05 7.2 13.05 Z M 8.325 9.45 H 7.875 V 6.975 C 7.875 6.6038 7.5741 6.3 7.2 6.3 H 6.3 C 5.9288 6.3 5.625 6.6038 5.625 6.975 C 5.625 7.3462 5.9288 7.65 6.3 7.65 H 6.525 V 9.45 H 6.075 C 5.7038 9.45 5.4 9.7538 5.4 10.125 C 5.4 10.4962 5.7038 10.8 6.075 10.8 H 8.325 C 8.6977 10.8 9 10.4977 9 10.125 C 9 9.7523 8.6991 9.45 8.325 9.45 Z M 7.2 5.4 C 7.697 5.4 8.1 4.997 8.1 4.5 C 8.1 4.003 7.697 3.6 7.2 3.6 C 6.703 3.6 6.3 4.0022 6.3 4.5 C 6.3 4.9978 6.7022 5.4 7.2 5.4 Z" fill="currentColor" stroke="none"></path></svg></div><div class="text-sm prose dark:prose-invert min-w-0 w-full [&amp;_kbd]:bg-background-light dark:[&amp;_kbd]:bg-background-dark [&amp;_code]:text-current! [&amp;_kbd]:text-current! [&amp;_a]:text-current! [&amp;_a]:border-current [&amp;_strong]:text-current! text-neutral-800 dark:text-neutral-300" data-component-part="callout-content"><span data-as="p"><strong>Integrations</strong></span><ul>
2025<li>Looking to integrate your website, ecommerce store or mobile app with Razorpay Payment Gateway? Find the <a class="link" href="/docs/payments/payment-gateway#integration-types">right integration method</a>.</li>
2026<li>Accept payments <a class="link" href="/docs/payments#accept-payments"><strong>without</strong> a website or app</a> using other Razorpay products, such as Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.</li>
2027<li>For S2S integration, contact the <a href="https://razorpay.com/support/#request" target="_blank" rel="noreferrer" class="link">Support team</a> with your requirements.</li>
2028</ul></div></div>
2029<div class="columns prose dark:prose-invert grid max-w-none gap-4 @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 card-group dark:prose-dark gap-y-0 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))]!" style="--cols:2"></div>
2030<h2 class="flex whitespace-pre-wrap group font-semibold" id="api-gateway-url"><div class="absolute" tabindex="-1"><a href="#api-gateway-url" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100 focus:opacity-100 focus:outline-0 group/link" aria-label="Navigate to header">​<div class="size-6 rounded-md flex items-center justify-center shadow-xs text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0"><path d="M8.50001 6.827C8.14801 6.995 7.81801 7.225 7.52701 7.517L7.51701 7.527C6.13601 8.908 6.13601 11.146 7.51701 12.527L9.69201 14.702C11.073 16.
2030083 13.311 16.083 14.692 14.702L14.702 14.692C16.083 13.311 16.083 11.073 14.702 9.692L13.771 8.761" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9.50002 11.173C9.85202 11.005 10.182 10.775 10.473 10.483L10.483 10.473C11.864 9.092 11.864 6.854 10.483 5.473L8.30802 3.298C6.92702 1.917 4.68902 1.917 3.30802 3.298L3.29802 3.308C1.91702 4.689 1.91702 6.927 3.29802 8.308L4.22902 9.239" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></div><span class="cursor-pointer">API Gateway URL</span></h2>
2031<span data-as="p">For most of the Razorpay APIs, the Gateway URL is <code>https://api.razorpay.com/v1</code>. You need to include this before each API endpoint to make API calls. However, certain APIs are on V2. Hence, the gateway URL may differ for certain APIs.</span>
2032<div class="accordion-group [&amp;&gt;details]:border-0 [&amp;&gt;details]:rounded-none [&amp;&gt;details&gt;summary]:rounded-none [&amp;&gt;details]:mb-0 overflow-hidden mt-0 mb-3 rounded-2xl prose prose-gray dark:prose-invert divide-y! divide-inherit! border-standard"><details class="accordion border-standard rounded-2xl mb-3 overflow-hidden bg-background-light dark:bg-codeblock cursor-default"><summary class="relative not-prose flex flex-row items-center content-center w-full cursor-pointer list-none [&amp;::-webkit-details-marker]:hidden gap-3 px-5 py-3.5 hover:bg-gray-100 hover:dark:bg-gray-800" aria-controls="example-accordion-children" aria-expanded="false" data-component-part="accordion-button"><div id="example" class="absolute top-[-8rem] [[data-banner-state=visible]_&amp;]:top-[-10.5rem]"></div><div class="flex size-4 shrink-0 items-center justify-center" data-component-part="accordion-caret-right"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="currentColor" stroke="none" aria-hidden="true" class="size-3 shrink-0 text-gray-600 transition-transform duration-200 dark:text-gray-400 -rotate-90"><path d="M14.0238 4.00002H3.97576C3.33776 4.00002 2.74976 4.34702 2.44276 4.90602C2.13576 5.46502 2.15576 6.14802 2.49776 6.68702L7.52176 14.61C7.84476 15.119 8.39676 15.422 8.99976 15.422C9.60276 15.422 10.1548 15.118 10.4778 14.61L15.5028 6.68602C15.8438 6.14702 15.8648 5.46402 15.5578 4.90502C15.2508 4.34602 14.6628 3.99902 14.0248 3.99902L14.0238 4.00002Z" fill="currentColor"></path></svg></div><div class="leading-tight text-left w-full min-w-0" contentEditable="false" data-component-part="accordion-title-container"><p id="example-accordion-title" class="m-0 font-medium leading-6 text-gray-900 dark:text-gray-200" data-component-part="accordion-title">Example</p></div></summary><div id="example-accordion-children" role="region" aria-labelledby="example-accordion-title" class="px-5 pb-3.5 prose prose-gray dark:prose-invert overflow-x-auto cursor-default" data-component-part="accordion-content"><ul>
2033<li>
2034<span data-as="p">Use the URL <code>https://api.razorpay.com/v1/payments</code> to access payment resources.</span>
2035</li>
2036<li>
2037<span data-as="p">Use the URL <code>https://api.razorpay.com/v2/accounts</code> to access Route (Linked Account)-related resources.</span>
2038</li>
2039</ul></div></details></div>
2040<h3 class="flex whitespace-pre-wrap group font-semibold" id="related-information"><div class="absolute" tabindex="-1"><a href="#related-information" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100 focus:opacity-100 focus:outline-0 group/link" aria-label="Navigate to header">​<div class="size-6 rounded-md flex items-center justify-center shadow-xs text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0"><path d="M8.50001 6.827C8.14801 6.995 7.81801 7.225 7.52701 7.517L7.51701 7.527C6.13601 8.908 6.13601 11.146 7.51701 12.527L9.69201 14.702C11.073 16.
2040083 13.311 16.083 14.692 14.702L14.702 14.692C16.083 13.311 16.083 11.073 14.702 9.692L13.771 8.761" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9.50002 11.173C9.85202 11.005 10.182 10.775 10.473 10.483L10.483 10.473C11.864 9.092 11.864 6.854 10.483 5.473L8.30802 3.298C6.92702 1.917 4.68902 1.917 3.30802 3.298L3.29802 3.308C1.91702 4.689 1.91702 6.927 3.29802 8.308L4.22902 9.239" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></div><span class="cursor-pointer">Related Information</span></h3>
2041<ul>
2042<li><a class="link" href="/docs/api/understand">Understand Razorpay APIs</a></li>
2043<li><a class="link" href="/docs/api/authentication">API Authentication</a></li>
2044<li><a class="link" href="/docs/api/sandbox-setup">Sandbox Setup</a></li>
2045<li><a class="link" href="/docs/errors">Errors</a></li>
2046<li><a class="link" href="/docs/api/best-practices">API Best Practices</a></li>
2047<li><a class="link" href="/docs/api/glossary">API Glossary</a></li>
2048</ul></div><div class="feedback-toolbar pb-16 w-full flex flex-col gap-y-8"><div class="flex flex-row flex-wrap gap-4 items-center justify-between"><p class="inline-block text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap">Was this page helpful?</p><div class="flex flex-wrap grow gap-3 items-center justify-end"><div class="flex gap-3 items-center"><button id="feedback-thumbs-up" class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0 text-current"><path d="M5.25 7.494C5.25 7.014 5.423 6.55 5.736 6.187L10 1.25C10.854 1.677 11.25 2.678 10.92 3.574L9.75 6.75H14.152C15.465 6.75 16.421 7.993 16.085 9.262L14.894 13.762C14.662 14.639 13.868 15.25 12.961 15.25H7.25C6.145 15.25 5.25 14.355 5.25 13.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 6.75H2.75C2.19772 6.75 1.75 7.19772 1.75 7.75V14.25C1.75 14.8023 2.19772 15.25 2.75 15.25H4.25C4.80228 15.25 5.25 14.8023 5.25 14.25V7.75C5.25 7.19772 4.80228 6.75 4.25 6.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><small class="text-sm font-normal leading-4">Yes</small></button><button id="feedback-thumbs-down" class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0 text-current"><path d="M5.25 10.506C5.25 10.986 5.423 11.45 5.736 11.813L10 16.75C10.854 16.323 11.25 15.322 10.92 14.426L9.75 11.25H14.152C15.465 11.25 16.421 10.007 16.085 8.738L14.894 4.238C14.662 3.361 13.868 2.75 12.961 2.75H7.25C6.145 2.75 5.25 3.645 5.25 4.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 2.75H2.75C2.19772 2.75 1.75 3.19772 1.75 3.75V10.25C1.75 10.8023 2.19772 11.25 2.75 11.25H4.25C4.80228 11.25 5.25 10.8023 5.25 10.25V3.75C5.25 3.19772 4.80228 2.75 4.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><small class="text-sm font-normal leading-4">No</small></button></div><div class="flex gap-3"></div></div></div></div><nav id="pagination" aria-label="Pagination" class="px-0.5 flex items-center gap-6 text-sm font-semibold text-gray-700 dark:text-gray-200"><a rel="next" aria-label="Next: API Changelog" data-component-part="pagination-next" class="group flex items-center min-w-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light gap-3 rounded-sm ml-auto pagination-next" href="/docs/api/changelog"><div class="truncate group-hover:text-gray-900 dark:group-hover:text-white" data-component-part="pagination-title">API Changelog</div><svg viewBox="0 0 3 6" aria-hidden="true" data-component-part="pagination-chevron" class="h-1.5 
2048shrink-0 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300 rotate-180"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></nav><div data-assistant-bar="" class="left-0 right-0 sticky bottom-0 w-full overflow-hidden z-20 pointer-events-none print:hidden"><div class="chat-assistant-floating-input w-full group/assistant-bar relative before:content-[&quot;&quot;] before:absolute before:left-0 before:right-0 before:top-[calc(50%-0.5rem)] sm:before:top-[calc(50%-0.75rem)] before:h-[200px] before:bg-background-light dark:before:bg-background-dark translate-y-[100px] opacity-0"><div class="relative pb-4 sm:pb-6"><div class="flex flex-col w-full rounded-2xl pointer-events-auto bg-background-light dark:bg-background-dark border border-gray-200 dark:border-white/10 focus-within:border-primary dark:focus-within:border-primary-light transition-colors"><div class="relative flex items-end"><textarea id="chat-assistant-textarea" aria-label="Ask a question..." autoComplete="off" placeholder="Ask a question..." class="chat-assistant-input w-full bg-transparent border-0 peer/input text-gray-900 dark:text-gray-100 placeholder-gray-600 dark:placeholder-gray-300 outline-hidden! focus:outline-hidden! focus:ring-0 py-2.5 pl-3.5 pr-10 font-bodyWeight text-sm" style="resize:none"></textarea><button class="chat-assistant-send-button flex justify-center items-center rounded-full p-1 size-6 bg-primary/30 dark:bg-primary-dark/30 absolute right-2.5 bottom-2" aria-label="Send message" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-2.5 shrink-0 text-white dark:text-white"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div></div></div></main></div><footer id="footer" class="advanced-footer flex flex-col items-center mx-auto border-t border-gray-100 dark:border-gray-800/50 peer-[.is-custom]:hidden! peer-[.is-custom]:sm:hidden! peer-[.is-custom]:md:hidden! peer-[.is-custom]:lg:hidden! peer-[.is-custom]:xl:hidden!"><div class="flex w-full flex-col gap-12 justify-between px-8 py-16 md:py-20 lg:py-28 max-w-246 z-20"><div class="flex flex-col md:flex-row gap-8 justify-between min-h-19"><div class="flex md:flex-col justify-between items-center md:items-start min-w-16 md:min-w-20 lg:min-w-48 md:gap-y-24"><a class="select-none" style="-webkit-touch-callout:none" href="https://razorpay.com/docs/"><span class="sr-only">Razorpay<!-- --> home page</span><img class="nav-logo w-auto relative object-contain shrink-0 block dark:hidden max-w-48 h-[26px]" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max&amp;auto=format&amp;n=puuu1wI-BbW3rsp2&amp;q=85&amp;s=e0750375ee2004193a685f9f211963fe" alt="light logo"/><img class="nav-logo w-auto relative object-contain shrink-0 hidden dark:block max-w-48 h-[26px]" src="https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max&amp;auto=format&amp;n=puuu1wI-BbW3rsp2&amp;q=85&amp;s=038b180f26d19ddb4eb40ede0cf84821" alt="dark logo"/></a><div class="flex gap-4 min-w-[140px] max-w-[492px] flex-wrap h-fit md:hidden justify-end"><a href="https://x.com/Razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">x</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.linkedin.com/company/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">linkedin</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://github.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">github</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.youtube.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">youtube</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a></div></div><div class="flex flex-col sm:grid max-md:grid-cols-2! gap-8 flex-1" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Products</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/payment-gateway" target="_blank" rel="noreferrer">Payment Gateway</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/payment-links" target="_blank" rel="noreferrer">Payment Links</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/x" target="_blank" rel="noreferrer">RazorpayX</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/payroll" target="_blank" rel="noreferrer">Payroll</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Resources</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/docs" target="_blank" rel="noreferrer">Documentation</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/docs/api" target="_blank" rel="noreferrer">API Reference</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/support" target="_blank" rel="noreferrer">Support</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/blog" target="_blank" rel="noreferrer">Blog</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Company</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/about" target="_blank" rel="noreferrer">About Us</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/jobs" target="_blank" rel="noreferrer">Careers</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://razorpay.com/pricing" target="_blank" rel="noreferrer">Pricing</a></div></div></div><div class="gap-4 min-w-[140px] max-w-[492px] flex-wrap hidden md:flex justify-end"><a href="https://x.com/Razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">x</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.linkedin.com/company/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">linkedin</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://github.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">github</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/github.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.youtube.com/razorpay" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">youtube</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/youtube.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a></div></div></div></footer><!--$--><!--/$--></div><!--$?--><template id="B:0"></template><!--/$--></div></div>
2048<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
2048<script src="/mintlify-assets/_next/static/chunks/7d632cf627c34201.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR" id="_R_" async=""></script>
2048<div hidden id="S:0"><div data-assistant-sheet-container="" class="sticky shrink-0 z-22 bg-background-light dark:bg-background-dark mt-(--banner-height,0px) top-(--banner-height,0px) h-[calc(100vh-var(--banner-height,0px))] max-lg:hidden print:hidden" style="width:var(--assistant-sheet-width, 0px);overflow:hidden"><div class="absolute left-0 top-0 bottom-0 w-px z-10 cursor-col-resize after:content-[&quot;&quot;] after:absolute after:inset-y-0 after:-inset-x-2 after:select-none bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700"></div><div id="chat-assistant-sheet" class="flex flex-col overflow-hidden shrink-0 relative h-full bg-background-light dark:bg-background-dark chat-assistant-sheet" aria-hidden="true"><div class="w-full flex flex-col flex-1 min-h-0 lg:pt-3"><div class="chat-assistant-sheet-header flex items-center justify-between pb-3 px-4"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-5 text-primary dark:text-primary-light shrink-0" aria-hidden="true"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><span class="font-medium text-gray-900 dark:text-gray-100">Assistant</span></div><div class="flex items-center gap-1"><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Maximize assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 sm:size-3.5 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><path d="M10.75 2.75H15.25V7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M15.25 2.75L10.75 7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 10.75V15.25H7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 15.25L7.25 10.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Close assistant panel"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-[20px] sm:size-4 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><path d="M14 4L4 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4 4L14 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div><div id="chat-content" class="chat-assistant-sheet-content flex flex-col-reverse flex-1 overflow-y-auto relative px-5 min-h-0"><div class="grow"></div><div class="h-full flex flex-col justify-between"><div class="mt-4 flex flex-col items-center text-sm"><div class="mx-8 text-center text-gray-400 dark:text-gray-600 text-xs chat-assistant-disclaimer-text">Responses are generated using AI and may contain mistakes.</div></div></div></div><div class="px-4 pb-4 shrink-0"><div class=""><div class="flex flex-col w-full rounded-2xl pointer-events-auto bg-background-light dark:bg-background-dark border border-gray-200 dark:border-white/10 focus-within:border-primary dark:focus-within:border-primary-light transition-colors"><div class="relative flex items-end"><textarea id="chat-assistant-textarea" aria-label="Ask a question..." autoComplete="off" placeholder="Ask a question..." class="chat-assistant-input w-full bg-transparent border-0 peer/input text-gray-900 dark:text-gray-100 placeholder-gray-600 dark:placeholder-gray-300 outline-hidden! focus:outline-hidden! focus:ring-0 py-2.5 pl-3.5 pr-10 font-bodyWeight text-sm pb-0!" style="resize:none" rows="2"></textarea></div><div class="flex items-center justify-between px-2 pb-2"><input type="file" accept="image/*,.pdf,.js,.jsx,.ts,.tsx,.mjs,.cjs,.md,.mdx,.json,.html,.css,.py,.csv,.txt,.yaml,.yml,.xml,.sql,.sh,.bash,.zsh,.graphql,.gql,.toml,.env,.go,.rs,.rb,.java,.kt,.swift,.c,.cpp,.cc,.h,.hpp,.cs,.php,.dart,.lua,.r,.scala,.ini,.cfg,.conf,.log,.dockerfile,.makefile,.gitignore" multiple="" class="hidden"/><button type="button" class="p-1 rounded-lg text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-white/10" aria-label="Add attachment"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3.5 shrink-0"><path d="M7.75 5V11.75C7.75 12.578 8.422 13.25 9.25 13.25C10.078 13.25 10.75 12.578 10.75 11.75V4.75C10.75 3.093 9.407 1.75 7.75 1.75C6.093 1.75 4.75 3.093 4.75 4.75V11.75C4.75 14.235 6.765 16.25 9.25 16.25C11.735 16.25 13.75 14.235 13.75 11.75V5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button><button class="chat-assistant-send-button flex justify-center items-center rounded-full p-1 size-6 bg-primary/30 dark:bg-primary-dark/30" aria-label="Send message" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-2.5 shrink-0 text-white dark:text-white"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div></div></div></div>
2048<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
2049$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script>
2049<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2049<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\na:I[168027,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n:HL[\"/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/mintlify-assets/_next/static/media/PaperMono_Variable.p.aa32f7a0.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/mintlify-assets/_next/static/media/f67ad414ed34149c.p.84166d94.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
2049<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"JP0DcDN3gWYfRStxq0t_r\",\"p\":\"/mintlify-assets\",\"c\":[\"\",\"_sites\",\"razorpay-881012b3\",\"docs\",\"api\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"%5Fsites\",{\"children\":[[\"subdomain\",\"razorpay-881012b3\",\"d\"],{\"children\":[\"(multitenant)\",{\"children\":[[\"slug\",\"docs/api\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark\",\"data-banner-state\":\"visible\",\"data-assistant-state\":\"closed\",\"data-page-mode\":\"none\",\"data-current-path\":\"/\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){var b=\\\"\\\";\\nfunction a(p){if(p==null)return\\\"/\\\";p=\\\"\\\"+p;if(\\\"\\\"===p)return\\\"/\\\";return\\\"/\\\"===p.charAt(0)?p:\\\"/\\\"+p}\\nfunction u(p){if(p==null)return p;p=\\\"\\\"+p;if(!p||p.charAt(p.length-1)===\\\"/\\\")return p.slice(0,-1);return p}\\nfunction i(p){if(p==null)return p;p=\\\"\\\"+p;if(6\u003c=p.length\u0026\u0026p.substring(p.length-6)===\\\"/index\\\")return p.substring(0,p.length-6);if(\\\"index\\\"===p)return\\\"\\\";return p}\\nvar p=(location.pathname||\\\"\\\").split(\\\"?\\\")[0].split(\\\"#\\\")[0]||\\\"\\\";\\nif(b)if(p===b)p=\\\"\\\";else if(0===p.indexOf(b+\\\"/\\\"))p=p.substring(b.length);\\np=a(p);p=u(p);p=i(p);p=\\\"\\\"===p||\\\"index\\\"===p?\\\"/\\\":a(p);\\ndocument.documentElement.setAttribute(\\\"data-current-path\\\",p);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(() =\u003e {\\n  const isIOS =\\n    /iP(hone|ad|od)/.test(navigator.userAgent) ||\\n    (/Macintosh/.test(navigator.userAgent) \u0026\u0026 navigator.maxTouchPoints \u003e 1);\\n  if (!isIOS) return;\\n  const apply = () =\u003e {\\n    for (const meta of document.querySelectorAll('meta[name=\\\"viewport\\\"]')) {\\n      const content = meta.getAttribute('content') || '';\\n      if (!content.includes('maximum-scale')) {\\n        meta.setAttribute('content', content + ', maximum-scale=1');\\n      }\\n    }\\n  };\\n  apply();\\n  new MutationObserver(apply).observe(document.head, {\\n    childList: true,\\n    subtree: true,\\n    attributes: true,\\n    attributeFilter: ['content'],\\n  });\\n})();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){\\nfunction read(){try{\\nvar e=performance.getEntriesByType?performance.getEntriesByType(\\\"navigation\\\"):[];\\nvar st=(e[0]\u0026\u0026e[0].serverTiming)||[];\\nvar g={};\\nfor(var i=0;i\u003cst.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}\\nif(n===\\\"country\\\")g.country=d;else if(n===\\\"region\\\")g.region=d;else if(n===\\\"continent\\\")g.continent=d;}\\nvar w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;\\n}catch(x){}}\\nread();document.addEventListener(\\\"DOMContentLoaded\\\",read);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){try{\\nvar w=window;w.mintlify=w.mintlify||{};\\nvar q=w.mintlify.__apiPlaygroundInputsQueue;\\nif(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;}\\nw.mintlify.api=w.mintlify.api||{};\\nw.mintlify.api.playground=w.mintlify.api.playground||{};\\nif(typeof w.mintlify.api.playground.setServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.setServerVariables=function(v){q.push({type:\\\"set\\\",variables:v});};\\n}\\nif(typeof w.mintlify.api.playground.clearServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.clearServerVariables=function(){q.push({type:\\\"clear\\\"});};\\n}\\n}catch(e){}}();\"}}],\"$L2\",false]}],\"$L3\"]}]]}],{\"children\":[\"%5Fsites\",\"$L4\",{\"children\":[[\"subdomain\",\"razorpay-881012b3\",\"d\"],\"$L5\",{\"children\":[\"(multitenant)\",\"$L6\",{\"children\":[[\"slug\",\"docs/api\",\"oc\"],\"$L7\",{\"children\":[\"__PAGE__\",\"$L8\",{}
2049,null,false]},null,false]},null,false]},null,false]},null,false]},null,false],\"$L9\",false]],\"m\":\"$undefined\",\"G\":[\"$a\",[\"$Lb\",\"$Lc\"]],\"s\":false,\"S\":true}\n"])</script>
2049<script>self.__next_f.push([1,"d:I[667786,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"MintlifyApiPlaygroundInputsInit\"]\ne:I[339756,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"f:I[556357,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/882c403128dfd005.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"10:I[837457,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"11:I[894587,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ThemeProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"12:I[152823,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ColorVariables\"]\n"])</script>
2049<script>self.__next_f.push([1,"13:I[531961,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"FontScript\"]\n"])</script>
2049<script>self.__next_f.push([1,"14:I[649328,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"RoundedVariables\"]\n"])</script>
2049<script>self.__next_f.push([1,"15:I[702910,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/550e3e57c0b4e025.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"RecommendedPagesList\"]\n"])</script>
2049<script>self.__next_f.push([1,"16:I[570420,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"DataCurrentPathUpdater\"]\n"])</script>
2049<script>self.__next_f.push([1,"17:I[341175,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/35d40e4844fd9a08.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"1a:I[897367,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"OutletBoundary\"]\n1c:I[711533,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AsyncMetadataOutlet\"]\n1e:I[897367,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ViewportBoundary\"]\n20:I[897367,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"MetadataBoundary\"]\n21:\"$Sreact.suspense\"\n"])</script>
2049<script>self.__next_f.push([1,"2:[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(a,b){try{let c=document.getElementById(\\\"banner\\\")?.innerText;if(c){for(let d=0;d\u003clocalStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)\u0026\u0026localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\");return}for(let c=0;c\u003clocalStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)\u0026\u0026localStorage.getItem(d))return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\")}catch(a){document.documentElement.setAttribute(b,\\\"hidden\\\")}})(\\n  \\\"bannerDismissed\\\",\\n  \\\"data-banner-state\\\",\\n)\"}}]\n"])</script>
2049<script>self.__next_f.push([1,"3:[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[[\"$\",\"$Ld\",null,{}],false,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$f\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/882c403128dfd005.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}]],\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n  --primary: 17 120 102;\\n  --primary-light: 74 222 128;\\n  --primary-dark: 22 101 52;\\n  --background-light: 255 255 255;\\n  --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L15\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],false,[\"$\",\"$L16\",null,{}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"4:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$17\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/35d40e4844fd9a08.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true}]],\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{}],[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n  --primary: 17 120 102;\\n  --primary-light: 74 222 128;\\n  --primary-dark: 22 101 52;\\n  --background-light: 255 255 255;\\n  --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L15\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-18\",{\"src\":\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L18\"]}]\n"])</script>
2049<script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[\"$L19\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1a\",null,{\"children\":[\"$L1b\",[\"$\",\"$L1c\",null,{\"promise\":\"$@1d\"}]]}]]}]\n"])</script>
2049<script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L1e\",null,{\"children\":\"$L1f\"}],null],[\"$\",\"$L20\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$21\",null,{\"fallback\":null,\"children\":\"$L22\"}]}]}]]}]\nb:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/462bacc63bed9960.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nc:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/35c4b8bcf20cd559.css?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
2049<script>self.__next_f.push([1,"1f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\n1b:null\n"])</script>
2049<script>self.__next_f.push([1,"1d:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"API Reference Guide - Razorpay\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Razorpay\"}],[\"$\",\"meta\",\"3\",{\"name\":\"generator\",\"content\":\"Mintlify\"}],[\"$\",\"meta\",\"4\",{\"name\":\"msapplication-config\",\"content\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/browserconfig.xml\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Razorpay\"}],[\"$\",\"meta\",\"6\",{\"name\":\"msapplication-TileColor\",\"content\":\"#3395FF\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://razorpay.com/docs/api\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"type\":\"application/xml\",\"href\":\"/sitemap.xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"alternate\",\"type\":\"text/markdown\",\"href\":\"/docs/api.md\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"API Reference Guide - Razorpay\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://razorpay.com/docs/api\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:site_name\",\"content\":\"Razorpay\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image\",\"content\":\"https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:title\",\"content\":\"API Reference Guide - Razorpay\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:description\",\"content\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image\",\"content\":\"https://razorpay-881012b3.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26title%3DAPI%2BReference%2BGuide%26description%3DGet%2Bstarted%2Bwith%2BRazorpay%2BAPIs%2Band%2Btest%2Bthem%2Bon%2BPostman.%2BGenerate%2BAPI%2BKeys%2Bin%2BTest%2Band%2BLive%2BModes.%26theme%3Deba4def1c481f3d9eb7e8909\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"25\",{\"rel\":\"apple-touch-icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/apple-touch-icon.png\",\"type\":\"image/png\",\"sizes\":\"180x180\",\"media\":\"$undefined\"}],[\"$\",\"link\",\"26\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"27\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"28\",{\"rel\":\"shortcut icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"29\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: dark)\"}],\"$L23\",\"$L24\",\"$L25\",\"$L26\"],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
2049<script>self.__next_f.push([1,"22:\"$1d:metadata\"\n"])</script>
2049<script>self.__next_f.push([1,"27:I[27201,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"IconMark\"]\n23:[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: dark)\"}]\n24:[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: dark)\"}]\n25:[\"$\",\"link\",\"32\",{\"rel\":\"shortcut icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: dark)\"}]\n26:[\"$\",\"$L27\",\"33\",{}]\n"])</script>
2049<script>self.__next_f.push([1,"28:I[707934,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"WebMcpRegistration\"]\n"])</script>
2049<script>self.__next_f.push([1,"29:I[590280,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LivePreviewProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"2a:I[973254,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LivePreviewFavicon\"]\n"])</script>
2049<script>self.__next_f.push([1,"2b:I[197336,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"2c:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AuthProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"2d:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"DeploymentMetadataProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"2e:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"DocsConfigProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"30:I[597003,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ScopedNavProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"18:[null,[\"$\",\"$L28\",null,{\"subdomain\":\"razorpay-881012b3\",\"siteName\":\"Razorpay\"}],[\"$\",\"$L29\",null,{\"isLivePreviewRoute\":false,\"children\":[[\"$\",\"$L2a\",null,{}],[\"$\",\"$L11\",null,{\"appearance\":\"$undefined\",\"codeblockTheme\":\"system\",\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"sr-only\",\"data-agent-docs-index\":true,\"aria-hidden\":\"true\",\"children\":[[\"$\",\"h2\",null,{\"children\":\"Documentation Index\"}],[\"$\",\"p\",null,{\"children\":[\"Fetch the complete documentation index at:\",\" \",[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"tabIndex\":-1,\"children\":\"/llms.txt\"}]]}],[\"$\",\"p\",null,{\"children\":\"Use this file to discover all available pages before exploring further.\"}]]}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root{--banner-height:0px!important}\"}}],false,null,null,[\"$\",\"script\",null,{\"id\":\"_mintlify-banner-script\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split(\\\"/\\\").filter(a=\u003e\\\"\\\"!==a\u0026\u0026\\\"global\\\"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=\u003ec.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push(\\\"global\\\"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,\\\"hidden\\\");let k=!0,l=0;for(;l\u003clocalStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b\u0026\u0026b===f){k=!1;break}g\u0026\u0026(a.startsWith(`lang:${g}_`)||!a.startsWith(\\\"lang:\\\"))\u0026\u0026(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?\\\"visible\\\":\\\"hidden\\\")}catch(a){console.error(a),document.documentElement.setAttribute(d,\\\"hidden\\\")}})(\\n  {},\\n  \\\"en\\\",\\n  [],\\n  \\\"data-banner-state\\\",\\n  \\\"bannerDismissed\\\",\\n)\"},\"suppressHydrationWarning\":true}],[\"$\",\"$L2b\",null,{\"appId\":\"$undefined\",\"autoBoot\":true,\"children\":[\"$\",\"$L2c\",null,{\"value\":{\"auth\":\"$undefined\",\"userAuth\":\"$undefined\"},\"children\":[\"$\",\"$L2d\",null,{\"value\":{\"subdomain\":\"razorpay-881012b3\",\"hasAudioNarration\":false,\"actualSubdomain\":\"razorpay-881012b3\",\"customDomains\":[],\"gitSource\":{\"type\":\"github\",\"owner\":\"razorpay-vendor-integrations\",\"repo\":\"docs\",\"deployBranch\":\"main\",\"contentDirectory\":\"\",\"isPrivate\":true,\"mountPath\":\"\",\"label\":\"\"},\"chroma\":{\"latestBuiltDeploymentHistoryId\":\"6ab39ea438c60c710e799efb\",\"collectionId\":\"053376fe-02d0-46d5-a517-37cee9359269\",\"liveDeploymentHistoryId\":\"6ab39ea438c60c710e799efb\",\"schemaVersion\":\"v3\"},\"feedback\":{\"thumbs\":true,\"agentFeedback\":true},\"entitlements\":{\"AI_CHAT\":{\"status\":\"ENABLED\"},\"REMOVE_BRANDING\":{\"status\":\"ENABLED\"},\"CONTEXTUAL_FEEDBACK\":{\"status\":\"ENABLED\"},\"CODE_SNIPPET_FEEDBACK\":{\"status\":\"ENABLED\"},\"WEB_MCP\":{\"status\":\"ENABLED\"},\"NARRATION\":{\"status\":\"ENABLED\"}},\"buildId\":\"6ab4c67a92cc8bc5f691589f\",\"clientVersion\":\"0.0.3665\",\"preview\":\"$undefined\",\"searchFilterCounts\":[{\"language\":\"default\",\"tag\":\"Payments\",\"count\":1485},{\"language\":\"default\",\"tag\":\"API Reference\",\"count\":708},{\"language\":\"default\",\"tag\":\"Payment Gateway\",\"count\":223},{\"language\":\"default\",\"tag\":\"Dashboard\",\"count\":208},{\"language\":\"default\",\"tag\":\"Subscriptions\",\"count\":142},{\"language\":\"default\",\"tag\":\"Payout APIs\",\"count\":134},{\"language\":\"default\",\"tag\":\"Payment Links\",\"count\":129},{\"language\":\"default\",\"tag\":\"Banking Plus\",\"count\":123},{\"language\":\"default\",\"tag\":\"Developer Tools\",\"count\":103},{\"language\":\"default\",\"tag\":\"Partners\",\"count\":92}],\"searchSettings\":{\"maxResults\":8},\"disableKonamiCode\":\"$undefined\"},\"children\":[\"$\",\"$L2e\",null,{\"value\":{\"docsConfig\":{\"theme\":\"mint\",\"$schema\":\"https://mintlify.com/docs.json\",\"name\":\"Razorpay\",\"colors\":{\"primary\":\"#3395FF\",\"light\":\"#66B2FF\",\"dark\":\"#0B62C4\"},\"logo\":{\"light\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=e0750375ee2004193a685f9f211963fe\",\"dark\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=038b180f26d19ddb4eb40ede0cf84821\",\"href\":\"https://razorpay.com/docs/\"},\"favicon\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/favicon.png?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=9bebe786d3a21e9452fd2e31243e5fb3\",\"api\":{\"playground\":{\"display\":\"interactive\"},\"mdx\":{\"auth\":{\"method\":\"basic\"},\"server\":\"https://api.razorpay.com\"}},\"navbar\":{\"links\":[{\"href\":\"https://razorpay.com/support/\",\"label\":\"Supp
2049ort\"},{\"href\":\"https://razorpay.com/blog/\",\"label\":\"Blog\"}],\"primary\":{\"type\":\"button\",\"label\":\"Dashboard\",\"href\":\"https://dashboard.razorpay.com/\"}},\"footer\":{\"socials\":{\"x\":\"https://x.com/Razorpay\",\"linkedin\":\"https://www.linkedin.com/company/razorpay\",\"github\":\"https://github.com/razorpay\",\"youtube\":\"https://www.youtube.com/razorpay\"},\"links\":[{\"header\":\"Products\",\"items\":[{\"label\":\"Payment Gateway\",\"href\":\"https://razorpay.com/payment-gateway\"},{\"label\":\"Payment Links\",\"href\":\"https://razorpay.com/payment-links\"},{\"label\":\"RazorpayX\",\"href\":\"https://razorpay.com/x\"},{\"label\":\"Payroll\",\"href\":\"https://razorpay.com/payroll\"}]},{\"header\":\"Resources\",\"items\":[{\"label\":\"Documentation\",\"href\":\"https://razorpay.com/docs\"},{\"label\":\"API Reference\",\"href\":\"https://razorpay.com/docs/api\"},{\"label\":\"Support\",\"href\":\"https://razorpay.com/support\"},{\"label\":\"Blog\",\"href\":\"https://razorpay.com/blog\"}]},{\"header\":\"Company\",\"items\":[{\"label\":\"About Us\",\"href\":\"https://razorpay.com/about\"},{\"label\":\"Careers\",\"href\":\"https://razorpay.com/jobs\"},{\"label\":\"Pricing\",\"href\":\"https://razorpay.com/pricing\"}]}]},\"seo\":{\"metatags\":{\"canonical\":\"https://razorpay.com\"}},\"contextual\":{\"options\":[\"copy\",\"view\",\"chatgpt\",\"claude\",\"perplexity\",\"mcp\",\"cursor\",\"vscode\"],\"display\":\"header\"},\"styling\":{\"latex\":true,\"codeblocks\":\"system\"},\"navigation\":{\"pages\":[]}},\"docsNavWithMetadata\":\"$undefined\",\"anonymizedNav\":\"$undefined\",\"hasFullNav\":false},\"children\":\"$L2f\"}]}]}]}]]}]]}]]\n"])</script>
2049<script>self.__next_f.push([1,"19:[\"$\",\"$L30\",null,{\"scopedNav\":{\"global\":null,\"versions\":[{\"version\":\"India\",\"default\":true,\"tabs\":[{\"tab\":\"Home\",\"icon\":\"house\",\"pages\":[{\"title\":\"Home\",\"href\":\"/docs/home\"}]},{\"tab\":\"Payments\",\"icon\":\"credit-card\",\"pages\":[{\"title\":\"Payments\",\"href\":\"/docs/payments\"}]},{\"tab\":\"Engage\",\"icon\":\"bullhorn\",\"pages\":[{\"title\":\"Engage\",\"href\":\"/docs/engage\"}]},{\"tab\":\"POS\",\"icon\":\"cash-register\",\"pages\":[{\"title\":\"POS\",\"href\":\"/docs/pos\"}]},{\"tab\":\"Banking Plus\",\"icon\":\"building-columns\",\"pages\":[{\"title\":\"Banking Plus\",\"href\":\"/docs/x\"}]},{\"tab\":\"Payroll\",\"icon\":\"money-check-dollar\",\"pages\":[{\"title\":\"Payroll\",\"href\":\"/docs/payroll\"}]},{\"tab\":\"Partners\",\"icon\":\"handshake\",\"pages\":[{\"title\":\"Partners\",\"href\":\"/docs/partners\"}]},{\"tab\":\"API Reference\",\"icon\":\"code\",\"pages\":[{\"group\":\"Introduction\",\"root\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"},\"pages\":[{\"title\":\"API Changelog\",\"description\":\"List of changes made to Razorpay APIs.\",\"href\":\"/docs/api/changelog\"},{\"title\":\"Understand Razorpay APIs\",\"description\":\"Explanation of Razorpay API structure and the various components such as HTTP methods, status codes, data types and parameter types. Details on versioning, rate limiting and pagination.\",\"href\":\"/docs/api/understand\"},{\"title\":\"API Authentication\",\"sidebarTitle\":\"Authentication\",\"description\":\"Authentication process for Razorpay APIs.\",\"href\":\"/docs/api/authentication\"},{\"title\":\"API Sandbox Setup\",\"sidebarTitle\":\"Sandbox Setup\",\"description\":\"Sandbox setup for testing Razorpay APIs.\",\"href\":\"/docs/api/sandbox-setup\"},{\"title\":\"Install the Razorpay CLI\",\"sidebarTitle\":\"Install CLI\",\"description\":\"Install the Razorpay CLI on macOS, Linux or Windows to interact with Razorpay APIs from your terminal.\",\"href\":\"/docs/api/install-cli\"},{\"title\":\"Best Practices\",\"description\":\"Find the best practices to follow while working with Razorpay APIs.\",\"href\":\"/docs/api/best-practices\"},{\"title\":\"Glossary\",\"description\":\"A list of commonly used terms related to Razorpay APIs.\",\"href\":\"/docs/api/glossary\"}]},{\"group\":\"Payments\",\"root\":{\"title\":\"Payments\",\"description\":\"Capture and fetch Payments using Razorpay APIs.\",\"href\":\"/docs/api/payments\"},\"pages\":[{\"group\":\"Orders\",\"pages\":[{\"title\":\"Orders\",\"description\":\"Create, view and update an Order using Razorpay APIs.\",\"href\":\"/docs/api/orders\"},{\"title\":\"Orders Entity\",\"description\":\"Entity parameters and sample code for Orders API.\",\"href\":\"/docs/api/orders/entity\"},{\"title\":\"Create an Order\",\"description\":\"Create an Order using Razorpay Orders API.\",\"api\":\"POST /v1/orders\",\"href\":\"/docs/api/orders/create\"},{\"title\":\"Fetch All Orders\",\"description\":\"Fetch all Orders using Razorpay Orders API.\",\"api\":\"GET /v1/orders\",\"href\":\"/docs/api/orders/fetch-all\"},{\"title\":\"Fetch All Orders (With Expanded Payments)\",\"description\":\"Expand payments object when fetching Order details using Razorpay Orders API.\",\"api\":\"GET /v1/orders?expand[]=payments\",\"href\":\"/docs/api/orders/fetch-all-expanded-payments\"},{\"title\":\"Fetch All Orders (With Expand Card Payments)\",\"description\":\"Expand card object when fetching payents for Orders using Razorpay Orders API.\",\"api\":\"GET /v1/orders?expand[]=payments.card\",\"href\":\"/docs/api/orders/fetch-all-expanded-card-payments\"},{\"title\":\"Fetch an Order With ID\",\"description\":\"Fetches an Order with its id using the Razorpay Orders API.\",\"api\":\"GET /v1/orders/:id\",\"href\":\"/docs/api/orders/fetch-with-id\"},{\"title\":\"Fetch Payments for an Order\",\"description\":\"Fetch payments for an Order using Razorpay Orders API.\",\"api\":\"GET /v1/orders/:id/payments\",\"href\":\"/docs/api/orders/fetch-payments\"},{\"title\":\"Update an Order\",\"description\":\"Update an Order using Razorpay Orders API.\",\"api\":\"PATCH /v1/orders/:id\",\"href\":\"/docs/api/orders/update\"}]},{\"group\":\"Payments\",\"pages\":[{\"title\":\"Payments Entity\",\"description\":\"Know about payment entities and their description.\",\"href\":\"/docs/api/payments/entity\"},{\"title\":\"Capture a Payment\",\"description\":\"Create a Payment using Razorpay Payments API.\",\"api\":\"POST /v1/payments/:id/capture\",\"href\":\"/docs/api/payments/capture\"},{\"title\":\"Fetch a Payment With ID\",\"description\":\"Fetch a Payment using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id\",\"href\":\"/docs/api/payments/fetch-with-id\"},{\"title\":\"Fetch a Payment (With Expanded Card Details)\",\"description\":\"Fetch a Payment with Expanded Card Details using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/?expand[]=card\",\"href\":\"/docs/api/payments/fetch-payment-expanded-card\"},{\"title\":\"Fetch a Payment with Expanded EMI Details\",\"description\":\"Fetch a Payment with Expanded EMI details using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/?expand[]=emi\",\"href\":\"/docs/api/payments/fetch-payment-expanded-emi\"},{\"title\":\"Fetch a Payment with Expanded Offers Details\",\"description\":\"Fetch a Payment with Expanded Offers details using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/?expand[]=offers\",\"href\":\"/docs/api/payments/fetch-payment-expanded-offers\"},{\"title\":\"Fetch All Payments\",\"description\":\"Fetch all Payments using Razorpay Payments API.\",\"api\":\"GET /v1/payments\",\"href\":\"/docs/api/payments/fetch-all-payments\"},{\"title\":\"Fetch All Payments (With Expanded Card Details)\",\"description\":\"Fetch all Payments (With Expanded Card Details) using Razorpay Payments API.\",\"api\":\"GET /v1/payments?expand[]=card\",\"href\":\"/docs/api/payments/fetch-all-payments-with-expanded-card-detail
2049s\"},{\"title\":\"Fetch All Payments (With Expanded EMI Details)\",\"description\":\"Fetch all Payments (With Expanded EMI Details) using Razorpay Payments API.\",\"api\":\"GET /v1/payments?expand[]=emi\",\"href\":\"/docs/api/payments/fetch-all-payments-with-expanded-emi-details\"},{\"title\":\"Fetch Payments Based on Orders\",\"description\":\"Fetch Payments Based on Orders using Razorpay Payments API.\",\"api\":\"GET /v1/orders/:id/payments\",\"href\":\"/docs/api/payments/fetch-payments-orders\"},{\"title\":\"Fetch Card Details of a Payment\",\"description\":\"Fetch Card Details of a Payment using Razorpay Payments API.\",\"api\":\"GET /v1/payments/:id/card\",\"href\":\"/docs/api/payments/fetch-card-details-payment\"},{\"title\":\"Update a Payment\",\"description\":\"Update a Payment using Razorpay Payments API.\",\"api\":\"PATCH /v1/payments/:id/\",\"href\":\"/docs/api/payments/update\"}]},{\"group\":\"Downtime\",\"pages\":[{\"title\":\"Payment Downtime\",\"sidebarTitle\":\"Downtime\",\"description\":\"Check the Payment Downtime API to view a list of affected payment methods during downtime.\",\"href\":\"/docs/api/payments/downtime\"},{\"title\":\"Payment Downtime Entity\",\"description\":\"Know about the Payment Downtime entity parameters and their description.\",\"href\":\"/docs/api/payments/downtime/entity\"},{\"title\":\"Fetch All Payment Downtime Details\",\"description\":\"Fetch all payment downtime details using Razorpay Payment Downtime API.\",\"api\":\"GET /v1/payments/downtimes\",\"href\":\"/docs/api/payments/downtime/fetch-all\"},{\"title\":\"Fetch Payment Downtime Details With ID\",\"description\":\"Fetch Payment Downtime Details With id using Razorpay Payments Downtime API.\",\"api\":\"GET /v1/payments/downtimes/:id\",\"href\":\"/docs/api/payments/downtime/fetch-with-id\"}]},{\"group\":\"Settlements\",\"pages\":[{\"title\":\"Settlements\",\"description\":\"Fetch Settlements and Settlements Recon information using Razorpay APIs.\",\"href\":\"/docs/api/settlements\"},{\"title\":\"Settlements Entity\",\"description\":\"Know about the settlements entity parameters and their descriptions.\",\"href\":\"/docs/api/settlements/entity\"},{\"title\":\"Fetch All Settlements\",\"description\":\"Fetch All Settlements using Razorpay Settlements API.\",\"api\":\"GET /v1/settlements/\",\"href\":\"/docs/api/settlements/fetch-all\"},{\"title\":\"Fetch Settlements With ID\",\"description\":\"Fetch Settlements with Razorpay Settlements id.\",\"api\":\"GET /v1/settlements/:id\",\"href\":\"/docs/api/settlements/fetch-with-id\"},{\"title\":\"Fetch Settlement Recon Details\",\"description\":\"Settlement Recon using Razorpay Settlements API.\",\"api\":\"GET /v1/settlements/recon/combined?year=yyyy\u0026month=mm\",\"href\":\"/docs/api/settlements/fetch-recon\"}]},{\"group\":\"Instant Settlements\",\"pages\":[{\"title\":\"Instant Settlements\",\"description\":\"Check Razorpay Capital Instant Settlement APIs (On-demand Settlement APIs).\",\"href\":\"/docs/api/settlements/instant\"},{\"title\":\"Instant Settlements Entity\",\"description\":\"Know about the instant settlements entity parameters and their descriptions.\",\"href\":\"/docs/api/settlements/instant/entity\"},{\"title\":\"Create an Instant Settlement\",\"description\":\"Create an Instant Settlement using Razorpay Payments API.\",\"api\":\"POST /v1/settlements/ondemand\",\"href\":\"/docs/api/settlements/instant/create\"},{\"title\":\"Fetch All Instant Settlements\",\"description\":\"Fetch All Instant Settlements using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand\",\"href\":\"/docs/api/settlements/instant/fetch-all\"},{\"title\":\"Fetch Instant Settlement With ID\",\"description\":\"Fetch Instant Settlement with ID using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand/:id\",\"href\":\"/docs/api/settlements/instant/fetch-with-id\"},{\"title\":\"Fetch All Instant Settlements With Payout Details\",\"description\":\"Fetch All Instant Settlements with Payout Details using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand/?expand[]=ondemand_payouts\",\"href\":\"/docs/api/settlements/instant/fetch-all-payout\"},{\"title\":\"Fetch Instant Settlement With ID and Payout Details\",\"description\":\"Fetch Instant Settlement with ID and Payout Details using Razorpay Payments API.\",\"api\":\"GET /v1/settlements/ondemand/:id?expand[]=ondemand_payouts\",\"href\":\"/docs/api/settlements/instant/fetch-with-id-payout\"}]},{\"group\":\"Refunds\",\"pages\":[{\"title\":\"Refunds\",\"description\":\"Initiate normal and instant refunds to your customers using Razorpay Refund APIs. View and update refund using APIs.\",\"href\":\"/docs/api/refunds\"},{\"title\":\"Refunds Entity\",\"description\":\"Know about refunds entity parameters and their description.\",\"href\":\"/docs/api/refunds/entity\"},{\"title\":\"Create a Normal Refund\",\"description\":\"Create a Normal Refund using Razorpay Refunds API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/create-normal\"},{\"title\":\"Create a Normal Refund (Idempotent Request)\",\"description\":\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/normal-refunds-idempotent\"},{\"title\":\"Create an Instant Refund\",\"description\":\"Create an Instant Refund using Razorpay Refunds API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/create-instant\"},{\"title\":\"Create an Instant Refund (Idempotent Request)\",\"description\":\"Retry or send the same instant refund request multiple times safely using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/refunds/instant-refunds-idempotent\"},{\"title\":\"Fetch Multiple Refunds for a Payment\",\"description\":\"Fetch Multiple Refunds for a Payment using Razorpay Refunds API.\",\"api\":\"GET /v1/payments/:id/refunds\",\"href\":\"/docs/api/refunds/fetch-multiple-refund-payment\"},{\"title\":\"Fetch a Specific Refund for a Payment\",\"description\":\"Fetch a Specific Refund for a Payment using Razorpay Refunds API.\",\"api\":\"GET /v1/payments/:payment_id/refunds/:refund_id\",\"href\":\"/docs/api/refunds/fetch-specific-refund-payment\"},{\"title\":\"Fetch All Refunds\",\"description\":\"Fetch all Refunds using Razorpay Refunds API.\",\"api\":\"GET /v1/refunds/\",\"href\":\"/docs/api/refunds/fetch-all\"},{\"title\":\"Fetch Refund With ID\",\"description\":\"Fetch Refund With id using Razorpay Refunds API.\",\"api\":\"GET /v1/refunds/:id\",\"href\":\"/docs/api/refunds/fetch-with-id\"},{\"title\":\"Update a Refund\",\"description\":\"Update a Refund using Razorpay Refunds API.\",\"api\":\"PATCH /v1/refunds/:id/\",\"href\":\"/docs/api/refunds/update\"}]},{\"group\":\"Disputes\",\"pages\":[{\"title\":\"Disputes\",\"description\":\"List of Dispute APIs available to perform various actions.\",\"href\":\"/docs/api/disputes\"},{\"title\":\"Disputes Entity\",\"description\":\"Know about Disputes entity parameters and their description\",\"href\":\"/docs/api/disputes/entity\"},{\"title\":\"Fetch All Disputes\",\"description\":\"Fetch all Disputes using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes\",\"href\":\"/docs/api/disputes/fetch-all\"},{\"title\":\"Fetch a Dispute With ID\",\"description\":\"Fetch a Dispute using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes/:id\",\"href\":\"/docs/api/disputes/fetch\"},{\"title\":\"Fetch a Dispute With ID (With Expanded Payments Details)\",\"description\":\"Fetch a Dispute using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes/:id?expand[]=payment\",\"href\":\"/docs/api/disputes/fetch-dispute-expanded-payment\"},{\"title\":\"Fetch a Dispute With ID (With Expanded transaction.settlement Details)\",\"description\":\"Fetch a Dispute using Razorpay Disputes API.\",\"api\":\"GET /v1/disputes/:id?expand[]=transaction.settlement\",\"href\":\"/docs/api/disputes/fetch-dispute-expanded-transaction\"},{\"title\":\"Accept a Dispute\",\"description\":\"Accept a Dispute using Razorpay Disputes API.\",\"api\":\"POST /v1/disputes/:id/accept\",\"href\":\"/docs/api/disputes/accept\"},{\"title\":\"Contest a Dispute\",\"description\":\"Contest a Dispute using Razorpay Disputes API.\",\"api\":\"PATCH /v1/disputes/:id/contest\",\"href\":\"/docs/api/disputes/contest\"}]},{\"group\":\"Documents\",\"pages\":[{\"title\":\"Documents\",\"description\":\"Securely send dis
2049pute-related documents to Razorpay using the Documents API.\",\"href\":\"/docs/api/documents\"},{\"title\":\"Documents Entity\",\"description\":\"Know about documents entity parameters and their description.\",\"href\":\"/docs/api/documents/entity\"},{\"title\":\"Create a Document\",\"description\":\"Create a Document using Razorpays API.\",\"api\":\"POST /v1/documents\",\"href\":\"/docs/api/documents/create\"},{\"title\":\"Fetch Document Information\",\"description\":\"Fetch Document Information using Razorpays API.\",\"api\":\"GET /v1/documents/:id\",\"href\":\"/docs/api/documents/fetch-info\"},{\"title\":\"Fetch Document Content\",\"description\":\"Fetch Document Content using Razorpays API.\",\"api\":\"GET /v1/documents/:id/content\",\"href\":\"/docs/api/documents/fetch-content\"}]},{\"group\":\"Customers\",\"pages\":[{\"title\":\"Customers\",\"description\":\"Create, edit, and fetch Customer details using Razorpay APIs.\",\"href\":\"/docs/api/customers\"},{\"title\":\"Customers Entity\",\"description\":\"Entity parameters and sample code for Customers API.\",\"href\":\"/docs/api/customers/entity\"},{\"title\":\"Create a Customer\",\"description\":\"Create a Customer using Razorpay Customers API.\",\"api\":\"POST /v1/customers\",\"href\":\"/docs/api/customers/create\"},{\"title\":\"Edit Customer Details\",\"description\":\"Edit Customer Details using Razorpay Customers API.\",\"api\":\"PUT /v1/customers/:id\",\"href\":\"/docs/api/customers/edit\"},{\"title\":\"Fetch All Customers\",\"description\":\"Fetch all Customers using Razorpay Customers API.\",\"api\":\"GET /v1/customers\",\"href\":\"/docs/api/customers/fetch-all\"},{\"title\":\"Fetch Customer With ID\",\"description\":\"Fetch Customer With id using Razorpay Customers API.\",\"api\":\"GET /v1/customers/:id\",\"href\":\"/docs/api/customers/fetch-with-id\"}]},{\"group\":\"Payment Links\",\"pages\":[{\"title\":\"Payment Links\",\"description\":\"Create, update, delete, cancel, fetch and send Payment Links using Razorpay APIs.\",\"href\":\"/docs/api/payments/payment-links\"},{\"title\":\"Payment Links Entity\",\"description\":\"Entity parameters and sample code for Payment Links API.\",\"href\":\"/docs/api/payments/payment-links/entity\"},{\"title\":\"Create a Standard Payment Link\",\"description\":\"Create a Standard Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/create-standard\"},{\"title\":\"Create a UPI Payment Link\",\"description\":\"Create a UPI Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/create-upi\"},{\"title\":\"Fetch All Standard Payment Links\",\"description\":\"Fetch all Standard Payment Links using this endpoint.\",\"api\":\"GET /v1/payment_links/\",\"href\":\"/docs/api/payments/payment-links/fetch-all-standard\"},{\"title\":\"Fetch All UPI Payment Links\",\"description\":\"Fetch all UPI Payment Links using this endpoint.\",\"api\":\"GET /v1/payment_links/\",\"href\":\"/docs/api/payments/payment-links/fetch-all-upi\"},{\"title\":\"Fetch Standard Payment Links With ID\",\"description\":\"Fetch Standard Payment Links with their Id using this endpoint.\",\"api\":\"GET /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/fetch-id-standard\"},{\"title\":\"Fetch UPI Payment Links With ID\",\"description\":\"Fetch UPI Payment Links with their Id using this endpoint.\",\"api\":\"GET /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/fetch-id-upi\"},{\"title\":\"Send or Resend Notifications\",\"description\":\"Send or Resend notifications to your customers via email and SMS using this endpoint.\",\"api\":\"POST /v1/payment_links/:id/notify_by/:medium\",\"href\":\"/docs/api/payments/payment-links/resend\"},{\"title\":\"Update Standard Payment Link\",\"description\":\"Update the details of a Standard Payment Link using this endpoint.\",\"api\":\"PATCH /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/update-standard\"},{\"title\":\"Update UPI Payment Link\",\"description\":\"Update the details of a UPI Payment Link using this endpoint.\",\"api\":\"PATCH /v1/payment_links/:id\",\"href\":\"/docs/api/payments/payment-links/update-upi\"},{\"title\":\"Cancel a Standard Payment Link\",\"description\":\"Cancel a Standard Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links/:id/cancel\",\"href\":\"/docs/api/payments/payment-links/cancel-standard\"},{\"title\":\"Cancel a UPI Payment Link\",\"description\":\"Cancel a UPI Payment Link using this endpoint.\",\"api\":\"POST /v1/payment_links/:id/cancel\",\"href\":\"/docs/api/payments/payment-links/cancel-upi\"},{\"title\":\"Implement Thematic Changes in Payment Links Checkout Section\",\"description\":\"Customise the Checkout UI in the Payment Links payment request page using Razorpay APIs. Hide the top bar and prevent customers from choosing a different payment method.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/checkout-theme\"}
2049,{\"title\":\"Change Business Name\",\"description\":\"Customise the business name appearing on the Checkout section of the Payment Link payment request page using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/change-business-name\"},{\"title\":\"Customise Payment Methods - Options and Method Parameters\",\"description\":\"Customise the payment methods available to customers while using Payment Links using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/customise-payment-methods\"},{\"title\":\"Customise Payment Methods - Options and Config Parameters\",\"description\":\"Customise the payment methods available to customers while using Payment Links using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/customise-options-config\"},{\"title\":\"Rename Labels in Checkout Section\",\"description\":\"Customise and rename the labels in the Checkout Section of the Payment Links payment request page using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/rename-checkout-labels\"},{\"title\":\"Rename Labels in Payment Details Section\",\"description\":\"Customise and rename the labels in the Payment Details section of the Payment Links payment request page using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/rename-payment-details-labels\"},{\"title\":\"Offers on Payment Links\",\"description\":\"Provide offers to customers using Payment Links APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/offers\"},{\"title\":\"Transfer Payments Received Using Payment Links\",\"description\":\"Directly transfer the payments received from customers via Payment Links to your linked accounts using Razorpay APIs.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/transfer-payments\"},{\"title\":\"Perform Third-Party Validation Using Payment Links\",\"description\":\"Use Razorpay Payment Links APIs to perform third-party validation of bank accounts provided by your customers.\",\"api\":\"POST /v1/payment_links\",\"href\":\"/docs/api/payments/payment-links/third-party-validation\"}]},{\"group\":\"QR Codes\",\"pages\":[{\"title\":\"QR Codes\",\"description\":\"API Documentation for Razorpay QR Codes. Create, Close and Fetch QR Codes using APIs. Check the various use cases and code samples.\",\"href\":\"/docs/api/qr-codes\"},{\"title\":\"QR Codes Entity\",\"description\":\"Know about QR Codes entity parameters and their description.\",\"href\":\"/docs/api/qr-codes/entity\"},{\"title\":\"Create a QR Code\",\"description\":\"Create QR Codes with this endpoint and share with your customers.\",\"api\":\"POST /v1/payments/qr_codes\",\"href\":\"/docs/api/qr-codes/create\"},{\"title\":\"Close a QR Code\",\"description\":\"Close QR Codes with this endpoint.\",\"api\":\"POST /v1/payments/qr_codes/:id/close\",\"href\":\"/docs/api/qr-codes/close\"},{\"title\":\"Fetch All QR Codes\",\"description\":\"Fetch the details of multiple QR Codes using this endpoint.\",\"api\":\"GET /v1/payments/qr_codes?count=2\",\"href\":\"/docs/api/qr-codes/fetch-all\"},{\"title\":\"Fetch a QR Code\",\"description\":\"Fetch the details of a QR Code by Id.\",\"api\":\"GET /v1/payments/qr_codes/:id\",\"href\":\"/docs/api/qr-codes/fetch-with-id\"},{\"title\":\"Fetch QR Codes for a Customer ID\",\"description\":\"Fetch the details of a QR Codes using a Customer id.\",\"api\":\"GET /v1/payments/qr_codes?customer_id=\\\\{customer_id\\\\}\",\"href\":\"/docs/api/qr-codes/fetch-customer-id\"},{\"title\":\"Fetch QR Codes for a Payment ID\",\"description\":\"Fetch the details of a QR Codes using a Payment Id.\",\"api\":\"GET /v1/payments/qr_codes?payment_id=\\\\{payment_id\\\\}\",\"href\":\"/docs/api/qr-codes/fetch-payment-id\"},{\"title\":\"Fetch Payments for a QR Code\",\"description\":\"Fetch payments made on a particular QR Code using this endpoint.\",\"api\":\"GET /v1/payments/qr_codes/:id/payments\",\"href\":\"/docs/api/qr-codes/fetch-payments\"},{\"title\":\"Update a QR Code\",\"description\":\"Update QR Codes with this endpoint and share with your customers.\",\"api\":\"PATCH /v1/payments/qr_codes/:id/\",\"href\":\"/docs/api/qr-codes/update\"}]},{\"group\":\"Invoices\",\"pages\":[{\"title\":\"Invoices\",\"description\":\"Create, update, delete, cancel, fetch and send Invoices using Razorpay APIs.\",\"href\":\"/docs/api/payments/invoices\"},{\"title\":\"Invoices Entity\",\"description\":\"Entity parameters and sample code for Invoices API.\",\"href\":\"/docs/api/payments/invoices/entity\"},{\"title\":\"Create an Invoice With Customer ID\",\"description\":\"Create an Invoice with the Customer id.\",\"api\":\"POST /v1/invoices\",\"href\":\"/docs/api/payments/invoices/create-with-customer-id\"},{\"title\":\"Create an Invoice With Customer Details\",\"description\":\"Create an Invoice with basic details such as name and billing address.\",\"api\":\"POST /v1/invoices\",\"href\":\"/docs/api/payments/invoices/create-with-detail
2049s\"},{\"title\":\"Update an Invoice\",\"description\":\"Update the details of the Invoice using this endpoint.\",\"api\":\"PATCH /v1/invoices/:id\",\"href\":\"/docs/api/payments/invoices/update\"},{\"title\":\"Issue an Invoice\",\"description\":\"Issue an invoice using this endpoint.\",\"api\":\"POST /v1/invoices/:id/issue\",\"href\":\"/docs/api/payments/invoices/issue\"},{\"title\":\"Delete an Invoice\",\"description\":\"Delete an invoice using this endpoint.\",\"api\":\"DELETE /v1/invoices/:id\",\"href\":\"/docs/api/payments/invoices/delete\"},{\"title\":\"Cancel an Invoice\",\"description\":\"Cancel an invoice using this endpoint.\",\"api\":\"POST /v1/invoices/:id/cancel\",\"href\":\"/docs/api/payments/invoices/cancel\"},{\"title\":\"Fetch an Invoice With ID\",\"description\":\"Fetch the details of an Invoice using this endpoint.\",\"api\":\"GET /v1/invoices/:id\",\"href\":\"/docs/api/payments/invoices/fetch-with-id\"},{\"title\":\"Fetch All Invoices\",\"description\":\"Fetch the details of all Invoices using this endpoint.\",\"api\":\"GET /v1/invoices\",\"href\":\"/docs/api/payments/invoices/fetch-all\"},{\"title\":\"Send Notifications\",\"description\":\"Send notifications to your customers via SMS and Email using this endpoint.\",\"api\":\"POST /v1/invoices/:id/notify_by/:medium\",\"href\":\"/docs/api/payments/invoices/resend\"},{\"title\":\"Items Entity\",\"description\":\"Entity parameters and sample code for Items API.\",\"href\":\"/docs/api/payments/invoices/item-entity\"},{\"title\":\"Create an Item\",\"description\":\"Create an Item with basic details such as name and amount.\",\"api\":\"POST /v1/items\",\"href\":\"/docs/api/payments/invoices/create-item\"},{\"title\":\"Fetch Item With ID\",\"description\":\"Fetch an Item with your Item Id.\",\"api\":\"GET /v1/items/:id\",\"href\":\"/docs/api/payments/invoices/fetch-with-id-item\"},{\"title\":\"Fetch All Items\",\"description\":\"Retrieve all the Items created till date.\",\"api\":\"GET /v1/items\",\"href\":\"/docs/api/payments/invoices/fetch-all-items\"},{\"title\":\"Update an Item\",\"description\":\"Update an Item details using this endpoint.\",\"api\":\"PATCH /v1/items/:id\",\"href\":\"/docs/api/payments/invoices/update-item\"},{\"title\":\"Delete an Item\",\"description\":\"Delete an Item using this endpoint.\",\"api\":\"DELETE /v1/items/:id\",\"href\":\"/docs/api/payments/invoices/delete-item\"}]},{\"group\":\"Subscriptions\",\"pages\":[{\"title\":\"Subscriptions\",\"description\":\"Know about Subscriptions and list of endpoints.\",\"href\":\"/docs/api/payments/subscriptions\"},{\"title\":\"Plans Entity\",\"description\":\"Know about the Plan entity and the associated parameter descriptions.\",\"href\":\"/docs/api/payments/subscriptions/plans-entity\"},{\"title\":\"Create a Plan\",\"description\":\"Create a plan with basic details such as amount and currency\",\"api\":\"POST /v1/plans\",\"href\":\"/docs/api/payments/subscriptions/create-plan\"},{\"title\":\"Fetch All Plans\",\"description\":\"Fetch details of all plans created using the Razorpay API.\",\"api\":\"GET /v1/plans\",\"href\":\"/docs/api/payments/subscriptions/fetch-all-plans\"},{\"title\":\"Fetch a Plan With ID\",\"description\":\"Fetch a plan using the unique identifier\",\"api\":\"GET /v1/plans/:id\",\"href\":\"/docs/api/payments/subscriptions/fetch-a-plan\"},{\"title\":\"Subscriptions Entity\",\"description\":\"Know about the Subscription entity and the associated parameter descriptions.\",\"href\":\"/docs/api/payments/subscriptions/entity\"},{\"title\":\"Create a Subscription\",\"description\":\"Create a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/create-subscription\"},{\"title\":\"Create a Subscription Link\",\"description\":\"Create a Subscription link using the Razorpay API.\",\"api\":\"POST /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/create-subscription-link\"},{\"title\":\"Fetch All Subscriptions\",\"description\":\"Fetch all Subscriptions using the Razorpay API.\",\"api\":\"GET /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/fetch-subscriptions\"},{\"title\":\"Fetch a Subscription With ID\",\"description\":\"Fetch a Subscription using the unique identifier.\",\"api\":\"GET /v1/subscriptions/:id\",\"href\":\"/docs/api/payments/subscriptions/fetch-subscription-id\"},{\"title\":\"Cancel a Subscription\",\"description\":\"Cancel a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/cancel\",\"href\":\"/docs/api/payments/subscriptions/cancel-subscription\"},{\"title\":\"Update a Subscription\",\"description\":\"Update a Subscription using the Razorpay API.\",\"api\":\"PATCH /v1/subscriptions/:id\",\"href\":\"/docs/api/payments/subscriptions/update-subscription\"},{\"title\":\"Fetch Details of a Pending Update\",\"description\":\"Fetch details of a pending update using the Razorpay API.\",\"api\":\"GET /v1/subscriptions/:id/retrieve_scheduled_changes\",\"href\":\"/docs/api/payments/subscriptions/fetch-pending-update-details\"},{\"title\":\"Cancel an Update\",\"description\":\"Cancel an update using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/cancel_scheduled_changes\",\"href\":\"/docs/api/payments/subscriptions/cancel-update\"},{\"title\":\"Pause a Subscription\",\"description\":\"Pause a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/pause\",\"href\":\"/docs/api/payments/subscriptions/pause-subscription\"},{\"title\":\"Resume a Subscription\",\"description\":\"Resume a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions/:id/resume\",\"href\":\"/docs/api/payments/subscriptions/resume-subscription\"},{\"title\":\"Fetch All Invoices of a Subscription\",\"description\":\"Fetch all invoices of a Subscription using the Razorpay API.\",\"api\":\"GET /v1/invoices?subscription_id=:sub_id\",\"href\":\"/docs/api/payments/subscriptions/fetch-invoices\"},{\"title\":\"Link an Offer to a Subscription\",\"description\":\"Link an Offer to a Subscription using the Razorpay API.\",\"api\":\"POST /v1/subscriptions\",\"href\":\"/docs/api/payments/subscriptions/link-offer\"},{\"title\":\"Delete an Offer Linked to a Subscription\",\"description\":\"Delete an Offer linked to a Subscription using the Razorpay API.\",\"api\":\"DELET
2049E /v1/subscriptions/:sub_id/:offer_id\",\"href\":\"/docs/api/payments/subscriptions/delete-offer\"}]},{\"group\":\"Route\",\"pages\":[{\"title\":\"Route\",\"description\":\"Use Route to create APIs for Linked Accounts, Stakeholders, Product Configuration and Stakeholders.\",\"href\":\"/docs/api/payments/route\"},{\"title\":\"Linked Account Entity\",\"description\":\"Know about linked account entity parameters and their description.\",\"href\":\"/docs/api/payments/route/linked-account-entity\"},{\"title\":\"Create a Linked Account\",\"description\":\"Create a Linked Account using the Razorpay API.\",\"api\":\"POST /v2/accounts\",\"href\":\"/docs/api/payments/route/create-linked-account\"},{\"title\":\"Create a Linked Account (Composite)\",\"description\":\"Create a Linked Account with settlement destination in a single atomic API call using Razorpay Route Composite API.\",\"api\":\"POST /v2/accounts\",\"href\":\"/docs/api/payments/route/create-linked-account-composite\"},{\"title\":\"Update a Linked Account\",\"description\":\"Update Linked Accounts using the Razorpay API.\",\"api\":\"PATCH /v2/accounts/:account_id\",\"href\":\"/docs/api/payments/route/update-linked-accounts\"},{\"title\":\"Fetch a Linked Account With ID\",\"description\":\"Fetch details of a Linked Account using the Razorpay API.\",\"api\":\"GET /v2/accounts/:account_id\",\"href\":\"/docs/api/payments/route/fetch-with-id\"},{\"title\":\"Stakeholder Entity\",\"description\":\"Know about stakeholder entity parameters and their description.\",\"href\":\"/docs/api/payments/route/stakeholder-entity\"},{\"title\":\"Create a Stakeholder Account\",\"description\":\"Create a Stakeholder account using the Razorpay API.\",\"api\":\"POST /v2/accounts/:account_id/stakeholders\",\"href\":\"/docs/api/payments/route/create-stakeholder\"},{\"title\":\"Update a Stakeholder Account\",\"description\":\"Update a stakeholder account using the Razorpay API.\",\"api\":\"PATCH /v2/accounts/:account_id/stakeholders/:stakeholder_id\",\"href\":\"/docs/api/payments/route/update-stakeholder\"},{\"title\":\"Product Configuration Entity\",\"description\":\"Know about product configuration entity parameters and their description.\",\"href\":\"/docs/api/payments/route/product-configuration-entity\"},{\"title\":\"Request a Product Configuration\",\"description\":\"Request a product configuration using the Razorpay API.\",\"api\":\"POST /v2/accounts/:account_id/products\",\"href\":\"/docs/api/payments/route/request-product-config\"},{\"title\":\"Update a Product Configuration\",\"description\":\"Update a product configuration using the Razorpay API.\",\"api\":\"PATCH /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/payments/route/update-product-config\"},{\"title\":\"Fetch a Product Configuration\",\"description\":\"Fetch a product configuration using the Razorpay API.\",\"api\":\"GET /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/payments/route/fetch-product-config\"},{\"title\":\"Transfers Entity\",\"description\":\"Know about transfers entity parameters and their description.\",\"href\":\"/docs/api/payments/route/transfers-entity\"},{\"title\":\"Create Transfers From Orders\",\"description\":\"Initiate Transfers when creating an Order using the Razorpay API.\",\"api\":\"POST /v1/orders\",\"href\":\"/docs/api/payments/route/create-transfers-orders\"},{\"title\":\"Create Transfers From Payments\",\"description\":\"Initiate Transfers from captured payments using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/transfers\",\"href\":\"/docs/api/payments/route/create-transfers-payments\"},{\"title\":\"Create a Direct Transfer\",\"description\":\"Create a Direct Transfer using the Razorpay API.\",\"api\":\"POST /v1/transfers\",\"href\":\"/docs/api/payments/route/direct-transfers\"},{\"title\":\"Create a Direct Transfer (Idempotent Request)\",\"description\":\"Retry or send the same transfer request multiple times safely using the Razorpay API.\",\"api\":\"POST /v1/transfers\",\"href\":\"/docs/api/payments/route/direct-transfers-idempotent-request\"},{\"title\":\"Fetch Transfers for a Payment\",\"description\":\"Fetch Transfers for a payment using the Razorpay API.\",\"api\":\"GET /v1/payments/:id/transfers\",\"href\":\"/docs/api/payments/route/fetch-transfers-payment\"},{\"title\":\"Fetch Transfer for an Order\",\"description\":\"Fetch Transfer for an order using the Razorpay API.\",\"api\":\"GET /v1/orders/:id/?expand[]=transfers\u0026status=processing\",\"href\":\"/docs/api/payments/route/fetch-transfer-order\"},{\"title\":\"Fetch a Transfer With ID\",\"description\":\"Fetch a Transfer using the Razorpay API.\",\"api\":\"GET /v1/transfers/:id\",\"href\":\"/docs/api/payments/route/fetch-a-transfer\"},{\"title\":\"Fetch Transfers for a Settlement\",\"description\":\"Fetch Transfers for a Settlement using the Razorpay API.\",\"api\":\"GET /v1/transfers?recipient_settlement_id=:id\",\"href\":\"/docs/api/payments/route/fetch-transfers-for-a-settlement\"},{\"title\":\"Fetch Settlement Details\",\"description\":\"Fetch settlement details using the Razorpay API.\",\"api\":\"GET /v1/transfers?expand[]=recipient_settlement\",\"href\":\"/docs/api/payments/route/fetch-settlement-details\"}
2049,{\"title\":\"Fetch Payments of a Linked Account\",\"description\":\"Fetch Payments of a Linked Account using the Razorpay API.\",\"api\":\"GET /v1/payments/\",\"href\":\"/docs/api/payments/route/fetch-payments-linked-account\"},{\"title\":\"Refund Payments and Reverse Transfer from a Linked Account\",\"description\":\"Refund Payments and reverse Transfer from a Linked Account using the Razorpay API.\",\"api\":\"POST /v1/payments/:id/refund\",\"href\":\"/docs/api/payments/route/refund-payments-and-reverse-transfer\"},{\"title\":\"Reverse a Transfer\",\"description\":\"Reverse a Transfer using the Razorpay API.\",\"api\":\"POST /v1/transfers/:id/reversals\",\"href\":\"/docs/api/payments/route/reverse-a-transfer\"},{\"title\":\"Fetch Reversals for a Transfer\",\"description\":\"Fetch Reversals for a Transfer using the Razorpay API.\",\"api\":\"GET /v1/transfers/:id/reversals\",\"href\":\"/docs/api/payments/route/fetch-reversals\"},{\"title\":\"Modify Settlement Hold for Transfers\",\"description\":\"Modify Settlement Hold for Transfers using the Razorpay API.\",\"api\":\"PATCH /v1/transfers/:id\",\"href\":\"/docs/api/payments/route/modify-settlement-hold\"}]},{\"group\":\"Smart Collect\",\"pages\":[{\"title\":\"Smart Collect\",\"description\":\"Create Customer Identifiers on-demand for customers to pay via NEFT, RTGS and IMPS using Razorpay Smart Collect APIs.\",\"href\":\"/docs/api/payments/smart-collect\"},{\"title\":\"Smart Collect Entity\",\"description\":\"Entity parameters and sample code for Smart Collect API.\",\"href\":\"/docs/api/payments/smart-collect/entity\"},{\"title\":\"Create a Customer Identifier With Bank Account Receiver\",\"description\":\"Create a Customer Identifier with bank account receiver using the Razorpay API.\",\"api\":\"POST /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect/create-cust-id-bank-account\"},{\"title\":\"Close a Customer Identifier\",\"description\":\"Close a Customer Identifier using the Razorpay API\",\"api\":\"POST /v1/virtual_accounts/:id/close\",\"href\":\"/docs/api/payments/smart-collect/close\"},{\"title\":\"Fetch a Customer Identifier Using id\",\"description\":\"Fetch a Customer Identifier with id using the Razorpay API\",\"api\":\"GET /v1/virtual_accounts/:id\",\"href\":\"/docs/api/payments/smart-collect/fetch-with-id\"},{\"title\":\"Fetch All Customer Identifiers\",\"description\":\"Fetch all Customer Identifiers using the Razorpay Smart Collect APIs.\",\"api\":\"GET /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect/fetch-all\"},{\"title\":\"Fetch Payments for a Customer Identifier\",\"description\":\"Fetch payments for a Customer Identifier using the Razorpay API\",\"api\":\"GET /v1/virtual_accounts/:id/payments\",\"href\":\"/docs/api/payments/smart-collect/fetch-payments-cust-id\"},{\"title\":\"Fetch Payments Made Using Bank Transfer\",\"description\":\"Fetch Payments made using Bank Transfer payment method.\",\"api\":\"GET /v1/payments/:id/bank_transfer\",\"href\":\"/docs/api/payments/smart-collect/fetch-payments-bank-transfer\"},{\"title\":\"Fetch Payments Using UTR Number\",\"description\":\"Fetch Payments made using Bank Transfer via UTR using the Razorpay API.\",\"api\":\"GET /v1/payments?skip=0\u0026count=25\u0026va_transaction_id=:id\u0026virtual_account=1\",\"href\":\"/docs/api/payments/smart-collect/fetch-payments-bank-transfer-utr\"},{\"title\":\"Update a Customer Identifier\",\"description\":\"Update a Customer Identifier using the Razorpay API\",\"api\":\"PATCH /v1/virtual_accounts/:id\",\"href\":\"/docs/api/payments/smart-collect/update\"},{\"title\":\"Smart Collect With TPV\",\"sidebarTitle\":\"Smart Collect TPV\",\"description\":\"Create and manage Customer Identifiers and fetch payment details using Razorpay **Smart Collect TPV** APIs.\",\"href\":\"/docs/api/payments/smart-collect-tpv\"},{\"title\":\"Smart Collect With TPV Entity\",\"description\":\"Entity parameters and sample code for Smart Collect With TPV API.\",\"href\":\"/docs/api/payments/smart-collect-tpv/entity\"},{\"title\":\"Create a Customer Identifier With TPV\",\"description\":\"Create a Customer Identifier using the Razorpay Smart Collect API.\",\"api\":\"POST /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect-tpv/create\"},{\"title\":\"Add an Allowed Payer Account\",\"description\":\"Add an Allowed Payer Account using the Razorpay **Smart Collect TPV** APIs.\",\"api\":\"POST /v1/virtual_accounts/:va_id/allowed_payers\",\"href\":\"/docs/api/payments/smart-collect-tpv/add-allowed-payer\"},{\"title\":\"Fetch a Customer Identifier Using id With TPV\",\"description\":\"Fetch a Customer Identifier by id using the Razorpay Smart Collect TPV API.\",\"api\":\"GET /v1/virtual_accounts/:id\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-with-id\"},{\"title\":\"Fetch All Customer Identifiers With TPV\",\"description\":\"Fetch all Customer Identifiers using the Razorpay **Smart Collect TPV** API.\",\"api\":\"GET /v1/virtual_accounts\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-all\"},{\"title\":\"Fetch Payments for a Customer Identifier With TPV\",\"description\":\"Fetch Payments for a Customer Identifier using the Razorpay **Smart Collect TPV** API.\",\"api\":\"GET /v1/virtual_accounts/:id/payments\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-payments\"},{\"title\":\"Fetch Payment Details using ID and Transfer Method\",\"description\":\"Fetch Payment Details using ID and Transfer Method using the Razorpay Smart Collect API.\",\"api\":\"GET /v1/payments/:id/bank_transfer\",\"href\":\"/docs/api/payments/smart-collect-tpv/fetch-payment-id-transfer\"},{\"title\":\"Delete an Allowed Payer Account\",\"description\":\"Delete an Allowed Payer Account using the Razorpay Smart Collect API.\",\"api\":\"DELET
2049E /v1/virtual_accounts/:va_id/allowed_payers/:id\",\"href\":\"/docs/api/payments/smart-collect-tpv/delete-allowed-payer\"},{\"title\":\"Smart Collect 2.0 APIs\",\"sidebarTitle\":\"Smart Collect 2.0\",\"description\":\"Integrate Smart Collect 2.0 using Razorpay APIs.\",\"href\":\"/docs/api/payments/smart-collect-2\"},{\"title\":\"Smart Collect 2.0 Entity\",\"description\":\"Entity parameters and sample code for Smart Collect 2.0 API.\",\"href\":\"/docs/api/payments/smart-collect-2/entity\"},{\"title\":\"Fetch Payments Made Using UPI Payment Method\",\"description\":\"Fetch Payments made using UPI payment method, using the Razorpay API\",\"api\":\"GET /v1/payments/:id/upi_transfer\",\"href\":\"/docs/api/payments/smart-collect-2/fetch-payments-upi\"}]}]},{\"group\":\"Bills\",\"root\":{\"title\":\"About Bills\",\"description\":\"API Documentation for Razorpay bills. Create, Update and Delete Bills using APIs. Check the various use cases and code samples.\",\"href\":\"/docs/api/bills\"},\"pages\":[{\"title\":\"Bills Entity\",\"description\":\"Entity parameters and sample code for Bills API.\",\"href\":\"/docs/api/bills/entity\"},{\"title\":\"Create a Bill\",\"description\":\"Create Bills with this endpoint and share with your customers.\",\"api\":\"POST /v1/bills\",\"href\":\"/docs/api/bills/create\"},{\"title\":\"Update a Bill\",\"description\":\"Update Bills with this endpoint.\",\"api\":\"PATCH /v1/bills/:bill_id\",\"href\":\"/docs/api/bills/update\"},{\"title\":\"Delete a Bill\",\"description\":\"Delete Bills with this endpoint.\",\"api\":\"DELETE /v1/bills/:bill_id\",\"href\":\"/docs/api/bills/delete\"}]},{\"group\":\"Partners\",\"root\":{\"title\":\"Partner APIs\",\"description\":\"Onboard sub-merchants, configure their products, add stakeholders, upload KYC documents and subscribe to their events.\",\"href\":\"/docs/api/partners\"},\"pages\":[{\"group\":\"Account\",\"pages\":[{\"title\":\"Account\",\"description\":\"Use the Account APIs to onboard sub-merchants.\",\"href\":\"/docs/api/partners/account-onboarding\"},{\"title\":\"Account Entity\",\"description\":\"Entity parameters and sample code for Accounts API.\",\"href\":\"/docs/api/partners/account-onboarding/entity\"},{\"title\":\"Create an Account\",\"description\":\"Onboard sub-merchants by creating an account using Razorpay Partners APIs.\",\"api\":\"POST /v2/accounts\",\"href\":\"/docs/api/partners/account-onboarding/create\"},{\"title\":\"Fetch an Account\",\"description\":\"Retrieve account details with Razorpay Partners sub-merchant onboarding APIs.\",\"api\":\"GET /v2/accounts/:account_id\",\"href\":\"/docs/api/partners/account-onboarding/fetch\"},{\"title\":\"Update an Account\",\"description\":\"Update account with Razorpay Partners sub-merchant onboarding APIs.\",\"api\":\"PATCH /v2/accounts/:account_id\",\"href\":\"/docs/api/partners/account-onboarding/update\"},{\"title\":\"Delete an Account\",\"description\":\"Delete an Account using Razorpay Partners APIs.\",\"api\":\"DELETE /v2/accounts/:account_id\",\"href\":\"/docs/api/partners/account-onboarding/delete\"}]},{\"group\":\"Product Configuration\",\"pages\":[{\"title\":\"Product Configuration APIs\",\"sidebarTitle\":\"Product Configuration\",\"description\":\"Use the Product Configuration APIs to enable sub-merchants request for a product.\",\"href\":\"/docs/api/partners/product-configuration\"},{\"title\":\"Product Configuration Entity\",\"description\":\"Entity parameters and sample code for Product Configuration API.\",\"href\":\"/docs/api/partners/product-configuration/entity\"},{\"title\":\"Request a Product Configuration\",\"description\":\"Request a Product Configuration for Payment Gateway using Razorpay Partners APIs.\",\"api\":\"POST /v2/accounts/:account_id/products\",\"href\":\"/docs/api/partners/product-configuration/request\"},{\"title\":\"Fetch a Product Configuration\",\"description\":\"Fetch a Product Configuration using Razorpay Partners APIs.\",\"api\":\"GET /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/partners/product-configuration/fetch\"},{\"title\":\"Update Settlement Account Details\",\"description\":\"Update a Product Configuration during product configuration using Razorpay Partners APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/partners/product-configuration/update-settlement-account-details\"},{\"title\":\"Request Payment Methods\",\"description\":\"Request Payment Methods during product configuration using Razorpay Partners APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/products/:product_id\",\"href\":\"/docs/api/partners/product-configuration/update-request-payment-methods\"}]},{\"group\":\"Stakeholder\",\"pages\":[{\"title\":\"Stakeholder APIs\",\"sidebarTitle\":\"Stakeholder\",\"description\":\"Use the Stakeholder APIs to add stakeholders for an account.\",\"href\":\"/docs/api/partners/stakeholder\"},{\"title\":\"Stakeholder Entity\",\"description\":\"Entity parameters and sample code for Stakeholders API.\",\"href\":\"/docs/api/partners/stakeholder/entity\"},{\"title\":\"Create a Stakeholder\",\"description\":\"Create a Stakeholder using Razorpay Partners APIs.\",\"api\":\"POST /v2/accounts/:account_id/stakeholders\",\"href\":\"/docs/api/partners/stakeholder/create\"},{\"title\":\"Fetch a Stakeholder With ID\",\"description\":\"Fetch a Stakeholder using Razorpay Partners APIs.\",\"api\":\"GET /v2/accounts/:account_id/stakeholders/:stakeholder_id\",\"href\":\"/docs/api/partners/stakeholder/fetch-with-id\"},{\"title\":\"Fetch All Stakeholders\",\"description\":\"Fetch all Stakeholders using Razorpay Partners APIs.\",\"api\":\"GET /v2/accounts/:account_id/stakeholders\",\"href\":\"/docs/api/partners/stakeholder/fetch-all\"},{\"title\":\"Update a Stakeholder\",\"description\":\"Update a Stakeholder using Razorpay Partners APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/stakeholders/:stakeholder_id\",\"href\":\"/docs/api/partners/stakeholder/update\"}]},{\"group\":\"Documents\",\"pages\":[{\"title\":\"Document APIs\",\"sidebarTitle\":\"Documents\",\"description\":\"Use the Document APIs to upload files and complete the mandatory KYC requirements.\",\"href\":\"/docs/api/partners/upload-document\"},{\"title\":\"Upload Account Documents\",\"description\":\"Upload signatory documents for an Account using Razorpay APIs.\",\"api\":\"POST /v2/accounts/:account_id/documents\",\"href\":\"/docs/api/partners/upload-document/upload-account-documents\"},{\"title\":\"Upload Stakeholder Documents\",\"description\":\"Upload signatory documents for a Stakeholder using Razorpay APIs.\",\"api\":\"POST /v2/accounts/:account_id/stakeholders/:stakeholder_id/
2049documents\",\"href\":\"/docs/api/partners/upload-document/upload-stakeholder-documents\"},{\"title\":\"Fetch Account Documents\",\"description\":\"Fetch the documents uploaded for an Account using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/documents\",\"href\":\"/docs/api/partners/upload-document/fetch-account-documents\"},{\"title\":\"Fetch Stakeholder Documents\",\"description\":\"Fetch the documents uploaded for a Stakeholder using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/stakeholders/:stakeholder_id/documents\",\"href\":\"/docs/api/partners/upload-document/fetch-stakeholder-documents\"}]},{\"group\":\"Webhooks\",\"pages\":[{\"title\":\"Webhooks\",\"description\":\"Use the Webhook APIs to receive event notifications or subscribe to events happening in a sub-merchant's account as per their integration.\",\"href\":\"/docs/api/partners/webhooks\"},{\"title\":\"Webhooks Entity\",\"description\":\"Entity parameters and sample code for Webhooks API.\",\"href\":\"/docs/api/partners/webhooks/entity\"},{\"title\":\"Create a Webhook\",\"description\":\"Create a webhook using Razorpay APIs to receive event notifications.\",\"api\":\"POST /v2/accounts/:account_id/webhooks\",\"href\":\"/docs/api/partners/webhooks/create\"},{\"title\":\"Fetch a Webhook With ID\",\"description\":\"Fetch and view the details of a specific webhook id using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/webhooks/:webhook_id\",\"href\":\"/docs/api/partners/webhooks/fetch-with-id\"},{\"title\":\"Fetch All Webhooks\",\"description\":\"Fetch and view the details of all webhooks using Razorpay APIs.\",\"api\":\"GET /v2/accounts/:account_id/webhooks\",\"href\":\"/docs/api/partners/webhooks/fetch-all\"},{\"title\":\"Update a Webhook\",\"description\":\"Update a Webhook using Razorpay APIs.\",\"api\":\"PATCH /v2/accounts/:account_id/webhooks/:webhook_id\",\"href\":\"/docs/api/partners/webhooks/update\"},{\"title\":\"Delete a Webhook\",\"description\":\"Delete a webhook of a sub-merchant account using Razorpay APIs\",\"api\":\"DELETE /v2/accounts/:account_id/webhooks/:webhook_id\",\"href\":\"/docs/api/partners/webhooks/delete\"}]}]},{\"group\":\"Payout APIs\",\"root\":{\"title\":\"Get Started\",\"description\":\"Create Payouts using APIs.\",\"href\":\"/docs/api/x\"},\"pages\":[{\"group\":\"Account Validation\",\"pages\":[{\"title\":\"Account Validation\",\"description\":\"Overview of Account Validation for RazorpayX, APIs and webhook payload. Validate customer's bank account before you make payouts.\",\"href\":\"/docs/api/x/account-validation\"},{\"title\":\"Account Validation Entity\",\"description\":\"Overview of Account Validation for RazorpayX, APIs and webhook payload. Validate customer's bank account before you make payouts.\",\"href\":\"/docs/api/x/account-validation/entity\"},{\"title\":\"Create a Contact\",\"description\":\"Create a Contact via API.\",\"api\":\"POST /v1/contacts\",\"href\":\"/docs/api/x/account-validation/create-contact\"},{\"title\":\"Create a Fund Account of Type Bank Account\",\"description\":\"Create a Fund Account of the type bank account via API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/account-validation/bank-account/create-fund-account\"},{\"title\":\"Validate a Bank Account\",\"description\":\"Validate Fund Account of type bank account via API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/account-validation/bank-account\"},{\"title\":\"Create a Fund Account of Type VPA\",\"description\":\"Create a Fund Account of the type VPA via API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/account-validation/vpa/create-fund-account\"},{\"title\":\"Validate a VPA\",\"description\":\"Validate Fund Account of type VPA via API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/account-validation/vpa\"},{\"title\":\"Validate Bank Account (VPA) via Reverse Penny Drop\",\"description\":\"Validate your contact's bank account instantly via Reverse Penny Drop.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/account-validation/reverse-penny-drop\"},{\"title\":\"Fetch All Account Validation Transactions\",\"description\":\"Retrieve all account validations transactions via API.\",\"api\":\"GET /v1/fund_accounts/validations?account_number=:account_number\",\"href\":\"/docs/api/x/account-validation/fetch-all-transactions\"},{\"title\":\"Fetch Account Validation Transaction With ID\",\"description\":\"Retrieve account validations transactions with its id via API.\",\"api\":\"GET /v1/fund_accounts/validations/:id\",\"href\":\"/docs/api/x/account-validation/fetch-transactions-with-id\"}]},{\"title\":\"Fetch Balance\",\"description\":\"Fetch Account Balances\",\"api\":\"GET /v1/banking_balances\",\"href\":\"/docs/api/x/account-validation/balance-fetch\"},{\"group\":\"Composite Account Validation\",\"pages\":[{\"title\":\"Account Validation Composite\",\"sidebarTitle\":\"Composite Account Validation\",\"description\":\"Composite Account Validation for RazorpayX, APIs and webhook payload. Validate your customers’ bank account or VPA with a single API before you make payouts.\",\"href\":\"/docs/api/x/composite-account-validation\"},{\"title\":\"Validate a Bank Account\",\"description\":\"Create Contact, Fund account and Validate Fund Account of type bank account via a single API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/composite-account-validation/bank-account\"},{\"title\":\"Validate a VPA\",\"description\":\"Create Contact, Fund account and validate Fund Account of type VPA via a single API.\",\"api\":\"POST /v1/fund_accounts/validations\",\"href\":\"/docs/api/x/composite-account-validation/vpa\"},{\"title\":\"Fetch All Account Validation Transactions\",\"description\":\"Retrieve all account validations transactions via API.\",\"api\":\"GET /v1/fund_accounts/validations?account_number=:account_number\",\"href\":\"/docs/api/x/composite-account-validation/fetch-all-transactions\"},{\"title\":\"Fetch Account Validation Transaction With ID\",\"description\":\"Retrieve account validations transactions with its id via API.\",\"api\":\"GET /v1/fund_accounts/validations/:id\",\"href\":\"/docs/api/x/composite-account-validation/fetch-transactions-with-id\"}]},{\"group\":\"Contacts\",\"pages\":[{\"title\":\"Contacts\",\"description\":\"List of Contacts APIs to create, retrieve, update and delete RazorpayX Contacts.\",\"href\":\"/docs/api/x/contacts\"},{\"title\":\"Contacts Entity\",\"description\":\"Check the entity code for Contacts APIs.\",\"href\":\"/docs/api/x/contacts/entity\"},{\"title\":\"Create a Contact\",\"description\":\"Create a Contact using API.\",\"api\":\"POST /v1/contacts\",\"href\":\"/docs/api/x/contacts/create\"},{\"title\":\"Update a Contact\",\"description\":\"Update a Contact using APIs.\",\"api\":\"PATCH /v1/contacts/:id\",\"href\":\"/docs/api/x/contacts/update\"},{\"title\":\"Fetch All Contacts\",\"description\":\"Fetch all Contacts using API.\",\"api\":\"GET /v1/contacts\",\"href\":\"/docs/api/x/contacts/fetch-all\"},{\"title\":\"Fetch Contact With ID\",\"description\":\"Fetch Contact with ID using APIs.\",\"api\":\"GET /v1/contacts/:id\",\"href\":\"/docs/api/x/contacts/fetch-with-id\"},{\"title\":\"Activate or Deactivate a Contact\",\"description\":\"Activate or Deactivate a Contact using APIs.\",\"api\":\"PATCH /v1/contacts/:id\",\"href\":\"/docs/api/x/contacts/activate-or-deactivate\"}]},{\"group\":\"Fund Accounts\",\"pages\":[{\"title\":\"Fund Accounts\",\"description\":\"List of Fund Accounts APIs to create, retrieve and activate Fund Accounts.\",\"href\":\"/docs/api/x/fund-accounts\"},{\"title\":\"Fund Accounts Entity\",\"description\":\"Check the entity code for Fund Accounts APIs.\",\"href\":\"/docs/api/x/fund-accounts/entity\"},{\"title\":\"Create a Fund Account of Type Bank Account\",\"description\":\"Create a Fund Account with Bank Account details using APIs.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/fund-accounts/create/bank-account\"},{\"title\":\"Create a Fund Account of Type VPA\",\"description\":\"Create a Fund Account with VPA details using APIs.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/fund-accounts/create/vpa\"},{\"title\":\"Fetch All Fund Accounts\",\"description\":\"Fetch all Fund Accounts using API.\",\"api\":\"GET /v1/fund_accounts\",\"href\":\"/docs/api/x/fund-accounts/fetch-all\"},{\"title\":\"Fetch a Fund Account With ID\",\"description\":\"Fetch a Fund Account with ID using API.\",\"api\":\"GET /v1/fund_accounts/:id\",\"href\":\"/docs/api/x/fund-accounts/fetch-with-id\"},{\"title\":\"Activate or Deactivate a Fund Account\",\"description\":\"Activate or Deactivate a Fund Account using API.\",\"api\":\"PATCH /v1/fund_accounts/:id\",\"href\":\"/docs/api/x/fund-accounts/activate-or-deactivate\"}]},{\"group\":\"Payouts\",\"pages\":[{\"title\":\"Payouts\",\"description\":\"Create, fetch and cancel Payouts using APIs. Set up webhooks for notifications.\",\"href\":\"/docs/api/x/payouts\"},{\"title\":\"Payouts Entity\",\"description\":\"View RazorpayX Payouts entity parameters and descriptions.\",\"href\":\"/docs/api/x/payouts/entity\"},{\"title\":\"Create a Payout to a Bank Account\",\"description\":\"Create a Payout to a Bank Account using APIs.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts/create/bank-account\"},{\"title\":\"Create a Payout to a VPA\",\"description\":\"Create a Payout to a VPA using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts/create/vpa\"},{\"title\":\"Fetch All Payouts\",\"description\":\"Fetch All Payouts using API.\",\"api\":\"GET /v1/payouts?account_number=:account_number\",\"href\":\"/docs/api/x/payouts/fetch-all\"},{\"title\":\"Fetch Payout With ID\",\"description\":\"Fetch Payout with ID using API.\",\"api\":\"GET /v1/payouts/:id\",\"href\":\"/docs/api/x/payouts/fetch-with-id\"},{\"title\":\"Cancel a Queued Payout\",\"description\":\"Cancel a Queued Payout using API.\",\"api\":\"POST /v1/payouts/:id/cancel\",\"href\":\"/docs/api/x/payouts/cancel\"}]},{\"group\":\"Payouts to Cards\",\"pages\":[{\"title\":\"Payouts to Cards\",\"description\":\"Make payouts directly to a credit, debit or prepaid card using APIs.\",\"href\":\"/docs/api/x/payouts-cards\"},{\"title\":\"Payouts to Cards Entity\",\"description\":\"Check the entity code for Payouts to Cards APIs.\",\"href\":\"/docs/api/x/payouts-cards/entity\"},{\"title\":\"Create a Payout Without Saving Card\",\"description\":\"Create a Payout without Saving Card using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts-cards/create/without-saving-card\"}
2049,{\"title\":\"Create a Fund Account for Externally Tokenised Card\",\"description\":\"Create a Fund Account for saving an external Tokenised Card using API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/external-token/fund-account\"},{\"title\":\"Create a Payout to Externally Tokenised Card\",\"description\":\"Create a Payout by saving an external Tokenised Card using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/external-token/payout\"},{\"title\":\"Create a Fund Account for Card with Razorpay TokenHQ\",\"description\":\"Create a Fund Account for saving a card using Razorpay TokenHQ using API.\",\"api\":\"POST /v1/fund_accounts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/razorpay-tokenhq/fund-account\"},{\"title\":\"Create a Payout to Card with Razorpay TokenHQ\",\"description\":\"Create a Payout to Card with Razorpay TokenHQ using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payouts-cards/create/save-card/razorpay-tokenhq/payout\"}]},{\"group\":\"Payout Composite\",\"pages\":[{\"title\":\"Payout Composite\",\"description\":\"Explore composite APIs to make a payout using a single API call.\",\"href\":\"/docs/api/x/payout-composite\"},{\"title\":\"Payout Composite Entity\",\"description\":\"Check the entity code for Payout Composite APIs.\",\"href\":\"/docs/api/x/payout-composite/entity\"},{\"title\":\"Create a Payout to Bank Account Using Composite API\",\"description\":\"Create a Payout to Bank Account using the Composite API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/bank-account\"},{\"title\":\"Create a Payout to VPA Using Composite API\",\"description\":\"Create a Composite Payout using VPA via APIs.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/vpa\"},{\"title\":\"Create a Payout to a Mobile Number Using Composite API\",\"description\":\"Create a Payout to Mobile Number using the Composite API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/phone-number\"},{\"title\":\"Create a Payout to Card Using Composite API\",\"description\":\"Create a Composite Payout using Card using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-composite/create/card\"}]},{\"group\":\"Payouts Approval\",\"pages\":[{\"title\":\"Payouts Approval\",\"description\":\"List of Payouts Approval API endpoints to approve/reject payout requests.\",\"href\":\"/docs/api/x/payouts-approval\"},{\"title\":\"Payouts Approval Entity\",\"description\":\"Check the entity code for Payouts Approval APIs.\",\"href\":\"/docs/api/x/payouts-approval/entity\"},{\"title\":\"Approve Payouts\",\"description\":\"Approve payouts using APIs.\",\"api\":\"POST /v1/payouts/:id/approve\",\"href\":\"/docs/api/x/payouts-approval/approve\"},{\"title\":\"Reject Payouts\",\"description\":\"Reject a payout using API.\",\"api\":\"POST /v1/payouts/:id/reject\",\"href\":\"/docs/api/x/payouts-approval/reject\"}]},{\"group\":\"Payout Idempotency\",\"pages\":[{\"title\":\"Payout Idempotency\",\"description\":\"Use the Payout Idempotency API to retry a request without duplication.\",\"href\":\"/docs/api/x/payout-idempotency\"},{\"title\":\"Make a Request Idempotent\",\"description\":\"Make a Request Idempotent using API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-idempotency/make-request\"}]},{\"group\":\"Payout Links\",\"pages\":[{\"title\":\"Payout Links\",\"description\":\"List of Payout Links API endpoints to create, retrieve and cancel Payout Links.\",\"href\":\"/docs/api/x/payout-links\"},{\"title\":\"Payout Links Entity\",\"description\":\"Check the entity code for Payout Links APIs.\",\"href\":\"/docs/api/x/payout-links/entity\"},{\"title\":\"Create Payout Links Using Contact Details\",\"description\":\"Create Payout Links via API using recipient's contact details.\",\"api\":\"POST /v1/payout-links\",\"href\":\"/docs/api/x/payout-links/create/use-contact-details\"},{\"title\":\"Create Payout Links Using Contact ID\",\"description\":\"Create Payout Links via API using RazorpayX Contact id.\",\"api\":\"POST /v1/payout-links\",\"href\":\"/docs/api/x/payout-links/create/use-contact-id\"},{\"title\":\"Fetch All Payout Links\",\"description\":\"Fetch all the Payout Links using the API.\",\"api\":\"GET /v1/payout-links\",\"href\":\"/docs/api/x/payout-links/fetch-all\"},{\"title\":\"Fetch a Payout Link With ID\",\"description\":\"Fetch a Payout Links with its ID using the API.\",\"api\":\"GET v1/payout-links/:id?expand[l=payouts\",\"href\":\"/docs/api/x/payout-links/fetch-with-id\"},{\"title\":\"Cancel a Payout Link\",\"description\":\"Cancel a Payout Link via API.\",\"api\":\"POST /v1/payout-links/:id/cancel\",\"href\":\"/docs/api/x/payout-links/cancel\"}]},{\"group\":\"Payout Wallet - Amazon\",\"pages\":[{\"title\":\"Payout Wallet - Amazon\",\"description\":\"Find APIs to make payouts via an Amazon Pay Gift Card.\",\"href\":\"/docs/api/x/payout-wallet\"},{\"title\":\"Payout Wallet - Amazon Entity\",\"description\":\"Check the entity code for Payout Wallet APIs.\",\"href\":\"/docs/api/x/payout-wallet/entity\"},{\"title\":\"Create a Contact\",\"description\":\"Create a Contact via API.\",\"api\":\"POST /v1/contacts/\",\"href\":\"/docs/api/x/payout-wallet/create/contact\"},{\"title\":\"Create a Fund Account of Type Wallet\",\"description\":\"Create a Fund Account of type the wallet via API.\",\"api\":\"POST /v1/fund-accounts/\",\"href\":\"/docs/api/x/payout-wallet/create/fund-account\"},{\"title\":\"Create a Payout to Amazon Pay Wallet\",\"description\":\"Create a Payout to wallet via API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-wallet/create/payout\"},{\"title\":\"Make Payouts to Amazon Pay Wallet Using Composite API\",\"description\":\"Make Payout to wallet via Composite API.\",\"api\":\"POST /v1/payouts\",\"href\":\"/docs/api/x/payout-wallet/create/payout-composite\"}]},{\"group\":\"Transactions\",\"pages\":[{\"title\":\"Transactions\",\"description\":\"List of Transactions APIs to retrieve transactions.\",\"href\":\"/docs/api/x/transactions\"},{\"title\":\"Transactions Entity\",\"description\":\"Check the entity code of the Transactions API.\",\"href\":\"/docs/api/x/transactions/entity\"},{\"title\":\"Fetch All Transactions\",\"description\":\"Retrieve the details of all transactions from your account using the API.\",\"api\":\"GET /v1/transactions?account_number=:account_number\",\"href\":\"/docs/api/x/transactions/fetch-all\"},{\"title\":\"Fetch Transactions With ID\",\"description\":\"Retrieve the details of a transaction with its id using the API.\",\"api\":\"GET /v1/transactions/:id\",\"href\":\"/docs/api/x/transactions/fetch-with-id\"}]}]},{\"group\":\"Recurring Payments API\",\"root\":{\"title\":\"Recurring Payments API\",\"sidebarTitle\":\"Recurring Payments\",\"description\":\"Integrate Recurring Payments using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments\"},\"pages\":[{\"title\":\"Postman Collection\",\"description\":\"Download the Postman collection for Razorpay Recurring Payments.\",\"href\":\"/docs/api/payments/recurring-payments/postman-collection\"},{\"group\":\"Emandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction with Emandate as a payment method.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorized.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/create-subsequent-payments\"}]},{\"group\":\"Cards\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction for cards using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/cards/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/cards/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorized.\",\"href\":\"/docs/api/payments/recurring-payments/cards/create-subsequent-payments\"}]},{\"group\":\"Wallets\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":null,\"href\":\"/docs/api/payments/recurring-payments/wallets/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/wallets/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorized.\",\"href\":\"/docs/api/payments/recurring-payments/wallets/create-subsequent-payments\"}]},{\"group\":\"Paper NACH\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction with NACH as a payment method.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/create-subsequent-payments\"}]},{\"group\":\"UPI\",\"pages\":[{\"group\":\"UPI\",\"pages\":[{\"title\":\"1. Create an Authorisation Transaction\",\"description\":\"Create an authorisation transaction for UPI using Razorpay APIs and Registration Link.\",\"href\":\"/docs/api/payments/recurring-payments/upi/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is authorised.\",\"href\":\"/docs/api/payments/recurring-payments/upi/create-subsequent-payments\"}]},{\"group\":\"UPI with TPV\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction for UPI.\",\"href\":\"/docs/api/payments/recurring-payments/upi-tpv/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi-tpv/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is authorised.\",\"href\":\"/docs/api/payments/recurring-payments/upi-tpv/create-subsequent-payments\"}]},{\"group\":\"UPI One Time Mandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Steps to create an authorisation transaction for UPI one time mandate.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/one-time-payment\"},{\"title\":\"Frequently Asked Questions (FAQs)\",\"description\":\"Find answers to frequently asked questions about UPI One-time Mandate.\",\"href\":\"/docs/api/payments/recurring-payments/upi-otm/faqs\"}]},{\"group\":\"UPI Reserve Pay (SBMD)\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Steps to create an authorisation transaction using the UPI Reserve Pay (SBMD) APIs.\",\"href\":\"/docs/api/payments/recurring-payments/upi-reserve-pay/authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay UPI Reserve Pay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/upi-reserve-pay/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay UPI Reserve Pay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/upi-reserve-pay/one-time-payment\"}]}]},{\"group\":\"Registration and Charge First Payment Together\",\"pages\":[{\"title\":\"Charge First Payment Automatically after Emandate Registration\",\"sidebarTitle\":\"Emandate\",\"description\":\"Register a customer's mandate and charge them the first recurring payment as part of the same transaction via Emandate.\",\"href\":\"/docs/api/payments/recurring-payments/emandate/auto-debit\"},{\"title\":\"Charge First Payment Automatically after NACH Registration\",\"sidebarTitle\":\"Paper NACH\",\"description\":\"Register a customer's mandate AND charge them the first recurring payment as part of the same transaction via paper NACH.\",\"href\":\"/docs/api/payments/recurring-payments/paper-nach/auto-debit\"}]},{\"title\":\"Webhooks\",\"description\":\"Set up webhooks for Recurring Payments, check available webhook events and sample payloads for these events.\",\"href\":\"/docs/api/payments/recurring-payments/webhooks\"}]},{\"group\":\"Recurring Payments API - Custom Integration\",\"root\":{\"title\":\"Recurring Payments API - Custom Integration\",\"description\":\"Know how you can integrate Recurring Payments using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom\"},\"pages\":[{\"title\":\"Postman Collection\",\"sidebarTitle\":\"Postman Collection\",\"description\":\"Download the Postman collection for Razorpay Recurring Payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/postman-collection\"},{\"group\":\"UPI\",\"pages\":[{\"group\":\"UPI\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Learn how to create an authorisation transaction for upi.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi/create-subsequent-payments\"}]},{\"group\":\"UPI with TPV\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Learn how to create an authorisation transaction for upi.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-tpv/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-tpv/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-tpv/create-subsequent-payments\"}]},{\"group\":\"UPI One Time Mandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"descri
2049ption\":\"Create an authorisation transaction for UPI One Time Mandate using Razorpay Custom Checkout.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-otm/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-otm/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-otm/one-time-payment\"}]},{\"group\":\"UPI ReservePay\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Steps to create an authorisation transaction using the UPI Reserve Pay (SBMD) Custom Checkout APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-reserve-pay/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay UPI Reserve Pay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-reserve-pay/tokens\"},{\"title\":\"3. Create a One Time Payment\",\"description\":\"Create and charge a one time payment using Razorpay UPI Reserve Pay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/upi-reserve-pay/one-time-payment\"}]}]},{\"group\":\"Cards\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Create an authorisation transaction for cards using Razorpay APIs.\",\"href\":\"/docs/api/payments/recurring-payments/custom/cards/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/cards/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/cards/create-subsequent-payments\"}]},{\"group\":\"Emandate\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Know how to create an authorisation transaction with method emandate so customers can complete the authorization using their netbanking login.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/create-subsequent-payments\"}]},{\"group\":\"Paper NACH\",\"pages\":[{\"title\":\"1. Create the Authorisation Transaction\",\"description\":\"Learn how to create an authorisation transaction with method NACH so customers can set up authorization by signing a physical NACH form.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/create-authorization-transaction\"},{\"title\":\"2. Fetch and Manage Tokens\",\"description\":\"Retrieve tokens using Razorpay APIs to create subsequent payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/tokens\"},{\"title\":\"3. Create Subsequent Payments\",\"description\":\"Create and charge subsequent payments using Razorpay APIs after the customer's selected payment method is successfully authorised.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/create-subsequent-payments\"}]},{\"group\":\"Registration and Charge First Payment Together\",\"pages\":[{\"title\":\"Charge First Payment Automatically after Emandate Registration\",\"sidebarTitle\":\"Emandate\",\"description\":\"Register a customer's mandate AND charge them the first recurring payment as part of the same transaction via Emandate.\",\"href\":\"/docs/api/payments/recurring-payments/custom/emandate/auto-debit\"},{\"title\":\"Charge First Payment Automatically after NACH Registration\",\"sidebarTitle\":\"Paper NACH\",\"description\":\"Register a customer's mandate AND charge them the first recurring payment as part of the same transaction via paper NACH.\",\"href\":\"/docs/api/payments/recurring-payments/custom/paper-nach/auto-debit\"}]},{\"title\":\"Webhooks\",\"description\":\"Learn how to set up webhooks for recurring payments, available webhook events and sample payloads for these events. Webhooks are the best ways to receive alerts about the authorisation payment, the status of tokens and subsequent recurring payments.\",\"href\":\"/docs/api/payments/recurring-payments/custom/webhooks\"}]}]},{\"tab\":\"Developer Tools\",\"icon\":\"screwdriver-wrench\",\"pages\":[{\"title\":\"Developer Tools\",\"href\":\"/docs/developer-tools\"}]},{\"tab\":\"RBI Directive on Recurring Card Payments\",\"hidden\":true,\"pages\":[{\"title\":\"RBI Directive on Recurring Card Payments\",\"href\":\"/docs/announcements/rbi-card-mandate-guidelines/recurring-payments\"}]},{\"tab\":\"RBI Directive on Card Payments for Subscriptions\",\"hidden\":true,\"pages\":[{\"title\":\"RBI Directive on Card Payments for Subscriptions\",\"href\":\"/docs/announcements/rbi-card-mandate-guidelines/subscriptions\"}]},{\"tab\":\"Announcement Regarding TLS\",\"hidden\":true,\"pages\":[{\"title\":\"Announcement Regarding TLS\",\"href\":\"/docs/announcements/tls\"}]},{\"tab\":\"Bill Payments (BBPS)\",\"hidden\":true,\"pages\":[{\"title\":\"Bill Payments (BBPS)\",\"href\":\"/docs/api/bills/bill-payments\"}]},{\"tab\":\"Products\",\"hidden\":true,\"pages\":[{\"title\":\"Products\",\"href\":\"/docs/api/orders/products\"}]},{\"tab\":\"Terms and Conditions APIs\",\"hidden\":true,\"pages\":[{\"title\":\"Terms and Conditions APIs\",\"href\":\"/docs/api/partners/terms-conditions\"}]},{\"tab\":\"Card Fingerprints (or PAR) API\",\"hidden\":true,\"pages\":[{\"title\":\"Card Fingerprints (or PAR) API\",\"href\":\"/docs/api/payments/cards/fingerprints\"}]},{\"tab\":\"Complaints\",\"hidden\":true,\"pages\":[{\"title\":\"Complaints\",\"href\":\"/docs/api/payments/tpap-pro/complaints-flow\"}]},{\"tab\":\"Customer Onboarding\",\"hidden\":true,\"pages\":[{\"title\":\"Customer Onboarding\",\"href\":\"/docs/api/payments/tpap-pro/customer-onboarding\"}]},{\"tab\":\"Accounts Management\",\"hidden\":true,\"pages\":[{\"title\":\"Accounts Management\",\"href\":\"/docs/api/payments/tpap-pro/funds-account-management\"}]},{\"tab\":\"UPI Lite\",\"hidden\":true,\"pages\":[{\"title\":\"UPI Lite\",\"href\":\"/docs/api/payments/tpap-pro/fundsource-lite\"}]},{\"tab\":\"Mandates\",\"hidden\":true,\"pages\":[{\"title\":\"Mandates\",\"href\":\"/docs/api/payments/tpap-pro/mandate-flow\"}]},{\"tab\":\"Payments (API)\",\"hidden\":true,\"pages\":[{\"title\":\"Payments (API)\",\"href\":\"/docs/api/payments/tpap-pro/payments-flow\"}]},{\"tab\":\"UPI Number\",\"hidden\":true,\"pages\":[{\"title\":\"UPI Number\",\"href\":\"/docs/api/payments/tpap-pro/upi-number\"}]},{\"tab\":\"QR Codes GST APIs\",\"hidden\":true,\"pages\":[{\"title\":\"QR Codes GST APIs\",\"href\":\"/docs/api/qr-codes/gst\"}]},{\"tab\":\"QR Codes (Image Content)\",\"hidden\":true,\"pages\":[{\"title\":\"QR Codes (Image Content)\",\"href\":\"/docs/api/qr-codes/image-content\"}]},{\"tab\":\"Razorpay App Store - Discover App Integrations and Extensions\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay App Store - Discover App Integrations and Extensions\",\"href\":\"/docs/app-store\"}]},{\"tab\":\"Razorpay POS Error Codes and Troubleshooting\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay POS Error Codes and Troubleshooting\",\"href\":\"/docs/errors/pos\"}]},{\"tab\":\"About Aggregators\",\"hidden\":true,\"pages\":[{\"title\":\"About Aggregators\",\"href\":\"/docs/partners/aggregators\"}]},{\"tab\":\"COD \u0026 Magic Checkout (formerly Checkout360)\",\"hidden\":true,\"pages\":[{\"title\":\"COD \u0026 Magic Checkout (formerly Checkout360)\",\"href\":\"/docs/payments/cod-magic-checkout\"}]},{\"tab\":\"Configuration\",\"hidden\":true,\"pages\":[{\"title\":\"Configuration\",\"href\":\"/docs/payments/dashboard/account-settings/configuration\"}]},{\"tab\":\"Dynamic Convenience Fees\",\"hidden\":true,\"pages\":[{\"title\":\"Dynamic Convenience Fees\",\"href\":\"/docs/payments/dynamic-convenience-fees\"}]},{\"tab\":\"Integrate Razorpay Payment Button with Ghost CMS\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate Razorpay Payment Button with Ghost CMS\",\"href\":\"/docs/payments/ecommerce-plugins/ghost-integration\"}]},{\"tab\":\"About Insights\",\"hidden\":true,\"pages\":[{\"title\":\"About Insights\",\"href\":\"/docs/payments/insights\"}]},{\"tab\":\"Integrate With Razorpay Import Flow - Custom Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Razorpay Import Flow - Custom Integration\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/custom-integration\"}]},{\"tab\":\"About Razorpay Import Flow Web Standard Integration (Payments)\",\"hidden\":true,\"pages\":[{\"title\":\"About Razorpay Import Flow Web Standard Integration (Payments)\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/import-flow/standard-integration\"}]},{\"tab\":\"Integrate With Razorpay Import Flow - S2S Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Razorpay Import Flow - S2S Integration\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/s2s-integration\"}]},{\"tab\":\"About Razorpay Import Flow Web Standard Integration (International Payments)\",\"hidden\":true,\"pages\":[{\"title\":\"About Razorpay Import Flow Web Standard Integration (International Payments)\",\"href\":\"/docs/payments/international-payments/accept-international-payments-from-indian-customers/standard-integration\"}]},{\"tab\":\"Outward Remittances for Education and Travel Payments\",\"hidden\":true,\"pages\":[{\"title\":\"Outward Remittances for Education and Travel Payments\",\"href\":\"/docs/payments/international-payments/outward-remittances\"}]},{\"tab\":\"Risk Analytics Dashboard\",\"hidden\":true,\"pages\":[{\"title\":\"Risk Analytics Dashboard\",\"href\":\"/docs/payments/international-payments/risk-visibility-dashboard\"}]},{\"tab\":\"Magic Checkout APIs\",\"hidden\":true,\"pages\":[{\"title\":\"Magic Checkout APIs\",\"href\":\"/docs/payments/magic-checkout/apis\"}]},{\"tab\":\"RTO Intelligence\",\"hidden\":true,\"pages\":[{\"title\":\"RTO Intelligence\",\"href\":\"/docs/payments/magic-checkout/rto-intelligence\"}]},{\"tab\":\"Integrate With Android Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Android Custom SDK\",\"href\":\"/docs/payments/payment-gateway/android-integration/custom\"}]},{\"tab\":\"Prerequisites (Payments)\",\"hidden\":true,\"pages\":[{\"title\":\"Prerequisites (Payments)\",\"href\":\"/docs/payments/payment-gateway/ecommerce-plugins/shopify-razorpay-secure\"}]},{\"tab\":\"Eligibility Check API\",\"hidden\":true,\"pages\":[{\"title\":\"Eligibility Check API\",\"href\":\"/docs/payments/payment-gateway/emi²/eligibility-check\"}]},{\"tab\":\"Integrate With Flutter Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With Flutter Custom SDK\",\"href\":\"/docs/payments/payment-gateway/flutter-integration/custom\"}]},{\"tab\":\"Integrate With iOS Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With iOS Custom SDK\",\"href\":\"/docs/payments/payment-gateway/ios-integration/custom\"}]}
2049,{\"tab\":\"Handle Payment Exceptions with Rainy Day Kit\",\"hidden\":true,\"pages\":[{\"title\":\"Handle Payment Exceptions with Rainy Day Kit\",\"href\":\"/docs/payments/payment-gateway/rainy-day\"}]},{\"tab\":\"Integrate With React Native Custom SDK\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate With React Native Custom SDK\",\"href\":\"/docs/payments/payment-gateway/react-native-integration/custom\"}]},{\"tab\":\"Server-to-Server Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Server-to-Server Integration\",\"href\":\"/docs/payments/payment-gateway/s2s-integration\"}]},{\"tab\":\"Web Integration - Razorpay Custom Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Web Integration - Razorpay Custom Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/build-integration\"}]},{\"tab\":\"PhonePe Switch Integration\",\"hidden\":true,\"pages\":[{\"title\":\"PhonePe Switch Integration\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/phonepe-switch\"}]},{\"tab\":\"UPI Intent on Mobile Web\",\"hidden\":true,\"pages\":[{\"title\":\"UPI Intent on Mobile Web\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/payment-methods/upi-intent-mweb\"}]},{\"tab\":\"Save customer card details on Custom Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Save customer card details on Custom Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/features/saved-cards-old\"}]},{\"tab\":\"Prerequisites (Payment Gateway)\",\"hidden\":true,\"pages\":[{\"title\":\"Prerequisites (Payment Gateway)\",\"href\":\"/docs/payments/payment-gateway/web-integration/hosted\"}]},{\"tab\":\"Chargeback on Custom Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Chargeback on Custom Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/custom/chargeback\"}]},{\"tab\":\"Web Integration - Razorpay Standard Checkout\",\"hidden\":true,\"pages\":[{\"title\":\"Web Integration - Razorpay Standard Checkout\",\"href\":\"/docs/payments/payment-gateway/web-integration/standard/chargeback\"}]},{\"tab\":\"Standard Web Integration - Configurability of Payment Methods\",\"hidden\":true,\"pages\":[{\"title\":\"Standard Web Integration - Configurability of Payment Methods\",\"href\":\"/docs/payments/payment-gateway/web-integration/standard/configure-restrict-payment-methods\"}]},{\"tab\":\"About Webview for Mobile Apps\",\"hidden\":true,\"pages\":[{\"title\":\"About Webview for Mobile Apps\",\"href\":\"/docs/payments/payment-gateway/web-integration/standard/webview\"}]},{\"tab\":\"Alipay\",\"hidden\":true,\"pages\":[{\"title\":\"Alipay\",\"href\":\"/docs/payments/payment-methods/alipay\"}]},{\"tab\":\"Pay with Reward Points\",\"hidden\":true,\"pages\":[{\"title\":\"Pay with Reward Points\",\"href\":\"/docs/payments/payment-methods/apps/reward-points\"}]},{\"tab\":\"BharatQR\",\"hidden\":true,\"pages\":[{\"title\":\"BharatQR\",\"href\":\"/docs/payments/payment-methods/bharatqr\"}]},{\"tab\":\"Authentication Type for Cards - Native OTP\",\"hidden\":true,\"pages\":[{\"title\":\"Authentication Type for Cards - Native OTP\",\"href\":\"/docs/payments/payment-methods/cards/authentication/native-otp\"}]},{\"tab\":\"Dynamic Currency Conversion\",\"hidden\":true,\"pages\":[{\"title\":\"Dynamic Currency Conversion\",\"href\":\"/docs/payments/payment-methods/cards/dynamic-currency-conversion\"}]},{\"tab\":\"Google Pay Card Payments\",\"hidden\":true,\"pages\":[{\"title\":\"Google Pay Card Payments\",\"href\":\"/docs/payments/payment-methods/cards/google-pay\"}]},{\"tab\":\"Tokenisation FAQs\",\"hidden\":true,\"pages\":[{\"title\":\"Tokenisation FAQs\",\"href\":\"/docs/payments/payment-methods/cards/token-hq\"}]},{\"tab\":\"DOKU, OVO, and LinkAja\",\"hidden\":true,\"pages\":[{\"title\":\"DOKU, OVO, and LinkAja\",\"href\":\"/docs/payments/payment-methods/doku-ovo-linkaja\"}]},{\"tab\":\"eCOD\",\"hidden\":true,\"pages\":[{\"title\":\"eCOD\",\"href\":\"/docs/payments/payment-methods/ecod\"}]},{\"tab\":\"About Instant EMI Cardless\",\"hidden\":true,\"pages\":[{\"title\":\"About Instant EMI Cardless\",\"href\":\"/docs/payments/payment-methods/emi/cardless-emi/instant-emi\"}]},{\"tab\":\"International Payments - Giropay\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - Giropay\",\"href\":\"/docs/payments/payment-methods/giropay\"}]},{\"tab\":\"GoPay\",\"hidden\":true,\"pages\":[{\"title\":\"GoPay\",\"href\":\"/docs/payments/payment-methods/gopay\"}]},{\"tab\":\"GrabPay (Malaysia)\",\"hidden\":true,\"pages\":[{\"title\":\"GrabPay (Malaysia)\",\"href\":\"/docs/payments/payment-methods/grabpay-my\"}]},{\"tab\":\"GrabPay (Singapore)\",\"hidden\":true,\"pages\":[{\"title\":\"GrabPay (Singapore)\",\"href\":\"/docs/payments/payment-methods/grabpay-sg\"}]},{\"tab\":\"Klarna\",\"hidden\":true,\"pages\":[{\"title\":\"Klarna\",\"href\":\"/docs/payments/payment-methods/klarna\"}]},{\"tab\":\"International Payments - POLi\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - POLi\",\"href\":\"/docs/payments/payment-methods/poli\"}]},{\"tab\":\"International Payments - Sofort\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - Sofort\",\"href\":\"/docs/payments/payment-methods/sofort\"}]},{\"tab\":\"International Payments - Trustly\",\"hidden\":true,\"pages\":[{\"title\":\"International Payments - Trustly\",\"href\":\"/docs/payments/payment-methods/trustly\"}]},{\"tab\":\"UPI QR Code\",\"hidden\":true,\"pages\":[{\"title\":\"UPI QR Code\",\"href\":\"/docs/payments/payment-methods/upi-qr\"}]},{\"tab\":\"Google Spot Platform Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Google Spot Platform Integration\",\"href\":\"/docs/payments/payment-methods/upi/google-pay/spot-platform-integration\"}]},{\"tab\":\"Send GST information in UPI transaction flows\",\"hidden\":true,\"pages\":[{\"title\":\"Send GST information in UPI transaction flows\",\"href\":\"/docs/payments/payment-methods/upi/gst-on-upi\"}]},{\"tab\":\"Zip\",\"hidden\":true,\"pages\":[{\"title\":\"Zip\",\"href\":\"/docs/payments/payment-methods/zip\"}]},{\"tab\":\"Track Payments Using Google Tracking ID and Facebook Pixel\",\"hidden\":true,\"pages\":[{\"title\":\"Track Payments Using Google Tracking ID and Facebook Pixel\",\"href\":\"/docs/payments/payment-pages/plugins-add-ons\"}]},{\"tab\":\"Recurring Payments\",\"hidden\":true,\"pages\":[{\"title\":\"Recurring Payments\",\"href\":\"/docs/payments/recurring-payments\"}]},{\"tab\":\"Account Code\",\"hidden\":true,\"pages\":[{\"title\":\"Account Code\",\"href\":\"/docs/payments/route/account-code\"}]},{\"tab\":\"Direct Settlements\",\"hidden\":true,\"pages\":[{\"title\":\"Direct Settlements\",\"href\":\"/docs/payments/settlements/direct\"}]}
2049,{\"tab\":\"Update Expiry Date for an Individual Customer Identifier\",\"hidden\":true,\"pages\":[{\"title\":\"Update Expiry Date for an Individual Customer Identifier\",\"href\":\"/docs/payments/smart-collect/update-expiry\"}]},{\"tab\":\"Razorpay Smart Collect\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay Smart Collect\",\"href\":\"/docs/payments/smart-collect/va-vpa-qr\"}]},{\"tab\":\"Third-Party Validation (TPV) - Custom Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Third-Party Validation (TPV) - Custom Integration\",\"href\":\"/docs/payments/third-party-validation/custom-integration\"}]},{\"tab\":\"Third-Party Validation (TPV) - S2S Integration\",\"hidden\":true,\"pages\":[{\"title\":\"Third-Party Validation (TPV) - S2S Integration\",\"href\":\"/docs/payments/third-party-validation/s2s-integration\"}]},{\"tab\":\"About TPAP Pro\",\"hidden\":true,\"pages\":[{\"title\":\"About TPAP Pro\",\"href\":\"/docs/payments/tpap-pro\"}]},{\"tab\":\"Razorpay White Label Wallet\",\"hidden\":true,\"pages\":[{\"title\":\"Razorpay White Label Wallet\",\"href\":\"/docs/payments/wallet\"}]},{\"tab\":\"Integrate with HRMS Software\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate with HRMS Software\",\"href\":\"/docs/payroll/integrations/hrms\"}]},{\"tab\":\"Custom Payroll \u0026 Attendance Cycle\",\"hidden\":true,\"pages\":[{\"title\":\"Custom Payroll \u0026 Attendance Cycle\",\"href\":\"/docs/payroll/quickstart/custom-cycle\"}]},{\"tab\":\"FnF Hold Salary Pay Compliance\",\"hidden\":true,\"pages\":[{\"title\":\"FnF Hold Salary Pay Compliance\",\"href\":\"/docs/payroll/run-payroll/fnf\"}]},{\"tab\":\"Testing SSR\",\"hidden\":true,\"pages\":[{\"title\":\"Testing SSR\",\"href\":\"/docs/test-ssr\"}]},{\"tab\":\"Sub-Merchant Onboarding Webhooks - Sample Payload\",\"hidden\":true,\"pages\":[{\"title\":\"Sub-Merchant Onboarding Webhooks - Sample Payload\",\"href\":\"/docs/webhooks/partners\"}]},{\"tab\":\"Integrate Tally\",\"hidden\":true,\"pages\":[{\"title\":\"Integrate Tally\",\"href\":\"/docs/x/accounting/tally\"}]},{\"tab\":\"About Razorpay Capital\",\"hidden\":true,\"pages\":[{\"title\":\"About Razorpay Capital\",\"href\":\"/docs/x/capital\"}]}]},{\"version\":\"Singapore\",\"pages\":[{\"title\":\"Singapore\",\"href\":\"/docs/sg/api\"}]},{\"version\":\"United States\",\"pages\":[{\"title\":\"United States\",\"href\":\"/docs/us/api\"}]},{\"version\":\"Malaysia\",\"href\":\"https://curlec.np.razorpay.in/docs\"}]},\"maps\":{\"firstHrefInVersion\":{\"India\":{\"href\":\"/docs/api\",\"matchLevel\":0},\"Singapore\":{\"href\":\"/docs/sg/api\",\"matchLevel\":1},\"United States\":{\"href\":\"/docs/us/api\",\"matchLevel\":1}},\"firstHrefInLanguage\":{}},\"children\":\"$L31\"}]\n"])</script>
2049<script>self.__next_f.push([1,"32:I[604804,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LoginButtonProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"33:I[141180,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"SidebarLoginButtonProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"34:I[343590,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"NavigationContextController\"]\n"])</script>
2049<script>self.__next_f.push([1,"35:I[378486,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageListProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"36:I[742977,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PrefetchProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"37:I[237978,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageModeOverrideProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"38:I[378896,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ConfiguredVariationProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"39:I[557611,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"Fonts\"]\n"])</script>
2049<script>self.__next_f.push([1,"3a:I[330080,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"BannerProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"3b:I[864506,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"NavbarTransitionScript\"]\n"])</script>
2049<script>self.__next_f.push([1,"3e:I[763509,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ThemeLayout\"]\n"])</script>
2049<script>self.__next_f.push([1,"3f:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ApiReferenceProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"40:I[114793,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"41:I[91557,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"OpenApiProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"42:I[525343,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"TabSyncContextProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"3c:T9e0,"])</script>
2049<script>self.__next_f.push([1,"(function () {\n  var measure = function(){let a=document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"),b=0;a.forEach(a=\u003e{let c=a.getBoundingClientRect();c.height\u003e0\u0026\u0026(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById(\"content-container\");if(d){let{overflowY:a}=getComputedStyle(d);(\"auto\"===a||\"scroll\"===a)\u0026\u0026(c=Math.max(0,d.getBoundingClientRect().top))}let e=`${Math.round(Math.max(0,b-c))+40}px`,f=document.documentElement.style;f.getPropertyValue(\"--scroll-mt\")!==e\u0026\u0026f.setProperty(\"--scroll-mt\",e)};\n  (function(a){let b=[],c=0,d=\"undefined\"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"));(c.length!==b.length||c.some((a,c)=\u003ea!==b[c]))\u0026\u0026d\u0026\u0026(d.disconnect(),c.forEach(a=\u003ed.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=\u003e{c=0,e()}))}let g=\"[id='navbar'], [data-top-chrome]\";function h(a){let b=a.target;if(b instanceof Element\u0026\u0026b.closest(g))return!0;for(let b of a.addedNodes)if(b instanceof Element\u0026\u0026(b.matches(g)||b.querySelector(g)))return!0;for(let b of a.removedNodes)if(b instanceof Element\u0026\u0026(b.matches(g)||b.querySelector(g)))return!0;return!1}new MutationObserver(a=\u003e{a.some(h)\u0026\u0026f()}).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(\"resize\",f),\"loading\"===document.readyState\u0026\u0026document.addEventListener(\"DOMContentLoaded\",e),e()})(measure);\n  (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){return\"smooth\"===getComputedStyle(document.documentElement).scrollBehavior}function d(c){let d=document.getElementById(b);return!!d\u0026\u0026(a(),d.scrollIntoView(c?{behavior:c}:void 0),!0)}if(\"complete\"===document.readyState)return void d();let e=new MutationObserver(()=\u003e{!c()\u0026\u0026d(\"instant\")\u0026\u0026f()});function f(){e.disconnect(),window.removeEventListener(\"load\",g)}function g(){let a=c();f(),a\u0026\u0026requestAnimationFrame(()=\u003e{d(),function(){let a=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"],c=0,e=window.scrollY,f=setInterval(()=\u003e{c+=1;let a=document.getElementById(b);if(!a||c\u003e=6)return g();let f=Math.abs(window.scrollY-e)\u003e1;if(e=window.scrollY,f)return;let h=parseFloat(getComputedStyle(a).scrollMarginTop)||0;Math.abs(a.getBoundingClientRect().top-h)\u003e4\u0026\u0026d()},350);function g(){clearInterval(f),a.forEach(a=\u003ewindow.removeEventListener(a,g))}a.forEach(a=\u003ewindow.addEventListener(a,g,{passive:!0}))}()})}window.addEventListener(\"load\",g),e.observe(document.documentElement,{childList:!0,subtree:!0}),!c()\u0026\u0026d(\"instant\")\u0026\u0026f()})(measure);\n})();"])</script>
2049<script>self.__next_f.push([1,"2f:[\"$\",\"$L32\",null,{\"children\":[\"$\",\"$L33\",null,{\"children\":[\"$\",\"$L34\",null,{\"children\":[\"$\",\"$L35\",null,{\"pageListDataMap\":{},\"children\":[\"$\",\"$L36\",null,{\"disabled\":\"$undefined\",\"children\":[\"$\",\"$L37\",null,{\"children\":[\"$\",\"$L38\",null,{\"children\":[[\"$\",\"$L13\",null,{\"fonts\":\"$undefined\",\"theme\":\"mint\",\"subdomain\":\"razorpay-881012b3\"}],[[\"$\",\"$L12\",null,{\"docsConfig\":\"$18:2:props:children:1:props:children:6:props:children:props:children:props:children:props:value:docsConfig\"}],[[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\",\"as\":\"style\"}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"children\":\"\\n          (function() {\\n            function loadKatex() {\\n              const link = document.querySelector('link[href=\\\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\\\"]');\\n              if (link) link.rel = 'stylesheet';\\n            }\\n            if (document.readyState === 'loading') {\\n              document.addEventListener('DOMContentLoaded', loadKatex);\\n            } else {\\n              loadKatex();\\n            }\\n          })();\\n        \"}]],[\"$\",\"$L14\",null,{\"theme\":\"mint\"}],[\"$\",\"$L39\",null,{\"fonts\":\"$undefined\",\"children\":[\"$\",\"$L3a\",null,{\"bannersByLocale\":{},\"subdomain\":\"razorpay-881012b3\",\"children\":[[\"$\",\"$L3b\",null,{\"theme\":\"mint\"}],[\"$\",\"script\",null,{\"id\":\"_mintlify-scroll-margin-script\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3c\"},\"suppressHydrationWarning\":true}],\"$L3d\"]}]}]]]}]}]}]}]}]}]}]\n"])</script>
2049<script>self.__next_f.push([1,"43:T6a9,"])</script>
2049<script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://razorpay.com/#organization\",\"name\":\"Razorpay\",\"url\":\"https://razorpay.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=e0750375ee2004193a685f9f211963fe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://razorpay.com#website\",\"name\":\"Razorpay\",\"url\":\"https://razorpay.com\",\"publisher\":{\"@id\":\"https://razorpay.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://razorpay.com/docs/api#webpage\",\"url\":\"https://razorpay.com/docs/api\",\"name\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"dateModified\":\"2026-08-31T07:20:59.252Z\",\"isPartOf\":{\"@id\":\"https://razorpay.com#website\"},\"breadcrumb\":{\"@id\":\"https://razorpay.com/docs/api#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://razorpay.com/docs/api#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Razorpay\",\"item\":\"https://razorpay.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference Guide\",\"item\":\"https://razorpay.com/docs/api\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://razorpay.com/docs/api#article\",\"headline\":\"API Reference Guide\",\"name\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"url\":\"https://razorpay.com/docs/api\",\"mainEntityOfPage\":{\"@id\":\"https://razorpay.com/docs/api#webpage\"},\"dateModified\":\"2026-08-31T07:20:59.252Z\",\"publisher\":{\"@id\":\"https://razorpay.com/#organization\"},\"isPartOf\":{\"@id\":\"https://razorpay.com#website\"}}]}"])</script>
2049<script>self.__next_f.push([1,"31:[\"$\",\"$L3e\",null,{\"theme\":\"mint\",\"pageMetadata\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"},\"children\":[\"$\",\"$L3f\",null,{\"value\":{\"apiReferenceData\":{},\"graphqlReferenceData\":\"$undefined\"},\"children\":[\"$\",\"$L40\",null,{\"value\":{\"pageMetadata\":\"$31:props:pageMetadata\",\"lastModified\":\"2026-08-31T07:20:59.252Z\",\"gitLastModified\":\"$undefined\",\"originalFileLocation\":\"docs/api.mdx\",\"description\":{\"compiledSource\":\"\\\"use strict\\\";\\nconst {jsx: _jsx} = arguments[0];\\nconst {useMDXComponents: _provideComponents} = arguments[0];\\nfunction _createMdxContent(props) {\\n  const _components = {\\n    p: \\\"p\\\",\\n    ..._provideComponents(),\\n    ...props.components\\n  };\\n  return _jsx(_components.p, {\\n    children: \\\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\\\"\\n  });\\n}\\nfunction MDXContent(props = {}) {\\n  const {wrapper: MDXLayout} = {\\n    ..._provideComponents(),\\n    ...props.components\\n  };\\n  return MDXLayout ? _jsx(MDXLayout, {\\n    ...props,\\n    children: _jsx(_createMdxContent, {\\n      ...props\\n    })\\n  }) : _createMdxContent(props);\\n}\\nreturn {\\n  default: MDXContent\\n};\\n\",\"frontmatter\":{},\"scope\":{}},\"mdxExtracts\":{\"tableOfContents\":[{\"title\":\"API Gateway URL\",\"slug\":\"api-gateway-url\",\"depth\":2,\"children\":[{\"title\":\"Related Information\",\"slug\":\"related-information\",\"depth\":3,\"children\":[]}]}],\"codeExamples\":{}},\"pageType\":\"$undefined\",\"panelMdxSource\":\"$undefined\",\"panelMdxSourceWithNoJs\":\"$undefined\",\"contextualStarterQuestions\":\"$undefined\",\"relatedPages\":\"$undefined\",\"relatedPagesConfig\":\"$undefined\",\"narration\":\"$undefined\"},\"children\":[\"$\",\"$L41\",null,{\"pageMetadata\":\"$31:props:pageMetadata\",\"mdxExtracts\":\"$31:props:children:props:children:props:value:mdxExtracts\",\"openApiReferenceData\":\"$undefined\",\"children\":[\"$\",\"$L42\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$43\"}}],[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"document.documentElement.setAttribute('data-page-mode', \\\"none\\\");\"}}],\"$L44\"],\"$L45\",\"$L46\",\"$L47\",\"$L48\"]}]}]}]}]}]\n"])</script>
2049<script>self.__next_f.push([1,"49:I[540345,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"ConsentProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"4a:I[529058,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"LocalStorageAndAnalyticsProviders\"]\n"])</script>
2049<script>self.__next_f.push([1,"4b:I[958547,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"4c:I[604780,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"CaptchaProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"4d:I[859465,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantUiProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"4e:I[851411,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantTransportProviderSelector\"]\n"])</script>
2049<script>self.__next_f.push([1,"4f:I[601054,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"SearchProvider\"]\n"])</script>
2049<script>self.__next_f.push([1,"50:I[28330,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"SkipToContent\"]\n"])</script>
2049<script>self.__next_f.push([1,"51:I[382229,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantLayoutScript\"]\n"])</script>
2049<script>self.__next_f.push([1,"52:I[87732,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"AssistantLayoutWrapper\"]\n"])</script>
2049<script>self.__next_f.push([1,"54:I[228341,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"PageModeUpdater\"]\n"])</script>
2049<script>self.__next_f.push([1,"55:I[575126,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"Background\"]\n"])</script>
2049<script>self.__next_f.push([1,"59:I[36098,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"CustomJsFiles\"]\n"])</script>
2049<script>self.__next_f.push([1,"5c:I[530359,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"MDXContentController\"]\n"])</script>
2049<script>self.__next_f.push([1,"5d:I[448287,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/10e3805f510e9fe8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/0eb894a8519f24ea.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/afe48728b46debef.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/68d6e5104243ae2b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/6a8e2fc12e413a1c.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d43bec961b360933.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/65712ea96ab292b5.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8c8ace59a8592d70.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"default\"]\n"])</script>
2049<script>self.__next_f.push([1,"3d:[\"$\",\"$L49\",null,{\"privacy\":\"$undefined\",\"children\":[\"$\",\"$L4a\",null,{\"subdomain\":\"razorpay-881012b3\",\"isAtlas\":false,\"children\":[\"$\",\"$L4b\",null,{\"toggles\":[{\"name\":\"dashboard-editor-theseus\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"kill-isr\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-mintlify-slack\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-v7-file-tree\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-integrations-settings\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automations-pr-grouping\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"custom-prefix\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"analytics-v7\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"user-flows-analytics\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"no-publish-flow\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"llms-txt-v2\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"pause-universal-search-reconcile\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"snapshot-serving-live\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"stripTemperatureMiddleware\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"per-site-search-delta\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"support-platform-pylon-zendesk\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-branches-v2-autocommit\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-branches-v2\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"snapshot-serving\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"instant-rollback\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"granular-notifications-server\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"granular-notifications\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-private-page-search\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automations-fable\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"fixed-ai-action-pricing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automation-resolve-merge-conflict\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"scoped-publishing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"mintql\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"page-level-analytics\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"teamspace\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"narration-sep-22\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false}],\"children\":[\"$\",\"$L4c\",null,{\"enabled\":true,\"children\":[\"$\",\"$L4d\",\"razorpay-881012b3\",{\"children\":[\"$\",\"$L4e\",null,{\"children\":[\"$\",\"$L4f\",null,{\"subdomain\":\"razorpay-881012b3\",\"hasChatPermissions\":true,\"isLoggedInCli\":false,\"assistantConfig\":{\"enableAskAiButton\":false,\"enableStarterQuestions\":false,\"enableContextualStarterQuestions\":false,\"enableAskAiSearchBar\":true},\"starterQuestions\":\"$undefined\",\"children\":[[\"$\",\"$L50\",null,{}],[\"$\",\"$L51\",null,{\"hasChatPermissions\":true}],false,[\"$\",\"$L52\",null,{\"children\":[[\"$\",\"$Le\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L10\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L53\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$undefined\"]}]]}]}]}]}]}]}]}]\n"])</script>
2049<script>self.__next_f.push([1,"44:[\"$\",\"$L54\",null,{\"pageMetadata\":\"$31:props:pageMetadata\"}]\n45:[\"$\",\"$L55\",null,{\"pageMetadata\":\"$31:props:pageMetadata\"}]\n56:T2449,"])</script>
2049<script>self.__next_f.push([1,"/* Sidebar: gap between top-level groups.\n\n   Mintlify puts `mt-6 lg:mt-8` on each top-level group, so the collapsed group\n   headers sit 24px apart on mobile and 32px apart from 1024px up. With 30-plus\n   groups in Payments that is a lot of dead space. Change the one value below to\n   retune it; 1rem reads as grouped without the rows running together, 0.75rem\n   is about as tight as it goes before the section boundaries stop being legible.\n\n   Only elements that already carry the group margin are matched, so bare\n   top-level pages (which have no margin) are left alone. */\n#navbar ul.sidebar-group.mt-6,\nul.sidebar-group.mt-6 {\n  margin-top: 1rem;\n}\n\n[data-component-part=\"callout-content\"] \u003e [data-as=\"p\"]:first-child \u003e strong,\n[data-component-part=\"callout-content\"] \u003e [data-as=\"p\"]:first-child strong,\n[data-component-part=\"callout-content\"] \u003e strong:first-child {\n  font-size: 1.125rem !important;    /* ~18px, well above the 14px body */\n  font-weight: 700 !important;\n  line-height: 1.4 !important;\n}\n\n/* Error-code card titles (Errors section): monospace pill/badge */\n.error-code-cards [data-component-part=\"card-title\"] {\n  display: inline-block !important;\n  font-family: ui-monospace, \"SF Mono\", SFMono-Regular, Menlo, Consolas,\n    \"Liberation Mono\", monospace !important;\n  font-size: 0.875rem !important;\n  font-weight: 600 !important;\n  line-height: 1.3 !important;\n  padding: 0.25rem 0.75rem !important;\n  border-radius: 9999px !important;\n  background: rgba(107, 114, 128, 0.10) !important;\n  border: 1px solid rgba(107, 114, 128, 0.25) !important;\n}\n\n.dark .error-code-cards [data-component-part=\"card-title\"] {\n  background: rgba(255, 255, 255, 0.06) !important;\n  border-color: rgba(255, 255, 255, 0.15) !important;\n}\n\n/* Inline HTTP method tokens colored like the sidebar API badges\n   (tagged by http-method-colors.js) */\n[data-http-method] {\n  font-weight: 700 !important;\n  border-color: transparent !important;\n}\n\n[data-http-method=\"get\"]    { color: #15803d !important; background: rgba(74, 222, 128, 0.2) !important; }\n[data-http-method=\"post\"]   { color: #1d4ed8 !important; background: rgba(96, 165, 250, 0.2) !important; }\n[data-http-method=\"put\"]    { color: #a16207 !important; background: rgba(250, 204, 21, 0.2) !important; }\n[data-http-method=\"patch\"]  { color: #c2410c !important; background: rgba(251, 146, 60, 0.2) !important; }\n[data-http-method=\"delete\"] { color: #b91c1c !important; background: rgba(248, 113, 113, 0.2) !important; }\n\n.dark [data-http-method=\"get\"]    { color: #4ade80 !important; }\n.dark [data-http-method=\"post\"]   { color: #60a5fa !important; }\n.dark [data-http-method=\"put\"]    { color: #facc15 !important; }\n.dark [data-http-method=\"patch\"]  { color: #fb923c !important; }\n.dark [data-http-method=\"delete\"] { color: #f87171 !important; }\n\nul.sidebar-group.mt-6 {\n    margin-top: 5px;\n}\n/* Two-axis code sample selector (snippets/codeselector.jsx) -----------------\n\n   Mintlify gives RequestExample/ResponseExample a panel that is a grid of\n   equal rows, so the request and response boxes share the height and both stay\n   on screen. A \u003cPanel\u003e is instead one `overflow-y-auto` box, so two stacked\n   selectors put the response one ~980px down and the reader never finds it.\n   The rule below restores the native behaviour: split the panel between the\n   selectors and let each one scroll its own code.\n\n   The box itself mirrors Mintlify's `.code-group` chrome — same 16px radius,\n   same 10% border, same surface in each theme — so the header row reads as\n   part of the code block, exactly like the tab strip on every other API\n   page. */\n\n/* Scoped to the sticky 
2049sidebar copy on purpose. Mintlify renders \u003cPanel\u003e\n   content twice — once in the sidebar, once inline in the content column for\n   mobile — and hides the inline one with `display: none` from xl up. An\n   unscoped `display: grid` here overrides that and shows the samples twice. */\n.sticky .panel:has(\u003e .rzp-code-selector) {\n  display: grid;\n  grid-auto-rows: minmax(0, 1fr);\n  gap: 1.5rem;\n  overflow: hidden;\n}\n\n/* The childless RequestExample/ResponseExample that suppress Mintlify's\n   generated samples still get their own container in the sticky column, and it\n   claims 288px of a 568px column even though it renders nothing. Reclaim it so\n   the selectors get the whole height, as they do on a native API page. */\n.sticky:has(\u003e .panel \u003e .rzp-code-selector) \u003e div:not(.panel) {\n  display: none;\n}\n\n.rzp-code-selector {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-height: 0;\n  overflow: hidden;\n  padding: 0.125rem;\n  border: 1px solid rgba(3, 7, 18, 0.1);\n  border-radius: 1rem;\n  background: rgb(244, 247, 250);\n}\n\n.dark .rzp-code-selector {\n  border-color: rgba(255, 255, 255, 0.1);\n  background: rgba(255, 255, 255, 0.05);\n}\n\n/* Header row. Sits on the code-group surface and carries the two dropdowns;\n   `padding-right` leaves room for the copy/assistant buttons that are moved\n   into this row below. */\n.rzp-code-selector-bar {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 0.5rem;\n  flex: none;\n  /* wrap rather than squeeze: a long status label on a narrow panel takes a\n     second line instead of being cut short */\n  flex-wrap: wrap;\n  padding: 0.25rem 4.25rem 0.375rem 0.5rem;\n}\n\n.rzp-code-selector-field {\n  position: relative;\n  display: inline-flex;\n  align-items: center;\n  flex: 0 0 auto;\n}\n\n/* `min-width: max-content` and no ellipsis on purpose. A \u003cselect\u003e takes its\n   intrinsic width from its widest option with no slack, so at 12px \"cURL\"\n   lands in a 31px box needing 30px — and sub-pixel rounding was enough for\n   `text-overflow: ellipsis` to render \"cU…\" on a label that actually fits.\n\n   That no-slack sizing is also why `padding-right` is wider than the chevron\n   needs. `max-content` absorbs the padding, so the content box ends up exactly\n   as wide as the label and the only clearance the chevron gets is\n   `padding-right` minus its own 18px footprint. Chrome measures that intrinsic\n   width once, from the option text in whatever font is live at layout time,\n   and does not always redo it when a webfont swaps in — and \"Bank Account\" is\n   ~6.5px wider in Inter than in the fallback it may have been measured in. At\n   1.25rem that is more than the 5.6px of clearance, so the label crowds the\n   chevron on a first paint that loses the font race. 1.75rem keeps ~13.6px,\n   which covers the swap and still reads as a normal label-to-caret gap. */\n.rzp-code-selector-select {\n  appearance: none;\n  -webkit-appearance: none;\n  min-width: max-content;\n  padding: 0.125rem 1.75rem 0.125rem 0.375rem;\n  border: 0;\n  border-radius: 0.5rem;\n  background: transparent;\n  color: var(--color-gray-600, #4b5563);\n  font-size: 0.75rem;\n  font-weight: 500;\n  line-height: 1.5rem;\n  cursor: pointer;\n}\n\n.dark .rzp-code-selector-select {\n  color: var(--color-gray-300, #d1d5db);\n}\n\n.rzp-code-selector-select:hover {\n  background: rgba(3, 7, 18, 0.05);\n}\n\n.dark .rzp-code-selector-select:hover {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n.rzp-code-selector-chevron {\n  position: absolute;\n  right: 0.25rem;\n  width: 0.875rem;\n  height: 0.875rem;\n  pointer-events: none;\n  opacity: 0.6;\n}\n\n/* The code block fills the rest of the box and scrolls inside it. Its own\n   margins and top corners go, so it meets the header row seamlessly. */\n/* The sample scrolls here, on our own element, rather than on Mintlify's code\n   block. A standalone code block sizes to its content and pins its viewport to\n   `overflow-y-hidden!` inside a Tailwind layer — and an important declaration\n   in a layer outranks an unlayered one, so that is not overridable from here\n   (not even inline). Scrolling the wrapper instead needs no override: the code\n   block keeps its natural height and this box clips and scrolls it. */\n.rzp-code-selector-body {\n  flex: 1 1 auto;\n  min-height: 0;\n  overflow-y: auto;\n  overscroll-behavior: contain;\n}\n\n.rzp-code-selector-body \u003e .code-block {\n  margin: 0 !important;\n  min-width: 0;\n  border-radius: 0 0 0.875rem 0.875rem;\n  /* static so the copy buttons anchor to .rzp-code-selector and stay in the\n     header row instead of scrolling away with the code */\n  position: static !important;\n}\n\n.rzp-code-selector-body [data-component-part=\"code-block-root\"] {\n  border-radius: 0 0 0.875rem 0.875rem;\n}\n\n/* Mintlify's own bottom fade anchors to the code block, which is\n   `position: static` above, so it would land at the bottom of the full sample\n   rather than the bottom of the box. Drop it and fade the box instead, so a\n   clipped sample still reads as having more below it, the way it does on a\n   native API page. */\n.rzp-code-selector-body .code-block-fade-overlay {\n  display: none;\n}
2049\n\n.rzp-code-selector::after {\n  content: \"\";\n  position: absolute;\n  inset: auto 0 0;\n  height: 2rem;\n  border-radius: 0 0 0.875rem 0.875rem;\n  pointer-events: none;\n  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);\n}\n\n.dark .rzp-code-selector::after {\n  background: linear-gradient(to bottom, rgba(11, 12, 14, 0), rgb(11, 12, 14));\n}\n\n/* Copy + \"ask assistant\" buttons, lifted into the header row. */\n.rzp-code-selector \u003e .rzp-code-selector-body \u003e .code-block \u003e .absolute {\n  top: 0.5rem;\n  right: 0.75rem;\n}\n"])</script>
2049<script>self.__next_f.push([1,"46:[[\"$\",\"style\",\"0\",{\"data-custom-css-index\":0,\"data-custom-css-path\":\"style.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"$56\"}}],\"$L57\",\"$L58\"]\n5a:T1fb3,"])</script>
2049<script>self.__next_f.push([1,"/**\n * Logic 2 — Path-preserving country switcher (custom Mintlify JS).\n *\n * \"Redirect users to Curlec when they select Malaysia, and redirect them back\n *  to the main website when they select any other country.\"\n *\n * Ship this SAME file in BOTH Mintlify repos (main + Malaysia). Mintlify\n * injects any .js file in the repo globally into every page, so no extra\n * wiring is needed — just commit it (e.g. under /snippets or the repo root).\n *\n * Why it exists: the cross-domain entries in the versions dropdown are static\n * `href` links ({ \"version\": \"Malaysia\", \"href\": \"https://curlec.np.razorpay.in/docs/home\" }),\n * so on their own they always land on the destination HOME page, losing the\n * page the reader was on. Because the path structure is identical on both\n * domains (tfs.np.razorpay.in/docs/payments ↔ curlec.np.razorpay.in/docs/payments),\n * this script makes the hop path-preserving:\n *\n *   1. Intercepts clicks on cross-domain version links (tfs ↔ curlec).\n *   2. Rebuilds the destination as \u003cdestination-domain\u003e + \u003ccurrent page path\u003e,\n *      adding/stripping the /sg or /us prefix as needed.\n *   3. Records the choice: sets the preferred_country cookie on the CURRENT domain\n *      and appends ?preferred_country=XX for the DESTINATION domain (cookies can't\n *      cross domains — the edge worker from Logic 1 consumes the param and\n *      sets its own cookie). This is what stops geo-IP from bouncing the\n *      visitor straight back (guardrail: cookie beats geo-IP).\n *   4. Navigates.\n *\n * If the preserved path doesn't exist on the destination, the destination\n * edge/renderer falls back per Logic 4 (currently: Mintlify routes to that\n * country's home page).\n *\n * Same-domain switches (IN ↔ SG ↔ US inside the main repo) are left to\n * Mintlify's built-in version switcher, which already retains the equivalent\n * page when it exists (verified locally) — we only piggyback to refresh the\n * preferred_country cookie, without preventing the default navigation.\n *\n * Plain browser JS only — Mintlify custom JS cannot import npm packages.\n */\n\n(function () {\n  'use strict';\n  var COOKIE_NAME = 'preferred_country';\n  var COOKIE_MAX_AGE = 60 * 60 * 24 * 365; // ~1 year\n  // Env-aware host pair: tfs staging (tfs.np.razorpay.in) pairs with Curlec\n  // staging; anywhere else (razorpay.com prod, previews) pairs with Curlec prod.\n  // MAIN_HOST is always the current origin — this file only ships on the main site.\n  var IS_STAGING =\n    typeof window !== 'undefined' \u0026\u0026 window.location.hostname === 'tfs.np.razorpay.in';\n  var MAIN_HOST = (typeof window !== 'undefined' \u0026\u0026 window.location.hostname) || 'tfs.np.razorpay.in';\n  var MY_HOST = IS_STAGING ? 'curlec.np.razorpay.in' : 'curlec.com';\n\n  // Country-neutral part of the current page's path: everything after /docs,\n  // with any /sg or /us prefix stripped. Identical on both domains.\n  function currentRestPath() {\n    var m = window.location.pathname.match(/^\\/docs(?:\\/(?:sg|us))?(\\/.*)?$/);\n    return (m \u0026\u0026 m[1]) || '';\n  }\n\n  // The country the reader is CURRENTLY in, derived from host + URL prefix.\n  // On the Curlec domain the site is Malaysia (unprefixed /docs paths); on the\n  // main domain a /sg or /us prefix means SG/US, and everything else is India.\n  function currentCountry() {\n    if (window.location.hostname === MY_HOST) return 'MY';\n    var p = window.location.pathname;\n    if (/^\\/docs\\/sg(\\/|$)/.test(p)) return 'SG';\n    if (/^\\/docs\\/us(\\/|$)/.test(p)) return 'US';\n    return 'IN';\n  }\n\n  // Home page for the current country, on the current origin. Built only from\n  // fixed hosts + fixed paths (no URL-derived input) so it can never redirect\n  // off-site. Fixes the logo, whose Mintlify `logo.href` is a single global\n  // value hardcoded to the India home for every country in the main repo.\n  function logoHomeTarget() {\n    switch (currentCountry()) {\n      case 'MY':\n        return 'https://' + MY_HOST + '/docs/home';\n      case 'SG':\n        return 'https://' + MAIN_HOST + '/docs/sg/home';\n      case 'US':\n        return 'https://' + MAIN_HOST + '/docs/us/home';\n      default: // 'IN'\n        return 'https://' + MAIN_HOST + '/docs/home';\n    }\n  }\n\n  function buildTarget(country) {\n    var rest = currentRestPath();\n    var base;
2049\n    switch (country) {\n      case 'MY':\n        base = 'https://' + MY_HOST + '/docs' + rest;\n        break;\n      case 'SG':\n        base = 'https://' + MAIN_HOST + '/docs/sg' + rest;\n        break;\n      case 'US':\n        base = 'https://' + MAIN_HOST + '/docs/us' + rest;\n        break;\n      default: // 'IN'\n        base = 'https://' + MAIN_HOST + '/docs' + rest;\n    }\n    // Cross-domain cookie handoff for the destination's edge worker (Logic 1).\n    return base + '?' + COOKIE_NAME + '=' + country;\n  }\n\n  function setCookie(country) {\n    document.cookie =\n      COOKIE_NAME +\n      '=' +\n      country +\n      '; Max-Age=' +\n      COOKIE_MAX_AGE +\n      '; Path=/; Secure; SameSite=Lax';\n  }\n\n  // Mintlify renders the version dropdown entries as \u003cdiv role=\"menuitem\"\n  // data-component-part=\"version-select-item\"\u003e elements (NOT \u003ca href\u003e links),\n  // so we identify the chosen country by the entry's visible label text.\n  var VERSION_LABELS = {\n    india: 'IN',\n    malaysia: 'MY',\n    singapore: 'SG',\n    'united states': 'US'\n  };\n\n  function handleCountry(event, country) {\n    // Remember the explicit choice on the current domain either way —\n    // \"cookie beats geo-IP\" needs this recorded where the user is NOW too,\n    // so returning later doesn't re-trigger a geo redirect.\n    setCookie(country);\n\n    var target = new URL(buildTarget(country));\n    if (target.hostname === window.location.hostname) {\n      // IN ↔ SG ↔ US inside one repo: let Mintlify's built-in switcher do\n      // its page-retaining navigation. Cookie is already refreshed above.\n      return;\n    }\n\n    // Cross-domain hop (tfs ↔ curlec): replace the static home link\n    // with a path-preserving URL + cookie handoff param.\n    event.preventDefault();\n    event.stopPropagation();\n    window.location.href = target.href;\n  }\n\n  // Capture phase so we run before Mintlify's own click handling.\n  document.addEventListener(\n    'click',\n    function (event) {\n      if (!event.target || !event.target.closest) return;\n\n      // Docs logo: Mintlify's logo.href is a single global value, hardcoded to\n      // the India home (https://razorpay.com/docs/), so SG/US readers clicking\n      // the logo get bounced to India. Reroute to the CURRENT country's home.\n      // The logo is an \u003ca\u003e wrapping the .nav-logo \u003cimg\u003e(s); match either.\n      var logoImg = event.target.closest('.nav-logo');\n      var logoLink = event.target.closest('a');\n      if (logoImg || (logoLink \u0026\u0026 logoLink.querySelector \u0026\u0026 logoLink.querySelector('.nav-logo'))) {\n        var home = logoHomeTarget();\n        // Only intervene when the default target differs from where we want to\n        // land, and always same-origin here (no cross-domain hop for the logo).\n        if (home !== window.location.href) {\n          event.preventDefault();\n          event.stopPropagation();\n          window.location.href = home;\n        }\n        return;\n      }\n\n      // Home-page flag menu: the custom nav marks each entry with\n      // data-country=\"IN|MY|SG|US\" (labels there are cc codes, so the\n      // label lookup below would miss them).\n      var flag = event.target.closest('[data-country]');\n      if (flag) {\n        handleCountry(event, flag.getAttribute('data-country'));\n        return;\n      }\n\n      // Dropdown entries are rendered as menu items (not \u003ca href\u003e links) —\n      // identify the country by the option's visible label.\n      var option = event.target.closest(\n        '[data-component-part=\"version-select-item\"], [role=\"option\"], [role=\"menuitem\"], [role=\"menuitemradio\"]'\n      );\n      if (!option) return;\n      var label = (option.textContent || '').trim().toLowerCase();\n      var labelCountry = VERSION_LABELS[label];\n      if (!labelCountry) return;\n      handleCountry(event, labelCountry);\n    },\n    true\n  );\n})();\n"])</script>
2049<script>self.__next_f.push([1,"5b:Tc889,"])</script>
2049<script>self.__next_f.push([1,"/* =========================================================================\n   Razorpay Docs homepage — v42 \"Ribbon\" (on the v41 \"Ascii sky\" chassis)\n   Four independent pieces, all scoped to #page-rzpn:\n     1. parallax drift — writes --rzpn-par (photo) plus --rzpn-par-strip/\n        -ascii/-doc-N (ribbon stage layers) as the page scrolls\n     2. cursor tilt    — magnetic per-card hover on the floating Doc cards\n     3. generated ASCII field — one canvas per .rzpn-win, cursor-reactive\n        (parked: SWIRL=false leaves only the cursor halo)\n     4. ribbon flow trail — characters set along the ribbon's Figma curves in\n        the hero canvas, re-projected into every other window's peek canvas\n   (The mobile nav menu and copy buttons are handled in snippets/home/*.jsx.)\n   ========================================================================= */\n\n/* ---- v41: parallax drift + copy ---------------------------------------\n   Every .rzpn-win paints the same background-attachment:fixed photo, so the\n   windows are already registered to each other and already parallax (the\n   layer holds still while the page scrolls). This just adds drift on top:\n   the photo pans down as you scroll, so it travels slower than a purely\n   fixed layer would and reads as further back. Capped at the slack built\n   into the background-size, so an edge can never come into view. */\n(function () {\n  // Mintlify renders the page as a React SPA: #page-rzpn does not exist yet\n  // when this script first executes, and it is re-created on client-side\n  // navigation. So everything is wrapped in init(), guarded per-node, and a\n  // MutationObserver re-runs it whenever the element (re)appears.\n  function init(page) {\n  if (page.getAttribute('data-rzpn-init')) return;\n  page.setAttribute('data-rzpn-init', '1');\n\n  var reduced = window.matchMedia('(prefers-reduced-motion: reduce)');\n  var ticking = false;\n\n  // Left from the photo build: the ratio the drift was capped against. The\n  // gradient has no intrinsic height, so the slack below always resolves to 0\n  // on a normal desktop and the fixed attachment does the parallax on its own.\n  var PHOTO_RATIO = 1439 / 718;\n\n  // Each Doc's own footprint (its wrapper's own width x height from the\n  // markup, in artboard px) mapped onto a 20..70px travel range — the\n  // biggest card travels most, Doc 5 (redesigned smaller) the least.\n  // Computed once here rather than measured at scroll time, since the\n  // geometry is fixed in the markup, not the live DOM box (which already\n  // carries this same transform, so measuring it would be circular). Doc 6\n  // dropped out (redesigned to sit inside the ribbon strip instead of\n  // floating).\n  var DOC_MAG = (function () {\n    var footprint = { 1: [137.102, 149.675], 2: [143.326, 153.335], 3: [116.283, 117.989],\n      4: [51.984, 52.733], 5: [80, 95.817], 7: [179, 173.441] };\n    var areas = {}, max = 0;\n    for (var k in footprint) { areas[k] = footprint[k][0] * footprint[k][1]; if (areas[k] \u003e max) max = areas[k]; }\n    var mag = {};\n    for (var k2 in areas) mag[k2] = 20 + (areas[k2] / max) * 50;\n    return mag;\n  })();\n\n  function render() {\n    ticking = false;\n    if (page.hidden) return;\n    // Shadow state is not motion, so it stays on under reduced-motion.\n    page.classList.toggle('is-scrolled', window.scrollY \u003e 8);\n    if (reduced.matches) return;\n    var doc = document.documentElement;\n    var scrollable = doc.scrollHeight - window.innerHeight;\n    var progress = scrollable \u003e 0 ? Math.min(1, window.scrollY / scrollable) : 0;\n    // Travel is capped at however much taller the painted photo is than the\n    // viewport, so the bottom edge can never scroll into a window.\n    // Fits the width, so there is only slack if the photo happens to be taller\n    // than the viewport (narrow/tall windows). On a typical desktop it is not,\n    // and the drift correctly resolves to zero — the fixed attachment still\n    // holds the backdrop still while the page scrolls over it.\n    var painted = window.innerWidth;\n    var slack = Math.max(0, painted / PHOTO_RATIO - window.innerHeight);\n    var travel = Math.min(window.innerHeight * 0.2, slack);\n    document.documentElement.style.setProperty('--rzpn-par', (progress * travel).toFixed(1) + 'px');\n\n    // The ribbon band, the ascii trail and every floating Doc card each drift\n    // at their own rate as the hero scrolls by — same depth logic as the\n    // photo drift above, just keyed to the hero's own scroll distance rather\n    // than the whole page so it settles instead of drifting away once the\n    // hero has scrolled past.\n    var heroT = Math.min(1, window.scrollY / 420);\n    heroT = heroT * heroT * (3 - 2 * heroT); // smoothstep\n    document.documentElement.style.setProperty('--rzpn-par-strip', (-heroT * 25.5).toFixed(1) + 'px');\n    document.documentElement.style.setProperty('--rzpn-par-ascii', (-heroT * 40.0).toFixed(1) + 'px');\n    // Each Doc card moves on its own — bigger card, more travel, the usual\n    // near-things-move-more parallax cue.\n    for (var docId in DOC_MAG) {\n      document.documentElement.style.setProperty('--rzpn-par-doc-' + docId, (-heroT * DOC_MAG[docId]).toFixed(1) + 'px');\n    }\n  }\n\n  function onScroll() {\n    if (ticking) return;\n    ticking = true;\n    window.requestAnimationFrame(render);\n  }\n\n  window.addEventListener('scroll', onScroll, { passive: true });\n  window.addEventListener('resize', onScroll);\n  render();\n\n  // Cursor tilt on the floating Doc cards: a magnetic, per-card proximity\n  // reaction rather than one shared cursor-position reading applied to\n  // every card at once. Each card tracks the cursor's offset from ITS OWN\n  // centre (not the hero box's), so only the card(s) the cursor is\n  // actually near respond — the others sit still until the cursor comes\n  // within their own radius. Still gated to .rzpn-hero (mousemove/\n  // mouseleave scope + settle-to-0 on leave) so it only runs over the band\n  // these cards live in.\n  (function () {\n    if (reduced.matches) return;\n    var heroEl = page.querySelector('.rzpn-hero');\n    if (!heroEl) return;\n    var HOVER_PROFILE = {\n      1: { tx: 11, ty: 6, rot: 4 },\n      2: { tx: 7, ty: 13, rot: -6 },\n      3: { tx: 4.5, ty: 4.5, rot: -1.5 },\n      4: { tx: 2.5, ty: 1.5, rot: 3.5 },\n      5: { tx: 4, ty: 7, rot: -8 },\n      6: { tx: 6, ty: 10, rot: -5 },\n      7: { tx: 13, ty: 8, rot: 3 }\n    };\n    // Radius of influence, in viewport px, around each card's own centre —\n    // beyond this the card is untouched. Falloff (not a hard cutoff) so a\n    // card eases out of the effect as the cursor moves away.\n    var RADIUS = 170;\n    // .rzpn-doc-N wrappers are each a full 1440x448 stage-sized box (the\n    // shared position:absolute;inset:0 rule in styles.css) — the card's\n    // actual on-screen position/size lives on their one inline-positioned\n    // child div instead (.rzpn-doc-6-badge is the exception, carrying its\n    // own left/top/width/height directly with no wrapper). Measuring the\n    // wrapper itself would put every card's centre at the same point.\n    var cards = [];\n    for (var docId in HOVER_PROFILE) {\n      var sel = docId === '6' ? '.rzpn-doc-6-badge' : '.rzpn-doc-' + docId;\n      var el = page.querySelector(sel);\n      if (!el) continue;\n      var measureEl = docId === '6' ? el : el.firstElementChild;\n      if (measureEl) cards.push({ id: docId, el: measureEl, p: HOVER_PROFILE[docId] });\n    }\n    function apply(e) {\n      for (var i = 0; i \u003c cards.length;
2049 i++) {\n        var c = cards[i], r = c.el.getBoundingClientRect();\n        var cx = r.left + r.width / 2, cy = r.top + r.height / 2;\n        var dx = e ? e.clientX - cx : 0, dy = e ? e.clientY - cy : 0;\n        var dist = Math.hypot(dx, dy);\n        var influence = e ? Math.max(0, 1 - dist / RADIUS) : 0;\n        var nx = Math.max(-1, Math.min(1, dx / RADIUS)) * influence;\n        var ny = Math.max(-1, Math.min(1, dy / RADIUS)) * influence;\n        document.documentElement.style.setProperty('--rzpn-hover-x-' + c.id, (nx * c.p.tx).toFixed(1) + 'px');\n        document.documentElement.style.setProperty('--rzpn-hover-y-' + c.id, (ny * c.p.ty).toFixed(1) + 'px');\n        document.documentElement.style.setProperty('--rzpn-hover-r-' + c.id, (nx * c.p.rot).toFixed(1) + 'deg');\n      }\n    }\n    heroEl.addEventListener('mousemove', apply, { passive: true });\n    heroEl.addEventListener('mouseleave', function () { apply(null); });\n  })();\n\n  /* ---- v41: generated ASCII sky --------------------------------------\n     Same construction as v40 — one viewport-space cell grid, one canvas per\n     window, each drawing only the cells over its own rect — so the field is\n     continuous across the hero, the AI cards and the step rows exactly as the\n     gradient behind it is. What changed is the SOURCE. v40 read density off\n     the photo's luminance; there is no photo here, so the mass is generated —\n     an open book, authored as canvas paths and filled into the cell grid, its\n     covers and leaves moving on slow unrelated periods. v39's per-cell wob\n     shimmers on top of that. */\n  (function () {\n    var wins = [].slice.call(page.querySelectorAll('.rzpn-win'));\n    if (!wins.length) return;\n\n    var CELL = 10;                 // big enough that a glyph reads as a mark\n    // One mid-blue, painted normally: reads lighter than the deep top band of\n    // the ramp and darker than the white it runs to, so a single ink works\n    // across the whole gradient.\n    var INK = 'rgb(72,124,224)';\n    var HALO = 170;                // cursor reveal radius, in viewport px\n    var ready = true;              // nothing to load — the ridge is generated\n\n    // Shared coverage grid, sampled once per frame for the whole viewport.\n    var grid = document.createElement('canvas');\n    var gctx = grid.getContext('2d', { willReadFrequently: true });\n    var cols = 0, rows = 0, lum = null, tmp = null, dpr = 1;\n\n    var mx = -1e5, my = -1e5, influence = 0;\n    var raf = 0, running = false, lastPaint = -1e9;\n\n    var layers = wins.map(function (win) {\n      var cv = document.createElement('canvas');\n      cv.className = 'rzpn-win-glyphs';\n      cv.setAttribute('aria-hidden', 'true');\n      // Must sit above the step row's gradient tint but below its content.\n      var tint = win.querySelector('.rzpn-win-tint');\n      if (tint \u0026\u0026 tint.parentNode === win) win.insertBefore(cv, tint.nextSibling);\n      else win.insertBefore(cv, win.firstChild);\n      return {\n        el: win,\n        cv: cv,\n        ctx: cv.getContext('2d')\n      };\n    });\n\n    function resize() {\n      dpr = Math.min(window.devicePixelRatio || 1, 2);\n      cols = Math.ceil(window.innerWidth / CELL) + 1;\n      rows = Math.ceil(window.innerHeight / CELL) + 1;\n      if (!cols || !rows) return false;\n      grid.width = cols;\n      grid.height = rows;\n      lum = new Float32Array(cols * rows);\n      tmp = new Float32Array(cols * rows);\n      return true;\n    }\n\n    // The swirl. v41 rastered an open book here; v42 has the ribbon asset in\n    // the hero instead, so the field's job is to orbit it rather than be the\n    // subject. Concentric ellipse arcs, tilted to the ribbon's own axis and\n    // each turning at its own rate, stroked into the cell grid — so the marks\n    // read as a current running around the artwork.\n    // Parked for now: the swirl reads as competition next to the ribbon, so the\n    // field rests empty and only the cursor raises it. Flip SWIRL back to true\n    // to restore the arcs — nothing else was removed.\n    var SWIRL = false;\n\n    function sample(time) {\n      if (!lum || !cols) return;\n      if (!SWIRL) { lum.fill(0); return; }\n      var vw = window.innerWidth, vh = window.innerHeight;\n      var par = parseFloat(getComputedStyle(page).getPropertyValue('--rzpn-par')) || 0;\n\n      // The ribbon's optical centre on the artboard (1030, 190 of 1440x448),\n      // carried across to the live viewport so the two stay locked together.\n      var cx = vw * 0.715;\n      var cy = vw * (190 / 1440) + par;\n      var unit = vw / 1440;               // the artwork scales with the width\n\n      gctx.clearRect(0, 0, cols, rows);\n      gctx.save();\n      gctx.scale(1 / CELL, 1 / CELL);\n      gctx.strokeStyle = '#fff';\n      gctx.lineCap = 'round';\n\n      var TILT = -0.34;                   // radians, matching the ribbon's rake\n      for (var k = 0; k \u003c 6; k++) {\n        var rx = (150 + k * 78) * unit;\n        var ry = rx * 0.46;\n        // Alternating direction and unrelated periods, so the rings never line\n        // up into a single rotating wheel.\n        var dir = k % 2 ? -1 : 1;\n        var a0 = time * (0.19 + k * 0.037) * dir + k * 1.7;\n        var span = 1.9 + 0.55 * Math.sin(time * 0.23 + k);\n        gctx.lineWidth = CELL * (3.1 - k * 0.22);\n        gctx.beginPath();\n        gctx.ellipse(cx, cy, rx, ry, TILT, a0, a0 + span);\n        gctx.stroke();\n        // A short counter-arc on the far side keeps the ring from reading as\n        // one lonely stroke.\n        gctx.lineWidth = CELL * 1.7;\n        gctx.beginPath();\n        gctx.ellipse(cx, cy, rx, ry, TILT, a0 + Math.PI + 0.4, a0 + Math.PI + 0.4 + span * 0.45);\n        gctx.stroke();\n      }
2049\n      gctx.restore();\n\n      var d = gctx.getImageData(0, 0, cols, rows).data;\n      for (var i = 0, n = cols * rows; i \u003c n; i++) lum[i] = d[i * 4 + 3] / 255;\n\n      // One pass, so the arcs stay legible as arcs.\n      for (var pass = 0; pass \u003c 1; pass++) {\n        for (var y = 0; y \u003c rows; y++) {\n          for (var x = 0; x \u003c cols; x++) {\n            var k2 = y * cols + x;\n            var l = x \u003e 0 ? lum[k2 - 1] : lum[k2];\n            var r = x \u003c cols - 1 ? lum[k2 + 1] : lum[k2];\n            tmp[k2] = (l + lum[k2] + r) / 3;\n          }\n        }\n        for (var y2 = 0; y2 \u003c rows; y2++) {\n          for (var x2 = 0; x2 \u003c cols; x2++) {\n            var k3 = y2 * cols + x2;\n            var u2 = y2 \u003e 0 ? tmp[k3 - cols] : tmp[k3];\n            var dn = y2 \u003c rows - 1 ? tmp[k3 + cols] : tmp[k3];\n            lum[k3] = (u2 + tmp[k3] + dn) / 3;\n          }\n        }\n      }\n    }\n\n    function level(gx, gy, time, still) {\n      var v = lum[gy * cols + gx];\n\n      // The cursor halo, computed BEFORE the empty-cell bail-out. That order is\n      // the whole interaction: the field exists everywhere at zero density, and\n      // the pointer is what raises it, so hovering bare gradient conjures a\n      // patch of pattern instead of only thickening pattern already there.\n      var halo = 0;\n      if (influence \u003e 0.01) {\n        var hx = gx * CELL + CELL * 0.5 - mx;\n        var hy = gy * CELL + CELL * 0.5 - my;\n        var d2 = hx * hx + hy * hy;\n        if (d2 \u003c HALO * HALO) {\n          var f = 1 - Math.sqrt(d2) / HALO;\n          halo = f * f * 1.15 * influence;\n        }\n      }\n      if (v \u003c= 0.004 \u0026\u0026 halo \u003c= 0.012) return 0;\n\n      // Denser toward the right, so the mass has a light side and reads as a\n      // silhouette rather than a block.\n      var m = 0.55 + 0.45 * (gx / cols);\n      // Per-cell dither: without it the faces paint as a solid wash of glyphs.\n      // This punches holes in them so the fill scatters and the stroked\n      // outline is what carries the shape.\n      var s = Math.sin(gx * 12.9898 + gy * 78.233) * 43758.5453;\n      var n = s - Math.floor(s);\n      if (v \u003e 0.004) {\n        v = v * v * (3 - 2 * v);\n        v *= m * (0.58 + 0.72 * n);\n      } else {\n        v = 0;\n      }\n\n      // The shimmer: every cell breathes on a slow two-axis beat, so the\n      // silhouette's edge is continually re-forming rather than sitting still.\n      var wob = still ? 0\n        : (Math.sin(gx * 0.28 + time * 1.7) + Math.sin(gy * 0.34 - time * 1.3)) * 0.07;\n      var lv = v + wob * m;\n\n      // The halo carries the same dither and a faster beat of its own, so the\n      // revealed patch reads as pattern rather than as a plain disc.\n      if (halo \u003e 0) {\n        var pulse = still ? 1 : 0.82 + 0.18 * Math.sin(time * 3.1 + gx * 0.41 + gy * 0.29);\n        lv += halo * (0.45 + 0.8 * n) * pulse;\n      }\n      return lv;\n    }\n\n    // The mark vocabulary, lifted from the Figma text-paths that run along the\n    // ribbon. Seven density tiers, sparse -\u003e dense, several characters in\n    // each: a flat one-character-per-level ramp reads as a screen door, so the\n    // variant is picked from a stable per-cell hash — irregular texture that\n    // does not flicker between frames.\n    var GLYPHS = [\n      ['\\u00b7', '.', '\\u02d9', \"'\", '`'],\n      ['-', '\\u2013', ':'],\n      ['\\u2014', ';', '\\u2022'],\n      ['/', '\\\\'],\n      ['|', '\\u00a6'],\n      ['\\u25d6', '\\u25d7'],\n      ['\\u25cf', '\\u258d']\n    ];\n    var FONT = CELL + 'px \"JetBrains Mono\", \"SF Mono\", Menlo, monospace';\n    function glyph(ctx, x, y, lvl, a, gx, gy) {\n      var set = GLYPHS[lvl - 1];\n      var s = Math.sin(gx * 45.233 + gy * 91.7) * 24634.6345;\n      var n = s - Math.floor(s);\n      ctx.globalAlpha = a;\n      ctx.fillText(set[(n * set.length) | 0], x + CELL * 0.5, y + CELL * 0.5);\n    }\n\n    // Split from the rAF loop so the field can paint synchronously. A\n    // backgrounded page never fires rAF, and waiting on one leaves it blank.\n    function paint(t) {\n      if (page.hidden || !ready) return false;\n      lastPaint = window.performance ? performance.now() : t;\n\n      var still = reduced.matches;\n      var time = still ? 0 : t * 0.0006;\n      sample(time);\n      // Ramps faster than v40's 0.08: this is a reveal the pointer drives, so\n      // it has to be there almost as soon as the cursor is.\n      influence += ((mx \u003e -1e4 ? 1 : 0) - influence) * 0.28;\n      var vw = window.innerWidth, vh = window.innerHeight;\n      var visible = 0;\n\n      for (var li = 0; li \u003c layers.length;
2049 li++) {\n        var L = layers[li], ctx = L.ctx, cv = L.cv;\n        var r = L.el.getBoundingClientRect();\n        if (!r.width || !r.height) continue;\n\n        var w = Math.max(1, Math.round(r.width * dpr));\n        var hgt = Math.max(1, Math.round(r.height * dpr));\n        if (cv.width !== w || cv.height !== hgt) { cv.width = w; cv.height = hgt; }\n\n        ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n        ctx.clearRect(0, 0, r.width, r.height);\n        if (r.bottom \u003c 0 || r.top \u003e vh || r.right \u003c 0 || r.left \u003e vw) continue;\n        visible++;\n\n        var curInk = null;\n        // Canvas state resets whenever the backing store is resized, so the\n        // text setup belongs here rather than at construction.\n        ctx.font = FONT;\n        ctx.textAlign = 'center';\n        ctx.textBaseline = 'middle';\n\n        var gx0 = Math.max(0, Math.floor(r.left / CELL));\n        var gx1 = Math.min(cols - 1, Math.ceil(r.right / CELL));\n        var gy0 = Math.max(0, Math.floor(r.top / CELL));\n        var gy1 = Math.min(rows - 1, Math.ceil(r.bottom / CELL));\n\n        for (var gy = gy0; gy \u003c= gy1; gy++) {\n          for (var gx = gx0; gx \u003c= gx1; gx++) {\n            var lv = level(gx, gy, time, still);\n            var step = Math.round(lv * 7);\n            if (step \u003c 1) continue;\n            if (step \u003e 7) step = 7;\n            if (curInk !== INK) { ctx.fillStyle = INK; ctx.strokeStyle = INK; curInk = INK; }\n            glyph(ctx, gx * CELL - r.left, gy * CELL - r.top, step, 0.42 + lv * 0.58, gx, gy);\n          }\n        }\n        ctx.globalAlpha = 1;\n      }\n      // Reporting visibility lets the loop idle once every window has scrolled\n      // past; `scroll` calls kick(), which restarts it.\n      return visible \u003e 0;\n    }\n\n    function frame(t) {\n      raf = 0;\n      var alive = paint(t);\n      if (alive \u0026\u0026 !reduced.matches) start(); else running = false;\n    }\n    function start() {\n      if (raf) return;\n      running = true;\n      raf = window.requestAnimationFrame(frame);\n    }\n    // Gated on elapsed time rather than just the pending-frame flag. The flag\n    // alone assumed rAF always fires, which is false in a backgrounded or\n    // throttled tab: the loop would sit on a frame that never runs while\n    // scroll kept arriving, and the field would freeze. This still collapses\n    // a scroll burst to ~10 paints/sec while the loop is healthy.\n    function kick() {\n      var now = window.performance ? performance.now() : Date.now();\n      if (raf \u0026\u0026 now - lastPaint \u003c 100) return;\n      paint(now);\n      start();\n    }\n\n    window.addEventListener('mousemove', function (e) {\n      mx = e.clientX; my = e.clientY; kick();\n    }, { passive: true });\n    document.addEventListener('mouseleave', function () { mx = my = -1e5; kick(); });\n    window.addEventListener('scroll', kick, { passive: true });\n    window.addEventListener('resize', function () { if (resize()) kick(); });\n\n    if (resize()) kick();\n  })();\n\n  /* ---- v42: ASCII flowing along the ribbon bands -------------------------\n     The curves are Figma's own: the six \"Red N\" guide vectors from 1144
2049:89297,\n     their path data transformed out of each export's viewBox into artboard\n     space, so nothing here is eyeballed.\n\n     Characters are set ON the curve rather than on a grid — each is placed at\n     an arc-length step and rotated to that point's tangent, so a run reads as\n     painted along the band. Advancing the arc-length offset with time is what\n     makes it flow: no character moves relative to its neighbours. */\n  (function () {\n    var stage = page.querySelector('.rzpn-art');\n    var cv = stage \u0026\u0026 stage.querySelector('.rzpn-flow');\n    if (!cv) return;\n    var ctx = cv.getContext('2d');\n    var AW = 1440, AH = 448;\n\n    // Let the trail read through every other window on the page too, not\n    // just the hero — same \"one canvas per window, shared source sampled by\n    // each window's own getBoundingClientRect()\" pattern .rzpn-win-glyphs\n    // already uses for the halftone field (and v38/v39/v40/v41 before it).\n    // The hero itself keeps its existing single 1440x448 canvas untouched;\n    // this only ADDS a peek canvas to the other windows, so if anything here\n    // fails, the hero trail and every window's existing gradient/photo are\n    // unaffected — there is no shared code path that could regress them.\n    var hero = page.querySelector('.rzpn-hero');\n    var peekWins = [].slice.call(page.querySelectorAll('.rzpn-win')).filter(function (w) { return w !== hero; });\n    // The footer's reveal strip isn't a .rzpn-win (the footer itself is a\n    // SIBLING of #page-rzpn in the markup, like every version's footer, so\n    // page.querySelectorAll above can't see into it at all) -- added here\n    // explicitly instead of widening that selector, so this stays a single,\n    // easy-to-remove addition rather than a change to how every other\n    // window gets picked up.\n    var footTrail = document.querySelector('.rzpn-foot-trail');\n    if (footTrail) peekWins.push(footTrail);\n\n    var peekLayers = peekWins.map(function (win) {\n      var pcv = document.createElement('canvas');\n      pcv.className = 'rzpn-trail-peek';\n      pcv.setAttribute('aria-hidden', 'true');\n      var tint = win.querySelector('.rzpn-win-tint');\n      var glyphs = win.querySelector('.rzpn-win-glyphs');\n      // Sit above the halftone field and the tint, below the window's real\n      // content (photo/device/cards) — same insertion point .rzpn-win-glyphs\n      // itself uses relative to the tint.\n      var after = glyphs || tint;\n      if (after \u0026\u0026 after.parentNode === win) win.insertBefore(pcv, after.nextSibling);\n      else win.insertBefore(pcv, win.firstChild);\n      return { el: win, cv: pcv, ctx: pcv.getContext('2d') };\n    });\n    // .rzpn-art's own fixed geometry (top:0; left:50%; margin-left:-688px on\n    // desktop, -664px \u003c=600px — see styles.css; width:1440px) — the\n    // artboard's left edge in viewport px, so an artboard-space point can\n    // be placed on screen the same way .rzpn-art itself is, without needing\n    // the stage element's own rect.\n    function stageLeft() {\n      return window.innerWidth / 2 - (isMobileArt() ? 664 : 688);\n    }\n    // .rzpn-art itself is scaled 0.6x \u003c=600px (styles.css, \"Mobile-only:\n    // the hero illustration...\"), around transform-origin: top center --\n    // scaling the whole stage but not this projection math would leave\n    // every peek window (footer strip, AI cards, POS) showing the ribbon/\n    // ascii/doc-card art at its old full size and old position while the\n    // hero itself renders 40% smaller, a visible size/position mismatch\n    // between the hero and every window \"looking into\" the same artwork.\n    // Column-based, not window-based: shell.jsx's ResizeObserver mirrors the\n    // #rzpn-home column width into rzpn-lte-* classes (the assistant panel\n    // narrows the column without any window resize), so read that instead.\n    function isMobileArt() {\n      var home = document.getElementById('rzpn-home');\n      return home ? home.classList.contains('rzpn-lte-600') : window.innerWidth \u003c= 600;\n    }\n    function artScale() { return isMobileArt() ? 0.6 : 1; }\n\n    // PEEK_SCALE = 1: true 1:1 projection, same call made for the redbox in\n    // v43 — a window is a real cutout onto the ribbon's own pixels at their\n    // own position, not a shrunk reproduction of it. (A scaled-down version\n    // was tried — 0.38, centred on each window — to soften the ribbon's\n    // hero-scale geometry reading as a tight crop in small windows, but 1:1\n    // is the confirmed direction: it's what makes the pass-through read as\n    // one continuous shape sitting behind real holes in the page, edges\n    // lining up window-to-window, rather than an independent miniature.)\n    var PEEK_SCALE = 1;\n    function projectToWindow(vx, vy, rect) {\n      var wcx = rect.left + rect.width / 2, wcy = rect.top + rect.height / 2;\n      return {\n        x: (wcx + (vx - wcx) * PEEK_SCALE) - rect.left,\n        y: (wcy + (vy - wcy) * PEEK_SCALE) - rect.top\n      };\n    }\n\n    // All eight ribbon-strip pieces, projected into every peek canvas the\n    // same way the trail characters are — geometry copied from their own\n    // markup in .rzpn-art-strip (cx/cy is each piece's own rotation centre,\n    // rot in degrees). A DOM clone was tried first and rejected: cloning a\n    // position:fixed subtree into a window did NOT get clipped by that\n    // window's overflow:hidden in testing — it painted as one continuous\n    // strip over the whole page, covering real card content. Drawing the\n    // same source \u003cimg\u003e via ctx.drawImage() is clipped correctly because\n    // it's native canvas content, confined to that canvas's own box.\n    // The four glow/highlight pieces (1e897b9e, 1092d80c, f52c9a7b, da7cac6a)\n    // were missing from this list originally — they're softer accents easy to\n    // miss next to the four large band pieces, but skipping them means a\n    // window's peek is missing real strokes/highlights the hero itself shows\n    // at that spot, so they're included on equal footing here.\n    var STRIP_PIECES = [\n      { src: '7a7e9fe7', cx: 882.452 + 488 / 2, cy: 119.0 + 330.5 / 2, w: 488, h: 330.5, rot: 0 },\n      // Rotated wrapper's own box is centred (via flex) inside its outer,\n      // unrotated positioning box — the centre point is the same either way.\n      { src: '1e897b9e', cx: 1272.548 + 173.441 / 2, cy: 89.0 + 179 / 2, w: 136.553, h: 145, rot: -17.27 },\n      { src: '1092d80c', cx: 862.742 + 191.794 / 2, cy: 139.0 + 293.283 / 2, w: 191.794, h: 293.283, rot: 0 },\n      { src: 'f52c9a7b', cx: 855.952 + 128.5 / 2, cy: 235.0 + 132 / 2, w: 128.5, h: 132, rot: 0 },\n      { src: 'e9111091', cx: 663.958 + 391.619 / 2, cy: 137.51 + 206.478 / 2, w: 391.619, h: 206.478, rot: 0 },\n      // Highlight (Figma 1218:91756) -- new glow that came in 
2049with the\n      // ribbon redesign; wasn't part of the strip (or this peek trail)\n      // before.\n      { src: 'highlight-new2', cx: 700.61 + 113.228 / 2, cy: 174.716 + 128.569 / 2, w: 113.228, h: 128.569, rot: 40.51 },\n      // Vector 23710 (Figma 1193:91277) -- redesigned artwork for the same\n      // slot the old b46b52df asset held (same position/size), so it reads\n      // clearly in the hero itself, same as before.\n      { src: 'e417b2a6', cx: 662.548 + 889 / 2, cy: -13.66 + 333.162 / 2, w: 889, h: 333.162, rot: 0 },\n      // Vector 23726, reverted to the deployed docs-v42-ribbon snapshot's\n      // box AND artwork -- src key updated to match the v42-only asset\n      // filename swapped in above (this string is matched against the\n      // \u003cimg src\u003e below via querySelector, so it must track that rename or\n      // this piece silently drops out of every window's peek canvas).\n      { src: 'v42-strip-longest-v1', cx: -21.0 + 1537.928 / 2, cy: 233.788 + 726.691 / 2, w: 1537.928, h: 726.691, rot: 0 },\n      { src: 'da7cac6a', cx: 983.548 + 131.5 / 2, cy: 245.5 + 139.5 / 2, w: 151.5, h: 159.5, rot: 0 }\n    ];\n    var stripImgs = STRIP_PIECES.map(function (P) {\n      var img = stage.querySelector('.rzpn-art-strip img[src*=\"' + P.src + '\"]');\n      return img ? { img: img, geo: P } : null;\n    }).filter(Boolean);\n\n    var PATHS = [\n      // Red 1, 2, 5, 6 re-picked from Figma 1144:89508 (updated guide vectors,\n      // node absolute x/y + the vector's own local path, since each export's\n      // viewBox is local to that vector, not the artboard).\n      { name: 'Red 1', segs: [[1043.57, 297.24, 1130.07, 261.74, 1182.57, 250.74, 1451.57, 65.23]] },\n      { name: 'Red 2', segs: [[991.96, 364.73, 1075.46, 337.73, 1163.46, 309.73, 1444.96, 113.73]] },\n      { name: 'Red 3', segs: [[733.76, 261.5, 768.23, 255.5, 785.71, 254.0, 863.64, 210.0], [863.64, 210.0, 941.57, 165.99, 995.03, 161.5, 1023.0, 172.5]] },\n      { name: 'Red 4', segs: [[714.27, 295.0, 740.42, 299.84, 784.71, 299.0, 862.64, 255.0], [862.64, 255.0, 940.58, 211.0, 1021.01, 207.0, 1036.99, 221.5]] },\n      { name: 'Red 5', segs: [[675.17, 212.50, 759.67, 107.00, 955.67, 5.50, 1262.17, -13.50]] },\n      { name: 'Red 6', segs: [[695.16, 239.50, 781.66, 133.50, 975.66, 32.50, 1282.16, 13.50]] },\n      // Red 7, 8 from Figma 1193:91454 / 1193:91456 -- the new, much taller\n      // sweep that goes with the new strip asset (Vector 23726 below): both\n      // extend far past the hero's own 448px band, so only their topmost arc\n      // shows in the hero itself and the rest of the curve is only ever seen\n      // through a window's peek canvas further down the page.\n      { name: 'Red 7', segs: [[16.09, 910.24, 449.59, 817.74, 954.59, 675.74, 1458.59, 335.74]] },\n      { name: 'Red 8', segs: [[16.09, 861.24, 449.59, 768.74, 954.59, 626.74, 1458.59, 286.74]] }\n    ];\n    // Load-in sweep direction, per path: true = left-to-right (s=0 -\u003e\n    // P.len, every path's x rises monotonically so this is always low-x\n    // to high-x); false = the original top-to-bottom-reading sweep\n    // (s=P.len -\u003e 0, each path's higher/more-topright end first). Red 3/4\n    // (\"the middle\" pair) and Red 1/2 (the bottom pair) sweep left-to-\n    // right; Red 5/6/7/8 (top and the extended pair) keep the other\n    // direction.\n    var REVEAL_LTR = [true, true, true, true, false, false, false, false];\n    // Unrelated drift rates, so the runs never lock into one moving comb.\n    // Order is Red 1..8; Red 5/6 are the topmost of the original six and run\n    // the other way, so the upper sweep counter-flows against the lower\n    // bands; Red 7/8 (the new pair) get their own distinct rates too.\n    var SPEED = [16.8, 14.28, 20.16, 15.12, -12.6, -18.48, 16.1, -17.5];   // 40% faster than the original [12, 10.2, 14.4, 10.8, -9, -13.2, 11.5, -12.5]\n    // The trail's own vocabulary, taken verbatim from the design. Walking the\n    // string in order (rather than picking at random) is what reproduces its\n    // texture — the runs of blocks, the thin passages, and the spaces, which\n    // are drawn as gaps and give the trail its dashed rhythm for free.\n    var TRAIL = '@=!~:\\\\{@\u003e%}[$\\\\;{s\\\\*[x%%~s=x-^\u003c~[\\\\\\\\n*xx:[\u003c;~*@\u003c@\\\\:x=~};*n^x~\u003e=}% {{/;[s^*;#\u003e@:@\u003c[:[;s#\u003c;:@nn-=[-\u003c!%s=:~n{{**;{#==;$^/*:[~[%;@=:s% {;~!=^;!s{=[*\\\\#^$^@n%#-\\\\x#!%=[@:/^$=;%{$\u003cx=#^/$^:}s{*\\\\x#%:{\\\\~=*n \u003e\\\\\\\\^{\u003e%[{^\u003e=@^{*#-}/^$\u003e^:/\u003c{}\\\\~/$\u003e=/:\u003c/\u003e-[~@\\\\\u003en\\\\#\u003c\u003e!-\\\\!$n:\u003e~!;%% [n^:=[}\u003c#[!x:/{$-}\u003es\\\\s\u003c}[s~*}[@nn\u003es~=^@=#*{~\u003e:{\u003c:x\\\\n{~!\u003cs~:@[\u003e{- =x!@;;$%!;=~/xn\u003e}^=s*:~\u003e-\u003exsn/x%\u003e}^%}{$\u003e/^}\u003e:@[}-/=-}!#n^nn\u003e%\u003e{\u003e ^:-x-\u003e{^x#/!:s}/;^~\u003c$\u003c#%@#n[x:\u003c@*\\\\n/@s!#=\u003e%[s:{[sx}x~#%@{}/{*\u003c=; \u003e}-=xn;;=;/:;^/n{/\\\\%:{@$x/{:n-;n/;^/@!!\u003c=@=*\u003e{@-^%\\\\/%/%^{^\u003c;=[* }$xx{:\u003cs\u003c;};@[[;#=%:;#%\u003c$\u003c#nxn[~#xs\\\\s\u003e[n=#\u003c$}';\n    // STEP is the arc-length between characters. The mono advance at 11
2049px is\n    // ~6.6px, so anything above that opens a gap; 7 sets them nearly\n    // shoulder-to-shoulder and the run reads as a continuous string.\n    var STEP = 7, SIZE = 11, SAMPLES = 160;\n\n    function at(s, t) {\n      var u = 1 - t, a = u*u*u, b = 3*u*u*t, c = 3*u*t*t, d = t*t*t;\n      return [a*s[0]+b*s[2]+c*s[4]+d*s[6], a*s[1]+b*s[3]+c*s[5]+d*s[7]];\n    }\n    function ang(s, t) {\n      var u = 1 - t, a = 3*u*u, b = 6*u*t, c = 3*t*t;\n      return Math.atan2(a*(s[3]-s[1]) + b*(s[5]-s[3]) + c*(s[7]-s[5]),\n                        a*(s[2]-s[0]) + b*(s[4]-s[2]) + c*(s[6]-s[4]));\n    }\n    // Flatten every segment of every path into one arc-length table, so\n    // spacing is even in DISTANCE (even in t would bunch at the ends) and a\n    // multi-segment path is walked as a single continuous run.\n    PATHS.forEach(function (P) {\n      var tb = [], acc = 0;\n      P.segs.forEach(function (s, si) {\n        var prev = at(s, 0);\n        if (si === 0) tb.push({ seg: s, t: 0, s: 0 });\n        for (var i = 1; i \u003c= SAMPLES; i++) {\n          var t = i / SAMPLES, q = at(s, t);\n          acc += Math.hypot(q[0]-prev[0], q[1]-prev[1]);\n          tb.push({ seg: s, t: t, s: acc });\n          prev = q;\n        }\n      });\n      P.table = tb; P.len = acc;\n    });\n    function sample(P, s) {\n      var tb = P.table, lo = 0, hi = tb.length - 1;\n      while (lo \u003c hi - 1) { var m = (lo + hi) \u003e\u003e 1; if (tb[m].s \u003c s) lo = m; else hi = m; }\n      return tb[hi];\n    }\n\n    var raf = 0, reduced = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n    // Scramble on hover: within HALO px of the cursor (in the canvas' own\n    // artboard space, so it tracks correctly through the parallax transform),\n    // glyphs have a rising chance of being swapped for a random character\n    // instead of their normal trail one, re-rolled every frame. Probability\n    // ramps with proximity rather than a hard radius cutoff, so the effect\n    // reads as a sparkle gathering around the pointer, not a stamped disc.\n    var SCRAMBLE_CHARS = Array.from(new Set(TRAIL.replace(/ /g, '').split(''))).join('');\n    var HALO = 80;\n    var mx = -1e5, my = -1e5;\n    // Raw viewport position too (unlike mx/my, not relative to the hero\n    // canvas) -- lets every peek window work out the cursor's position in\n    // its OWN local space below, so each one gets its own independent\n    // scramble/holo reaction instead of only reacting when the cursor\n    // happens to be over the hero.\n    var vmx = -1e5, vmy = -1e5;\n    window.addEventListener('mousemove', function (e) {\n      var r = cv.getBoundingClientRect();\n      mx = e.clientX - r.left;\n      my = e.clientY - r.top;\n      vmx = e.clientX; vmy = e.clientY;\n    }, { passive: true });\n    document.addEventListener('mouseleave', function () { mx = my = vmx = vmy = -1e5; });\n\n    // Bloom: a soft white halo behind every glyph -- shadowBlur is the cheap\n    // canvas way to get a glow without a second blurred render pass. Kept to\n    // ~5-10% of the glyph's own size (SIZE=11 -\u003e BLOOM_BLUR~1) and BLOOM_ALPHA\n    // well under the glyph's own alpha, so it reads as a faint bloom around\n    // the trail rather than a thick outline or a second, blurrier trail.\n    var BLOOM_BLUR = SIZE * 0.9;\n    var BLOOM_ALPHA = 0.45;\n\n    // Holographic hover: reuses the same HALO proximity as the scramble\n    // above (scrambleT, computed per-glyph below) -- as the cursor nears a\n    // glyph its fill shifts from plain white into a hue that cycles with the\n    // glyph's own position and time, so the sheen looks like it is travelling\n    // across the letterforms rather than the whole trail flashing one colour\n    // at once. Saturation/lightness are tuned to stay legible against the\n    // ribbon rather than reading as a rainbow sticker. `amt` (0-1, scrambleT)\n    // scales saturation/lightness towards white as amt-\u003e0, so the masked\n    // reveal feathers in with proximity instead of snapping on at HALO's edge.\n    function holoColor(x, y, t, amt) {\n      var hue = (x * 0.6 + y * 0.9 + t * 90) % 360;\n      if (hue \u003c 0) hue += 360;\n      var sat = 85 * amt, light = 100 - 28 * amt;
2049\n      return 'hsl(' + hue.toFixed(0) + ', ' + sat.toFixed(0) + '%, ' + light.toFixed(0) + '%)';\n    }\n\n    // Load-in reveal: top strip first, then the middle, then the bottom —\n    // matching PATHS' own order in reverse (Red 5/6 are the topmost strips,\n    // Red 3/4 the middle, Red 1/2 the bottom, per the comment above). Red 7/8\n    // (the new pair) reveal last, after all six of the original band. Each\n    // group's delay is offset from the first paint, not from page load, so a\n    // slow-loading page doesn't lose the stagger before the canvas exists.\n    var REVEAL_DELAY = [800, 850, 500, 550, 0, 150, 1200, 1250];   // ms, indexed like PATHS -- one delay per stream\n    var REVEAL_DUR = [500, 500, 450, 450, 600, 600, 1200, 1200];   // ms per stream to sweep its own path -- also indexed like PATHS, no longer one shared value\n    var loadT = null;\n    function smoothstep(x) { return x \u003c= 0 ? 0 : x \u003e= 1 ? 1 : x * x * (3 - 2 * x); }\n    // Cubic ease-out for the reveal sweep specifically: starts fast (steep\n    // at x=0) and decelerates into the finish (flat at x=1), rather than\n    // smoothstep's symmetric slow-fast-slow -- the stream now shoots out\n    // and settles into place instead of easing into and out of its start.\n    function easeOut(x) { x = x \u003c= 0 ? 0 : x \u003e= 1 ? 1 : x; return 1 - Math.pow(1 - x, 3); }\n\n    function draw(now) {\n      raf = 0;\n      // Unlike the glyph field's scroll-kicked loop, this rAF loop is always\n      // on — after SPA navigation the old page's canvas is detached and the\n      // loop must die with it (init() builds a fresh one on return).\n      if (!cv.isConnected) return;\n      if (loadT === null) loadT = now;\n      var dpr = Math.min(window.devicePixelRatio || 1, 2);\n      var w = Math.round(AW * dpr), h = Math.round(AH * dpr);\n      if (cv.width !== w || cv.height !== h) { cv.width = w; cv.height = h; }\n      ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n      ctx.clearRect(0, 0, AW, AH);\n      ctx.fillStyle = '#fff';\n      ctx.font = SIZE + 'px \"JetBrains Mono\", \"SF Mono\", Menlo, monospace';\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'middle';\n\n      // One getBoundingClientRect() per peek window per frame (not per glyph\n      // — that's the same per-frame measuring pass .rzpn-win-glyphs already\n      // does), sized and cleared up front so the glyph loop below just tests\n      // a plain rect and draws.\n      var par = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--rzpn-par-ascii')) || 0;\n      var sLeft = stageLeft();\n      // \u003c=600px: .rzpn-art itself renders at artScale() (see the comment by\n      // stageLeft() above) -- every peek-window projection below has to\n      // convert an artboard-local point through that same scale-around-\n      // top-center transform, or the \"cutout\" windows show the ribbon at\n      // its old full size/position while the hero shows it 40% smaller.\n      var scale = artScale();\n      var originX = sLeft + 720;\n      function stagePoint(localX, localY, parOffset) {\n        return {\n          x: originX + (localX - 720) * scale,\n          y: (localY + parOffset) * scale\n        };\n      }\n      var frames = peekLayers.map(function (L) {\n        var r = L.el.getBoundingClientRect();\n        if (!r.width || !r.height) return null;\n        var pw = Math.max(1, Math.round(r.width * dpr)), ph = Math.max(1, Math.round(r.height * dpr));\n        if (L.cv.width !== pw || L.cv.height !== ph) { L.cv.width = pw; L.cv.height = ph; }\n        L.ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n        L.ctx.clearRect(0, 0, r.width, r.height);\n        L.ctx.fillStyle = '#fff';\n        // Text shrinks by the same PEEK_SCALE as the ribbon geometry, so the\n        // characters stay in proportion to the (also shrunk) facets they sit\n        // on rather than reading oversized against them.\n        L.ctx.font = (SIZE * PEEK_SCALE * scale) + 'px \"JetBrains Mono\", \"SF Mono\", Menlo, monospace';\n        L.ctx.textAlign = 'center';\n        L.ctx.textBaseline = 'middle';\n        // Cursor position in THIS window's own local space (viewport\n        // coords minus this rect's own offset) -- what makes the\n        // scramble/holo hover below react independently per window\n        // instead of only ever firing for the hero.\n        return { ctx: L.ctx, rect: r, mx: vmx - r.left, my: vmy - r.top };\n      });\n\n      // Ribbon-band pieces first (bottom layer, same order as the real\n      // .rzpn-art-strip paints before .rzpn-art-ascii), so the trail\n      // characters drawn below land on top of them, matching the hero.\n      if (stripImgs.length \u0026\u0026 frames.length) {\n        var parStrip = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--rzpn-par-strip')) || 0;
2049\n        for (var pi = 0; pi \u003c stripImgs.length; pi++) {\n          var SP = stripImgs[pi].geo, SImg = stripImgs[pi].img;\n          var sPt = stagePoint(SP.cx, SP.cy, parStrip);\n          var svx = sPt.x, svy = sPt.y;\n          for (var sfi = 0; sfi \u003c frames.length; sfi++) {\n            var SF = frames[sfi];\n            if (!SF) continue;\n            var sp = projectToWindow(svx, svy, SF.rect);\n            var sw = SP.w * PEEK_SCALE * scale, sh = SP.h * PEEK_SCALE * scale;\n            var reach = Math.max(sw, sh) / 2;\n            if (sp.x \u003c -reach || sp.y \u003c -reach || sp.x \u003e SF.rect.width + reach || sp.y \u003e SF.rect.height + reach) continue;\n            SF.ctx.save();\n            SF.ctx.translate(sp.x, sp.y);\n            if (SP.rot) SF.ctx.rotate(SP.rot * Math.PI / 180);\n            SF.ctx.drawImage(SImg, -sw / 2, -sh / 2, sw, sh);\n            SF.ctx.restore();\n          }\n        }\n      }\n\n      var elapsed = now - loadT;\n      var time = reduced.matches ? 0 : now * 0.001;\n      for (var k = 0; k \u003c PATHS.length; k++) {\n        // travel is unbounded arc-length distance covered since t=0. Positions\n        // stay on a fixed grid (shiftPx only smooths the sub-step remainder,\n        // same as before), but WHICH character sits at each position now comes\n        // from travelIdx — the count of whole steps travelled — so the string\n        // actually advances through the run over time instead of the old code,\n        // where every frame restarted counting characters from n=0 at the run's\n        // start and only the position jittered by less than one glyph width.\n        // Indexing by (n - travelIdx) mod TRAIL.length is what makes it loop\n        // seamlessly: the wrap from the string's last character back to its\n        // first is invisible, there is no reset to spot.\n        var P = PATHS[k], travel = time * SPEED[k];\n        var shiftPx = (((travel % STEP) + STEP) % STEP);\n        var travelIdx = Math.floor(travel / STEP);\n        // Each run sits at a fixed span of the path regardless of shiftPx (it\n        // only smooths sub-step motion), so fading by arc-length gives a stable\n        // taper at the two tips instead of a flat cutoff — the trail reads as\n        // fading into the ribbon rather than ending on a hard edge.\n        var FADE = Math.min(90, P.len * 0.22);\n        // Load-in reveal streams in along the path: Red 3/4 (REVEAL_LTR)\n        // sweep left to right (s=0, always the lower-x end, growing\n        // toward P.len); every other path sweeps the original way, from\n        // its higher/more-topright end (s=P.len) down toward s=0 -- top\n        // and bottom already read correctly that way and must not change.\n        // revealFrac (0-\u003e1) is how much of the path the stream has swept;\n        // revealFront is the arc-length position of the moving edge\n        // itself. Characters don't fade in as a flat group alpha (the old\n        // behaviour) -- each one turns visible only once the front has\n        // swept past its own position, with a short soft ramp so it reads\n        // as glyphs materialising into the stream rather than popping on.\n        // The travel/shiftPx motion above never pauses for any of this --\n        // only visibility changes -- so revealed characters are already\n        // mid-flow, and once the front clears the whole path this is\n        // indistinguishable from the plain continuous loop.\n        var revealFrac = reduced.matches ? 1\n          : easeOut((elapsed - REVEAL_DELAY[k]) / REVEAL_DUR[k]);\n        if (revealFrac \u003c= 0.001) continue;\n        var ltr = REVEAL_LTR[k];\n        var revealFront = ltr ? P.len * revealFrac : P.len * (1 - revealFrac);\n        var STREAM_RAMP = 60;\n        var TIP_GLOW = 70;   // px either side of the moving front that gets the holographic tip treatment below\n        for (var s = shiftPx, n = 0; s \u003c P.len; s += STEP, n++) {\n          var e = sample(P, s), q = at(e.seg, e.t);\n          // Each path starts at a different offset into the string so the six\n          // runs never read as the same phrase repeated.\n          var idx = ((n - travelIdx + k * 47) % TRAIL.length + TRAIL.length) % TRAIL.length;\n          var ch = TRAIL.charAt(idx);\n          if (ch === ' ') continue;                 // spaces are gaps, not glyphs\n          // Re-rolled every frame (not cached per glyph), so a scrambled\n          // character keeps flickering rather than locking to one substitute.\n          var scrambleT = 0;\n          if (!reduced.matches) {\n            scrambleT = 1 - Math.min(1, Math.hypot(q[0] - mx, q[1] - my) / HALO);\n            if (scrambleT \u003e 0 \u0026\u0026 Math.random() \u003c scrambleT * scrambleT) {\n              ch = SCRAMBLE_CHARS.charAt((Math.random() * SCRAMBLE_CHARS.length) | 0);\n            }\n          }\n          var edge = Math.max(0, Math.min(1, s / FADE, (P.len - s) / FADE));\n          var stream = reduced.matches ? 1\n            : Math.max(0, Math.min(1, (ltr ? (revealFront - s) : (s - revealFront)) / STREAM_RAMP));\n          var alpha = 0.8 * edge * stream;\n          if (alpha \u003c= 0.015) continue;\n          var rot = ang(e.seg, e.t);\n          // Holographic tip glow: while this path's sweep is still running\n          // (revealFrac \u003c 1), glyphs near the moving front carry the same\n          // travelling-hue treatment as the cursor-hover effect below,\n          // fading back to plain white within TIP_GLOW px either side of\n          // it. So the stream reads as pulling a holographic glint along\n          // its leading edge as it appears, settling to plain white once\n          // the front has passed and stream has held it at full alpha for\n          // a while -- not just fading up to opaque white at the tip.\n          // Gated off once the sweep finishes (revealFrac hits 1) so it\n          // doesn't linger as a permanent recolour of the settled trail.\n          var tipAmt = (!reduced.matches \u0026\u0026 revealFrac \u003c 1)\n            ? Math.max(0, 1 - Math.abs(s - revealFront) / TIP_GLOW) : 0;\n          // Holographic hover overrides the plain white fill/bloom with a\n          // travelling hue once the cursor is close enough to matter\n          // (scrambleT \u003e 0, the same gate the character-scramble above\n          // uses) OR the tip glow above is active, and rides the bloom\n          // glow up with it so the shimmer reads as lit rather than just\n          // recoloured.\n          var holoAmt = Math.max(scrambleT, tipAmt);\n          var fillColor = holoColor(q[0], q[1], time, holoAmt);\n          var glowBlur = BLOOM_BLUR * (1 + holoAmt);\n          var glowAlpha = BLOOM_ALPHA * alpha * (1 + holoAmt);\n          var glowColor = holoAmt \u003e 0 ? fillColor : ('rgba(255,255,255,' + glowAlpha.toFixed(3) + ')');\n          ctx.save();\n          ctx.globalAlpha = alpha;\n          ctx.translate(q[0], q[1]);\n          ctx.rotate(rot);\n          ctx.fillStyle = fillColor;\n          ctx.shadowColor = glowColor;\n          ctx.shadowBlur = glowBlur;
2049\n          ctx.fillText(ch, 0, 0);\n          ctx.restore();\n\n          // Re-project the same character into viewport space and offer it\n          // to every other window's peek layer — whichever one currently\n          // overlaps this exact point on screen draws it, so the trail reads\n          // as one continuous thing passing through every window rather than\n          // something confined to the hero.\n          if (frames.length) {\n            var vPt = stagePoint(q[0], q[1], par);\n            var vx = vPt.x, vy = vPt.y;\n            var peekSize = SIZE * PEEK_SCALE * scale;\n            for (var fi = 0; fi \u003c frames.length; fi++) {\n              var F = frames[fi];\n              if (!F) continue;\n              var fp = projectToWindow(vx, vy, F.rect);\n              if (fp.x \u003c -peekSize || fp.y \u003c -peekSize || fp.x \u003e F.rect.width + peekSize || fp.y \u003e F.rect.height + peekSize) continue;\n              // Independent scramble/holo for THIS window, using its own\n              // local cursor position (F.mx/F.my) rather than the hero's\n              // scrambleT/fillColor above -- so each peek window (including\n              // the footer strip) reacts to the cursor only when it's\n              // actually hovering that window, not just whenever it's near\n              // the hero canvas.\n              var pCh = ch;\n              var pScrambleT = 0;\n              if (!reduced.matches) {\n                pScrambleT = 1 - Math.min(1, Math.hypot(fp.x - F.mx, fp.y - F.my) / HALO);\n                if (pScrambleT \u003e 0 \u0026\u0026 Math.random() \u003c pScrambleT * pScrambleT) {\n                  pCh = SCRAMBLE_CHARS.charAt((Math.random() * SCRAMBLE_CHARS.length) | 0);\n                }\n              }\n              var pHoloAmt = Math.max(pScrambleT, tipAmt);\n              var pFill = holoColor(fp.x, fp.y, time, pHoloAmt);\n              var pGlowBlur = BLOOM_BLUR * (1 + pHoloAmt);\n              var pGlowAlpha = BLOOM_ALPHA * alpha * (1 + pHoloAmt);\n              var pGlowColor = pHoloAmt \u003e 0 ? pFill : ('rgba(255,255,255,' + pGlowAlpha.toFixed(3) + ')');\n              F.ctx.save();\n              F.ctx.globalAlpha = alpha;\n              F.ctx.translate(fp.x, fp.y);\n              F.ctx.rotate(rot);\n              F.ctx.fillStyle = pFill;\n              F.ctx.shadowColor = pGlowColor;\n              F.ctx.shadowBlur = pGlowBlur;\n              F.ctx.fillText(pCh, 0, 0);\n              F.ctx.restore();\n            }\n          }\n        }\n      }\n      if (!reduced.matches) raf = requestAnimationFrame(draw);\n    }\n    function kick() { if (!raf) raf = requestAnimationFrame(draw); }\n    draw(performance.now());\n    kick();\n    window.addEventListener('resize', kick);\n  })();\n\n  }\n\n  function boot() {\n    var page = document.getElementById('page-rzpn');\n    if (page) init(page);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', boot);\n  } else {\n    boot();\n  }\n  new MutationObserver(boot).observe(document.documentElement, { childList: true, subtree: true });\n})();\n"])</script>
2049<script>self.__next_f.push([1,"47:[\"$\",\"$L59\",null,{\"customJsDisabled\":false,\"jsFiles\":[{\"_id\":\"6a7e1f64f5b36d40d3545418\",\"filePath\":\"country-switcher.js\",\"subdomain\":\"razorpay-881012b3\",\"__v\":0,\"content\":\"$5a\"},{\"_id\":\"6a7e267ef5b36d40d35b37b6\",\"subdomain\":\"razorpay-881012b3\",\"filePath\":\"static/docs-home/script.js\",\"__v\":0,\"content\":\"$5b\"},{\"_id\":\"6a8546c0f5b36d40d38adf9e\",\"filePath\":\"ga4.js\",\"subdomain\":\"razorpay-881012b3\",\"__v\":0,\"content\":\"(function () {\\n  var GA_MEASUREMENT_ID = 'G-8HTFJ5WZ20';\\n\\n  var script = document.createElement('script');\\n  script.async = true;\\n  script.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA_MEASUREMENT_ID;\\n  document.head.appendChild(script);\\n\\n  window.dataLayer = window.dataLayer || [];\\n  function gtag() {\\n    dataLayer.push(arguments);\\n  }\\n  gtag('js', new Date());\\n  // docs_platform distinguishes Mintlify traffic from the old docs site,\\n  // which shares this measurement ID.\\n  gtag('config', GA_MEASUREMENT_ID, { docs_platform: 'mintlify' });\\n})();\\n\"}]}]\n"])</script>
2049<script>self.__next_f.push([1,"5e:T1d86,"])</script>
2049<script>self.__next_f.push([1,"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const VideoCard=props=\u003e{const _components={a:`a`,..._provideComponents()};const{title,href,videoUrl,children}=props;const css=`\n.rzp-vcard {\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  border: 1px solid rgba(0, 0, 0, 0.08);\n  border-radius: 0.75rem;\n  background: #fff;\n  height: 100%;\n}\n.rzp-vcard-video {\n  position: relative;\n  width: 100%;\n  aspect-ratio: 16 / 9;\n  background: #000;\n}\n.rzp-vcard-video iframe {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n  display: block;\n}\n.rzp-vcard-body { padding: 1rem 1.15rem 1.15rem; }\n.rzp-vcard-title {\n  margin: 0 0 0.4rem;\n  font-size: 1rem;\n  font-weight: 600;\n  line-height: 1.4;\n  color: #0f172a;\n}\n.rzp-vcard-title a { color: inherit; text-decoration: none; }\n.rzp-vcard-title a:hover { color: #3395ff; }\n.rzp-vcard-desc { font-size: 0.875rem; line-height: 1.6; color: #475569; }\n.rzp-vcard-desc \u003e :first-child { margin-top: 0; }\n.rzp-vcard-desc \u003e :last-child { margin-bottom: 0; }\n:where(.dark) .rzp-vcard {\n  border-color: rgba(255, 255, 255, 0.12);\n  background: rgba(255, 255, 255, 0.03);\n}\n:where(.dark) .rzp-vcard-title { color: #f1f5f9; }\n:where(.dark) .rzp-vcard-desc { color: #94a3b8; }\n`;return _jsxs(`div`,{className:`rzp-vcard`,children:[_jsx(`style`,{children:css}),videoUrl?_jsx(`div`,{className:`rzp-vcard-video`,children:_jsx(`iframe`,{src:videoUrl,title:title||`Video`,loading:`lazy`,referrerPolicy:`strict-origin-when-cross-origin`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:true})}):null,_jsxs(`div`,{className:`rzp-vcard-body`,children:[title?_jsx(`p`,{className:`rzp-vcard-title`,children:href?_jsx(_components.a,{href,children:title}):title}):null,_jsx(`div`,{className:`rzp-vcard-desc`,children})]})]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CardGroup,Heading,Info,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem 0.9rem`,border:`1px solid rgba(128,128,128,0.28)`,borderRadius:`0.5rem`,padding:`0.45rem 0.75rem`,margin:`0 0 1.25rem`,fontSize:`0.875rem`},children:[_jsx(`span`,{style:{fontWeight:600},children:`Available in`}),_jsx(`span`,{children:`🇮🇳 India`}),_jsx(`span`,{children:`🇲🇾 Malaysia`}),_jsx(`span`,{children:`🇸🇬 Singapore`}),_jsx(`span`,{children:`🇺🇸 United States`})]}),`\n`,_jsx(_components.p,{children:`Razorpay APIs are completely RESTful, and all our responses are returned in JSON.`}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Integrations`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Looking to integrate your website, ecommerce store or mobile app with Razorpay Payment Gateway? Find the `,_jsx(_components.a,{href:`/docs/payments/payment-gateway#integration-types`,children:`right integration method`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Accept payments `,_jsxs(_components.a,{href:`/docs/payments#accept-payments`,children:[_jsx(_components.strong,{children:`without`}),` a website or app`]}),` using other Razorpay products, such as Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.`]}),`\n`,_jsxs(_components.li,{children:[`For S2S integration, contact the `,_jsx(_components.a,{href:`https://razorpay.com/support/#request`,children:`Support team`}),` with your requirements.`]}),`\n`]})]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsx(VideoCard,{title:`Razorpay Postman Public Workspace`,href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,videoUrl:`https://www.youtube.com/embed/0k5NpkMgUWQ?si=qZcBE8alhTN7b4_-`,children:_jsxs(_components.p,{children:[`Our APIs are present on the Razorpay `,_jsx(_components.a,{href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,children:`Postman Public Workspace`}),`. Watch the video to know how to fork APIs and save them to your private workspace for testing.`]}
2049)})}),_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsxs(VideoCard,{title:`Try Razorpay APIs on Postman`,videoUrl:`https://www.youtube.com/embed/TExjOlOCxTw?si=cS9MlY6_cm4tPGWq`,children:[_jsx(_components.p,{children:`Test Razorpay APIs using Postman. Watch the video to know how to get started.`}),_jsxs(_components.p,{children:[`All Razorpay APIs are authenticated using Basic Authentication. You must `,_jsx(_components.a,{href:`/docs/api/authentication`,children:`generate test API keys`}),` on the Dashboard before trying the APIs.`]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`api-gateway-url`,children:`API Gateway URL`}),`\n`,_jsxs(_components.p,{children:[`For most of the Razorpay APIs, the Gateway URL is `,_jsx(_components.code,{children:`https://api.razorpay.com/v1`}),`. You need to include this before each API endpoint to make API calls. However, certain APIs are on V2. Hence, the gateway URL may differ for certain APIs.`]}),`\n`,_jsx(AccordionGroup,{children:_jsx(Accordion,{title:`Example`,id:`example`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.code,{children:`https://api.razorpay.com/v1/payments`}),` to access payment resources.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.code,{children:`https://api.razorpay.com/v2/accounts`}),` to access Route (Linked Account)-related resources.`]}),`\n`]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`related-information`,children:`Related Information`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/understand`,children:`Understand Razorpay APIs`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/authentication`,children:`API Authentication`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/sandbox-setup`,children:`Sandbox Setup`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/errors`,children:`Errors`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/best-practices`,children:`API Best Practices`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/glossary`,children:`API Glossary`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{VideoCard,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"])</script>
2049<script>self.__next_f.push([1,"5f:T1687,"])</script>
2049<script>self.__next_f.push([1,"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const VideoCard=()=\u003enull;function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CardGroup,Heading,Info,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem 0.9rem`,border:`1px solid rgba(128,128,128,0.28)`,borderRadius:`0.5rem`,padding:`0.45rem 0.75rem`,margin:`0 0 1.25rem`,fontSize:`0.875rem`},children:[_jsx(`span`,{style:{fontWeight:600},children:`Available in`}),_jsx(`span`,{children:`🇮🇳 India`}),_jsx(`span`,{children:`🇲🇾 Malaysia`}),_jsx(`span`,{children:`🇸🇬 Singapore`}),_jsx(`span`,{children:`🇺🇸 United States`})]}),`\n`,_jsx(_components.p,{children:`Razorpay APIs are completely RESTful, and all our responses are returned in JSON.`}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Integrations`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Looking to integrate your website, ecommerce store or mobile app with Razorpay Payment Gateway? Find the `,_jsx(_components.a,{href:`/docs/payments/payment-gateway#integration-types`,children:`right integration method`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Accept payments `,_jsxs(_components.a,{href:`/docs/payments#accept-payments`,children:[_jsx(_components.strong,{children:`without`}),` a website or app`]}),` using other Razorpay products, such as Payment Links, Payment Pages, Subscription Links, Invoices and Smart Collect.`]}),`\n`,_jsxs(_components.li,{children:[`For S2S integration, contact the `,_jsx(_components.a,{href:`https://razorpay.com/support/#request`,children:`Support team`}),` with your requirements.`]}),`\n`]})]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsx(VideoCard,{title:`Razorpay Postman Public Workspace`,href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,videoUrl:`https://www.youtube.com/embed/0k5NpkMgUWQ?si=qZcBE8alhTN7b4_-`,children:_jsxs(_components.p,{children:[`Our APIs are present on the Razorpay `,_jsx(_components.a,{href:`https://www.postman.com/razorpaydev/workspace/razorpay-public-workspace/collection/12492020-952c7295-118c-400f-8f2c-5266ef6f689a`,children:`Postman Public Workspace`}),`. Watch the video to know how to fork APIs and save them to your private workspace for testing.`]})})}),_jsx(_MdxComponentBoundary,{name:`VideoCard`,children:_jsxs(VideoCard,{title:`Try Razorpay APIs on Postman`,videoUrl:`https://www.youtube.com/embed/TExjOlOCxTw?si=cS9MlY6_cm4tPGWq`,children:[_jsx(_components.p,{children:`Test Razorpay APIs using Postman. Watch the video to know how to get started.`}),_jsxs(_components.p,{children:[`All Razorpay APIs are authenticated using Basic Authentication. You must `,_jsx(_components.a,{href:`/docs/api/authentication`,children:`generate test API keys`}),` on the Dashboard before trying the APIs.`]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`api-gateway-url`,children:`API Gateway URL`}),`\n`,_jsxs(_components.p,{children:[`For most of the Razorpay APIs, the Gateway URL is `,_jsx(_components.code,{children:`https://api.razorpay.com/v1`}),`. You need to include this before each API endpoint to make API calls. However, certain APIs are on V2. Hence, the gateway URL may differ for certain APIs.`]}),`\n`,_jsx(AccordionGroup,{children:_jsx(Accordion,{title:`Example`,id:`example`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.c
2049ode,{children:`https://api.razorpay.com/v1/payments`}),` to access payment resources.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Use the URL `,_jsx(_components.code,{children:`https://api.razorpay.com/v2/accounts`}),` to access Route (Linked Account)-related resources.`]}),`\n`]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`related-information`,children:`Related Information`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/understand`,children:`Understand Razorpay APIs`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/authentication`,children:`API Authentication`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/sandbox-setup`,children:`Sandbox Setup`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/errors`,children:`Errors`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/best-practices`,children:`API Best Practices`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/api/glossary`,children:`API Glossary`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{VideoCard,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"])</script>
2049<script>self.__next_f.push([1,"48:[\"$\",\"$L5c\",null,{\"slug\":\"docs/api\",\"pageMetadata\":\"$31:props:pageMetadata\",\"theme\":\"mint\",\"children\":[\"$\",\"$L5d\",null,{\"mdxSource\":{\"compiledSource\":\"$5e\",\"frontmatter\":{},\"scope\":{\"config\":{},\"pageMetadata\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"}}},\"mdxSourceWithNoJs\":{\"compiledSource\":\"$5f\",\"frontmatter\":{},\"scope\":{\"config\":{},\"pageMetadata\":{\"title\":\"API Reference Guide\",\"description\":\"Get started with Razorpay APIs and test them on Postman. Generate API Keys in Test and Live Modes.\",\"href\":\"/docs/api\"}}},\"displayDomain\":\"razorpay-881012b3.mintlify.site\"}]}]\n"])</script>
2049<script>self.__next_f.push([1,"60:I[118717,[\"/mintlify-assets/_next/static/chunks/7578c347033fb4c7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/1990e8ef6e20b8a8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/761250e423ee7acf.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/9872c60e0fa32b81.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/5a3fa033d207f30d.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/ecb1fa404af43177.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/a50f53db4fc4a3a7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/eefca33900b5dff8.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/8048dcef7298cf99.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/c5a3a3d790603c97.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/389dadc29768f843.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/d9038181f2c2898b.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/e8214259ecd559fe.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/91103844efdcdc17.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/dd09caf47ab56047.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/b48776e7e0d9f295.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/66d412098f0204f7.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/55849545e14a3cc0.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/79138699c82d229f.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/aff596ffd7aa65a4.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\",\"/mintlify-assets/_next/static/chunks/62a5f408cd23c089.js?dpl=dpl_5ZEnTGVcNKTjFEbzPDf6xwjtsSMR\"],\"NotFoundHydrator\"]\n"])</script>
2049<script>self.__next_f.push([1,"53:[\"$\",\"$L60\",null,{\"source\":\"multitenant\"}]\n"])</script>
2049<script>self.__next_f.push([1,"57:[\"$\",\"style\",\"1\",{\"data-custom-css-index\":1,\"data-custom-css-path\":\"static/docs-home/hide-navbar-on-home.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"/* Hide the Mintlify top navbar on custom-mode pages (home, home-old, home-my, home-sg, home-us).\\n   Loaded before the JSX snippet mounts, so there's no flash-of-navbar on refresh.\\n   Mintlify sets data-page-mode=\\\"custom\\\" on \u003chtml\u003e via an inline script for these pages. */\\nhtml[data-page-mode=\\\"custom\\\"] header#navbar {\\n  display: none !important;\\n}\\n\\n/* Kill the mobile 120px top-padding wrapper Mintlify reserves for the (now-hidden) navbar */\\nhtml[data-page-mode=\\\"custom\\\"] .pt-\\\\[120px\\\\] {\\n  padding-top: 0 !important;\\n}\\n\"}}]\n"])</script>
2049<script>self.__next_f.push([1,"61:T11913,"])</script>
2049<script>self.__next_f.push([1,"/* =========================================================================\n   Razorpay Docs homepage — v41 \"Ascii sky\"\n   Handoff build: v41 only. Class names keep their rzpn- prefix so every rule\n   traces back to the prototype; rename at will.\n   ========================================================================= */\n\n:root {\n  --ink: #192839;\n  --ink-soft: #4b5563;\n  --ink-faint: #9ca3af;\n  --border: #e5e7eb;\n  --border-muted: rgba(67,75,81,0.12);\n  --accent: #305eff;\n  --accent-hover: #244bd6;\n  --accent-soft-bg: #eef2ff;\n  --teal: #0f6b63;\n  --teal-soft-bg: #e6f5f3;\n  --success-bg: #d9f5e0;\n  --success-ink: #1c7340;\n  --dark-bg: #002a29;\n  --dark-card-bg: rgba(255,255,255,0.04);\n  --dark-card-border: rgba(209,213,219,0.1);\n  --dark-icon-bg: #145252;\n  --radius-card: 12px;\n  --radius-pill: 8px;\n  --radius-btn: 6px;\n  --ease: cubic-bezier(0.22, 1, 0.36, 1);\n  --font-display: 'TASA Orbiter', 'Inter', system-ui, sans-serif;\n  --font-body: 'Inter', system-ui, sans-serif;\n  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;\n}\n\n/* Mintlify injects every repo CSS file into EVERY page, and unlayered rules\n   beat Mintlify's layered Tailwind utilities regardless of specificity (a bare\n   `img { display: block }` forced both the light AND dark navbar logos visible\n   on all docs pages). So every reset here must stay scoped to the home page:\n   #rzpn-home for the page tree, html[data-page-mode=\"custom\"] for html/body. */\n#rzpn-home, #rzpn-home * { box-sizing: border-box; }\nhtml[data-page-mode=\"custom\"] { scroll-behavior: smooth; }\nhtml[data-page-mode=\"custom\"], html[data-page-mode=\"custom\"] body { margin: 0; padding: 0; }\n#rzpn-home {\n  font-family: var(--font-body);\n  color: var(--ink);\n  background: #fff;\n  -webkit-font-smoothing: antialiased;\n}\n#rzpn-home a { text-decoration: none; color: inherit; }\n#rzpn-home img { display: block; max-width: 100%; }\n#rzpn-home h1, #rzpn-home h2, #rzpn-home h3, #rzpn-home h4 { margin: 0; font-family: var(--font-display); }\n#rzpn-home p { margin: 0; }\n\n/* ==========================================================================\n   v41 — v40 with the photo swapped for a gradient sky + a generated ASCII\n   field. Structure, spacing and every component are v40's; only the backdrop\n   layer differs, so this block is a copy with the .rzpn-win rules rewritten.\n   ========================================================================== */\n\n/* The drift is written to :root, not to the page: the footer is a SIBLING of\n   #page-rzpn and is a window onto the same layer, so it has to read the same\n   value. Declared on the page too it would shadow the root value. */\n:root { --rzpn-par: 0px; }\n#page-rzpn {\n  --rzpn-pad: 64px;\n  --rzpn-max: 1440px;\n  background: #fff;\n}\n\n#page-rzpn .rzpn-wrap {\n  max-width: var(--rzpn-max);\n  margin: 0 auto;\n  padding: 0 var(--rzpn-pad);\n}\n\n/* --- The shared photo window -------------------------------------------\n   Every element that shows the grass photo uses this. `fixed` anchors the\n   background to the viewport, so separate windows scattered down the page\n   all sample one continuous image and stay registered to each other — the\n   same construction as the Figma Subtract shape, and the parallax itself.\n   Sized taller than the viewport so --rzpn-par has room to travel without\n   ever exposing an edge. */\n#page-rzpn .rzpn-win {\n  /* No photo: a sky gradient painted at a fixed viewport size. Fixed\n     attachment is still what registers the windows to each other — every one\n     samples the same 100vw x 1180px ramp, so the crops line up and the whole\n     page reads as one backdrop seen through holes, exactly as v40's photo did. */\n  /* Figma 1050:201408 — two stops, the first held until 22.856%, over a 368px\n     band on a #e8eefe page. */\n  background-image: linear-gradient(180deg, #5498f2 22.856%, #e8eefe 100%);\n  background-attachment: fixed;\n  background-repeat: no-repeat;\n  /* The artboard's band height, so the ramp is spent at the foot of the hero\n     and every window below it samples the flat tail. */\n  background-size: 100vw 368px;\n  background-position: center calc(0px + var(--rzpn-par));\n  background-color: #e8eefe;\n}\n\n/* Where the photo sits behind content rather than standing alone, Figma fades\n   it back so type stays legible. Sampling the frame, the card interiors read\n   ~rgb(131,153,122) against the photo's raw rgb(88,107,58) — a light veil over\n   a desaturated, slightly brightened blur. The
2049se values reproduce that. */\n#page-rzpn .rzpn-win--soft { position: relative; }\n#page-rzpn .rzpn-win--soft::before {\n  content: '';\n  position: absolute; inset: 0;\n  border-radius: inherit;\n  background: rgba(255,255,255,.22);\n  -webkit-backdrop-filter: blur(8px) saturate(.7) brightness(1.15);\n  backdrop-filter: blur(8px) saturate(.7) brightness(1.15);\n  pointer-events: none;\n}\n/* Without backdrop-filter the veil alone has to do the work. */\n@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {\n  #page-rzpn .rzpn-win--soft::before { background: rgba(233,240,232,.55); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  #page-rzpn { --rzpn-par: 0px !important; }\n}\n\n/* iOS Safari ignores background-attachment: fixed, and small screens don't\n   have the height for the drift to read. Fall back to per-window crops.\n   Width breakpoints are .rzpn-lte-* classes on #rzpn-home, set from the\n   content column's width by home.jsx — Mintlify's assistant panel narrows\n   the column without a window resize, so @media (max-width) can't see it. */\n#rzpn-home.rzpn-lte-900 #page-rzpn .rzpn-win {\n  background-attachment: scroll;\n  background-size: 100% 368px;\n  background-position: center top;\n}\n@media (hover: none) and (pointer: coarse) {\n  #page-rzpn .rzpn-win {\n    background-attachment: scroll;\n    background-size: 100% 368px;\n    background-position: center top;\n  }\n}\n\n/* ---------------------------------------------------------------- nav --- */\n/* Sticks as a floating pill for the whole page, not just the hero. Fixed\n   rather than sticky because the artboard insets it 12px from the top and\n   50px from each side — it never spans the full width, so there is no edge\n   for `position: sticky` to sit flush against. */\n#page-rzpn .rzpn-nav-wrap {\n  position: fixed;\n  top: 12px; left: 0; right: 0;\n  z-index: 50;\n  /* Tracks the content gutter rather than its own 50px, so the bar's edges\n     line up with the sections (and with the hero headline) at every\n     breakpoint — --rzpn-pad is what .rzpn-wrap uses. */\n  padding: 0 var(--rzpn-pad);\n  pointer-events: none;\n}\n#page-rzpn .rzpn-nav {\n  pointer-events: auto;\n  white-space: nowrap;\n  /* 1440 - 2x64 = 1312, i.e. the same content box as .rzpn-wrap. */\n  max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2);\n  margin: 0 auto;\n  height: 58px;\n  display: flex;\n  align-items: center;\n  gap: 24px;\n  padding: 0 21px;\n  border-radius: 8px;\n  /* Figma 1157:90026 -- the pill is translucent (bg opacity .8) with a 4px\n     backdrop blur, so whatever scrolls behind it (the ribbon/ascii trail)\n     shows through softened rather than being fully hidden by a solid pill. */\n  background: rgba(255,255,255,.8);\n  transition: box-shadow .22s ease;\n  -webkit-backdrop-filter: blur(4px);\n  backdrop-filter: blur(4px);\n}\n/* Without backdrop-filter the 80% tint alone would show whatever's behind it\n   unblurred through the pill — fall back to solid instead. */\n@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {\n  #page-rzpn .rzpn-nav { background: #fff; }\n}\n/* On the hero the photo separates the pill from the page; once it is over\n   white content it needs a shadow to stay distinct. */\n#page-rzpn.is-scrolled .rzpn-nav { box-shadow: 0 6px 24px rgba(5, 5, 5, .10); }\n#page-rzpn .rzpn-nav-logo { display: flex; align-items: center; gap: 8px; height: 32px; }\n#page-rzpn .rzpn-nav-logo img { display: block; height: 21px; width: auto; }\n#page-rzpn .rzpn-nav-logo-docs { height: 13px !important; }\n#page-rzpn .rzpn-nav-rule { width: 1px; height: 15px; background: #c8cdd0; }\n\n#page-rzpn .rzpn-nav-links { display: flex; align-items: center; gap: 18px; margin-left: 20px; }\n#page-rzpn .rzpn-nav-links a,\n#page-rzpn .rzpn-nav-meta a {\n  display: inline-flex; align-items: center; gap: 4px;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 12px; line-height: 17px;\n  letter-spacing: -0.156px; color: #050505; text-decoration: none;\n}\n#page-rzpn .rzpn-nav-links a:hover,\n#page-rzpn .rzpn-nav-meta a:hover { color: #1566f1; }\n\n#page-rzpn .rzpn-nav-right { display: flex; align-items: center; gap: 18px; margin-left: auto; }\n#page-rzpn .rzpn-nav-icobtn,\n#page-rzpn .rzpn-nav-assistant {\n  display: inline-flex; align-items: center; gap: 6px;\n  height: 36px; padding: 8px 12px;\n  border: 1px solid #c8cdd0; border-radius: 8px;\n  background: #fff; cursor: pointer;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 14px; line-height: 20px;\n  letter-spacing: -0.182px; color: #616d75;\n}\n#page-rzpn .rzpn-nav-icobtn { width: 36px; justify-content: center; padding: 8px; }\n#page-rzpn .rzpn-nav-assistant:hover,\n#page-rzpn .rzpn-nav-icobtn:hover { border-color: #9aa3a9; }\n#page-rzpn .rzpn-nav-prefs { position: relative; display: flex; align-items: center; gap: 16px; }\n#page-rzpn .rzpn-nav-flag { border: 1px solid rgba(0,0,0,.1); border-radius: 1px; display: block; }\n#page-rzpn .rzpn-nav-prefs-btn {\n  display: inline-flex; align-items: center; gap: 4px;\n  padding: 0; border: 0; background: none; cursor: pointer;
2049\n  color: #616d75;\n}\n#page-rzpn .rzpn-nav-prefs-btn:hover,\n#page-rzpn .rzpn-nav-prefs-btn.is-open { color: #1566f1; }\n#page-rzpn .rzpn-nav-prefs-chev { transition: transform .18s ease; }\n#page-rzpn .rzpn-nav-prefs-btn.is-open .rzpn-nav-prefs-chev { transform: rotate(180deg); }\n/* Right-aligned so the panel can't overflow the viewport edge. */\n#page-rzpn .rzpn-nav-prefs-menu {\n  position: absolute;\n  top: calc(100% + 8px); right: 0;\n  z-index: 5;\n  min-width: 96px;\n  padding: 8px;\n  display: flex; flex-direction: column;\n  border-radius: 8px;\n  background: #fff;\n  box-shadow: 0 8px 28px rgba(5,5,5,.14);\n}\n#page-rzpn .rzpn-nav-prefs-menu[hidden] { display: none; }\n#page-rzpn .rzpn-nav-prefs-menu a {\n  display: flex; align-items: center; gap: 8px;\n  padding: 8px 12px;\n  border-radius: 6px;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 12px; line-height: 17px;\n  letter-spacing: -0.156px; color: #050505; text-decoration: none;\n  white-space: nowrap;\n}\n#page-rzpn .rzpn-nav-prefs-menu a:hover { background: #f3f5f7; color: #1566f1; }\n#page-rzpn .rzpn-nav-meta { display: flex; align-items: center; gap: 18px; white-space: nowrap; }\n\n/* Burger + its panel: desktop shows neither, the 900px block turns them on. */\n#page-rzpn .rzpn-nav-burger { display: none; }\n#page-rzpn .rzpn-nav-burger-ico {\n  position: relative;\n  width: 16px; height: 2px; border-radius: 2px;\n  background: currentColor;\n}\n#page-rzpn .rzpn-nav-burger-ico::before,\n#page-rzpn .rzpn-nav-burger-ico::after {\n  content: '';\n  position: absolute; left: 0;\n  width: 16px; height: 2px; border-radius: 2px;\n  background: currentColor;\n  transition: transform .18s ease, opacity .18s ease;\n}\n#page-rzpn .rzpn-nav-burger-ico::before { top: -5px; }\n#page-rzpn .rzpn-nav-burger-ico::after { top: 5px; }\n/* Collapses to an X while the panel is open. */\n#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico { background: transparent; }\n#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::before { transform: translateY(5px) rotate(45deg); }\n#page-rzpn .rzpn-nav-burger.is-open .rzpn-nav-burger-ico::after { transform: translateY(-5px) rotate(-45deg); }\n\n#page-rzpn .rzpn-nav-menu {\n  pointer-events: auto;\n  max-width: calc(var(--rzpn-max) - var(--rzpn-pad) * 2);\n  margin: 8px auto 0;\n  padding: 8px;\n  display: flex; flex-direction: column;\n  border-radius: 8px;\n  background: #fff;\n  box-shadow: 0 8px 28px rgba(5,5,5,.14);\n}\n#page-rzpn .rzpn-nav-menu[hidden] { display: none; }\n#page-rzpn .rzpn-nav-menu a {\n  padding: 11px 12px;\n  border-radius: 6px;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 15px; line-height: 20px;\n  letter-spacing: -0.182px; color: #050505; text-decoration: none;\n}\n#page-rzpn .rzpn-nav-menu a:hover { background: #f3f5f7; color: #1566f1; }\n#page-rzpn .rzpn-nav-menu-rule { height: 0; margin: 6px 12px; border: 0; border-top: 1px solid #e4e4e4; }\n\n/* \"More\" dropdown: between 901px and 1129px the row can't fit all eight\n   product links, so Payroll → API Reference collapse behind it. Desktop\n   (≥1130px) shows the full row and hides the button; at ≤900px the whole\n   links row is gone and the burger panel takes over instead. The 1129px\n   block in the responsive section flips the two on. */\n#page-rzpn .rzpn-nav-more { position: relative; display: none; align-self: stretch; align-items: center; }\n#page-rzpn .rzpn-nav-more-btn {\n  display: inline-flex; align-items: center; gap: 4px;\n  padding: 0; border: 0; background: none; cursor: pointer;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 12px; line-height: 17px;\n  letter-spacing: -0.156px; color: #050505;\n}\n#page-rzpn .rzpn-nav-more-btn:hover,\n#page-rzpn .rzpn-nav-more-btn.is-open { color: #1566f1; }\n#page-rzpn .rzpn-nav-more-chev { transition: transform .18s ease; }\n#page-rzpn .rzpn-nav-more-btn.is-open .rzpn-nav-more-chev { transform: rotate(180deg); }\n/* The wrapper stretches to the pill's full 58px, so 100% + 8px lands the\n   panel 8px under the pill edge — same offset the burger panel uses. */\n#page-rzpn .rzpn-nav-more-menu {\n  position: absolute;\n  top: calc(100% + 8px); left: 0;\n  z-index: 5;\n  min-width: 148px;\n  padding: 8px;\n  display: flex; flex-direction: column;\n  border-radius: 8px;\n  background: #fff;\n  box-shadow: 0 8px 28px rgba(5,5,5,.14);\n}\n#page-rzpn .rzpn-nav-more-menu[hidden] { display: none; }\n#page-rzpn .rzpn-nav-more-menu a {\n  display: block;\n  padding: 8px 12px;\n  border-radius: 6px;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 12px; line-height: 17px;\n  letter-spacing: -0.156px; color: #050505; text-decoration: none;\n  white-space: nowrap;\n}\n#page-rzpn .rzpn-nav-more-menu a:hover { background: #f3f5f7; color: #1566f1; }\n\n/* Developer Tools dropdown (v42): inline in the links row at all widths the\n   row is visible; the burger panel lists its items instead at ≤900px. */\n#page-rzpn .rzpn-nav-dd { position: relative; display: inline-flex; }\n#page-rzpn .rzpn-nav-dd-btn {\n  display: inline-flex; align-items: center; gap: 4px;\n  padding: 0; border: 0; background: none; cursor: pointer;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 12px; line-height: 17px;\n  letter-spacing: -0.156px; color: #050505;\n}\n#page-rzpn .rzpn-nav-dd-btn:hover,\n#page-rzpn .rzpn-nav-dd-btn.is-open { color: #1566f1; }\n#page-rzpn .rzpn-nav-dd-chev { transition: transform .18s ease; }\n#page-rzpn .rzpn-nav-dd-btn.is-open .rzpn-nav-dd-chev { transform: rotate(180deg); }\n#page-rzpn .rzpn-nav-dd-menu {\n  position: absolute;\n  top: calc(100% + 14px); left: -12px;\n  z-index: 5;\n  min-width: 208px;\n  padding: 8px;\n  display: flex; flex-direction: column;\n  border: 1px solid #e4e4e4;\n  border-radius: 10px;\n  background: #fff;\n  box-shadow: 0 12px 32px rgba(5,5,5,.12);\n}\n#page-rzpn .rzpn-nav-dd-menu[hidden] { display: none; }\n/* Invisible bridge over the 14px gap so the pointer can travel from the\n   button into the panel without leaving the dropdown's hit area. */\n#page-rzpn .rzpn-nav-dd-menu::before {\n  content: '';\n  position: absolute; left: 0; right: 0; top: -14px; height: 14px;\n}\n#page-rzpn .rzpn-nav-dd-menu a {\n  display: flex; align-items: center; gap: 10px;\n  padding: 9px 10px;\n  border-radius: 6px;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 13px; line-height: 18px;\n  letter-spacing: -0.156px; color: #050505; text-decoration: none;\n  white-space: nowrap;\n}\n#page-rzpn .rzpn-nav-dd-menu a:hover { background: #f3f5f7; color: #1566f1; }\n#page-rzpn .rzpn-nav-dd-ico {\n  width: 16px; height: 16px; flex: none;\n  color: #616d75;\n  fill: none; stroke: currentColor; stroke-width: 1.7;\n  stroke-linecap: round; stroke-linejoin: round;\n}\n#page-rzpn .rzpn-nav-dd-menu a:hover .rzpn-nav-dd-ico { color: #1566f1; }\n/* Burger panel: indented icon rows under the plain Developer Tools link. */\n#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub {\n  display: flex; align-items: center; gap: 10px;\n  padding: 9px 12px 9px 24px;\n  font-size: 14px; line-height: 20px; color: #4b5563;\n}\n#page-rzpn .rzpn-nav-menu a.rzpn-nav-menu-sub:hover { color: #1566f1; }\n\n/* --------------------------------------------------------------- hero --- */\n#page-rzpn .rzpn-hero {\n  position: relative;\n  height: 366px;\n}\n/* ------------------------------------------------ v42 ribbon artwork ---- */\n/* The artwork is a 1440x448 stage pinned to the top of the viewport, not to\n   the hero — fixed, so the page scrolls over it while it holds 
2049still. Children\n   keep Figma's own coordinates, so the stage stays exactly 1440 wide. */\n#page-rzpn .rzpn-art {\n  position: fixed;\n  top: 0; left: 50%;\n  width: 1440px; height: 448px;\n  margin-left: -688px; /* -720px stage half-width + 32px rightward shift */\n  transform-origin: top center;\n  pointer-events: none;\n  z-index: 0;\n  /* Several strips are laid out past the artboard's left and right edges on\n     purpose, so the clip is vertical only. */\n  overflow: visible;\n  clip-path: inset(0 -100vw);\n}\n#page-rzpn .rzpn-art img { max-width: none; }\n\n/* Trail peek canvases: one per non-hero window, sized to that window's own\n   box (see the trail IIFE in script.js) — same \"one canvas per window, shared\n   viewport-space source\" pattern already used by .rzpn-win-glyphs. */\n#page-rzpn .rzpn-trail-peek {\n  position: absolute;\n  inset: 0;\n  /* A \u003ccanvas\u003e is a replaced element — inset:0 alone anchors it at the\n     window's top-left but does NOT stretch it to fill; without an explicit\n     width/height it falls back to its intrinsic size (the dpr-scaled pixel\n     buffer). width/height:100% forces the CSS box to match the window. */\n  width: 100%; height: 100%;\n  pointer-events: none;\n  /* Every ribbon piece carries its own Figma \"background blur\" (radius\n     5.48px, i.e. blur(2.74px)) baked into its raster; once drawImage()\n     copies that raster into a window's peek canvas nothing blurs the canvas\n     itself the way a glass panel should — so blur its rendered output. */\n  filter: blur(2.74px);\n}\n\n/* Independent parallax layers inside the fixed 1440x448 stage. Each wrapper\n   exactly overlays .rzpn-art's own box (inset:0 at the same size), so every\n   child's existing `position:absolute; left/top: Npx` still resolves against\n   the same artboard origin — only a translateY moves per layer. The ribbon\n   band (background) travels least; each floating Doc card is its own layer,\n   scaled by --rzpn-par-doc-N (bigger card, more travel); the ascii trail\n   sits between the two. --rzpn-par-* are all set by the scroll handler. */\n#page-rzpn .rzpn-art-strip,\n#page-rzpn .rzpn-art-ascii,\n#page-rzpn .rzpn-doc {\n  position: absolute;\n  inset: 0;\n  width: 1440px; height: 448px;\n}\n#page-rzpn .rzpn-art-strip { transform: translateY(var(--rzpn-par-strip, 0px)); }\n#page-rzpn .rzpn-art-ascii { transform: translateY(var(--rzpn-par-ascii, 0px)); }\n/* Per-card motion, three independent channels: scroll parallax + curs
2049or tilt\n   share `transform` (both JS-driven), the levitate drift animates the\n   standalone `translate` property, and the hover rotation uses standalone\n   `rotate` — so none of the three fight over one transform value. Durations,\n   delays and phases differ per card so the seven drift out of lockstep. */\n#page-rzpn .rzpn-doc-1 {\n  transform: translate(var(--rzpn-hover-x-1, 0px), calc(var(--rzpn-par-doc-1, 0px) + var(--rzpn-hover-y-1, 0px))); rotate: var(--rzpn-hover-r-1, 0deg); transition: transform .42s cubic-bezier(.22,1,.36,1), rotate .42s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.2s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.1s, 1000ms;\n}\n#page-rzpn .rzpn-doc-2 {\n  transform: translate(var(--rzpn-hover-x-2, 0px), calc(var(--rzpn-par-doc-2, 0px) + var(--rzpn-hover-y-2, 0px))); rotate: var(--rzpn-hover-r-2, 0deg); transition: transform .61s cubic-bezier(.22,1,.36,1), rotate .61s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 6.4s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -3.6s, 600ms;\n}\n#page-rzpn .rzpn-doc-3 {\n  transform: translate(var(--rzpn-hover-x-3, 0px), calc(var(--rzpn-par-doc-3, 0px) + var(--rzpn-hover-y-3, 0px))); rotate: var(--rzpn-hover-r-3, 0deg); transition: transform .34s cubic-bezier(.22,1,.36,1), rotate .34s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 8.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -0.4s, 300ms;\n}\n#page-rzpn .rzpn-doc-4 {\n  transform: translate(var(--rzpn-hover-x-4, 0px), calc(var(--rzpn-par-doc-4, 0px) + var(--rzpn-hover-y-4, 0px))); rotate: var(--rzpn-hover-r-4, 0deg); transition: transform .53s cubic-bezier(.22,1,.36,1), rotate .53s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 5.8s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -2.2s, 240ms;\n}\n#page-rzpn .rzpn-doc-5 {\n  transform: translate(var(--rzpn-hover-x-5, 0px), calc(var(--rzpn-par-doc-5, 0px) + var(--rzpn-hover-y-5, 0px))); rotate: var(--rzpn-hover-r-5, 0deg); transition: transform .39s cubic-bezier(.22,1,.36,1), rotate .39s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.9s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -4.5s, 800ms;\n}\n#page-rzpn .rzpn-doc-7 {\n  transform: translate(var(--rzpn-hover-x-7, 0px), calc(var(--rzpn-par-doc-7, 0px) + var(--rzpn-hover-y-7, 0px))); rotate: var(--rzpn-hover-r-7, 0deg); transition: transform .48s cubic-bezier(.22,1,.36,1), rotate .48s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate-sm 6.1s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -1.8s, 300ms;\n}\n/* The Doc 6 badge sits inside .rzpn-art-strip (it has to paint behind the top\n   ribbon strip for z-order), so it can't pick up a shared .rzpn-doc-N rule.\n   No scroll parallax — it isn't in the DOC_MAG footprint table — but it gets\n   the same cursor tilt as the other six (key '6' is otherwise unused). */\n#page-rzpn .rzpn-doc-6-badge {\n  transform: translate(var(--rzpn-hover-x-6, 0px), var(--rzpn-hover-y-6, 0px)); rotate: var(--rzpn-hover-r-6, 0deg); transition: transform .56s cubic-bezier(.22,1,.36,1), rotate .56s cubic-bezier(.22,1,.36,1); animation: rzpn-doc-levitate 7.7s ease-in-out infinite, rzpn-doc-appear 650ms cubic-bezier(.22,1,.36,1) both; animation-delay: -5.2s, 300ms;\n}\n@keyframes rzpn-doc-levitate {\n  0%, 100% { translate: 0 0; }\n  50% { translate: 0 -14px; }\n}\n@keyframes rzpn-doc-levitate-sm {\n  0%, 100% { translate: 0 0; }\n  50% { translate: 0 -9px; }\n}\n@keyframes rzpn-doc-appear {\n  from { opacity: 0; scale: 0.94; }\n  to { opacity: 1; scale: 1; }\n}\n@media (prefers-reduced-motion: reduce) {\n  #page-rzpn .rzpn-art-strip,\n  #page-rzpn .rzpn-art-ascii,\n  #page-rzpn .rzpn-doc,\n  #page-rzpn .rzpn-doc-6-badge { transform: none !important; animation: none !important; }\n}\n\n/* The flowing characters share the stage's artboard box, so they travel with\n   the ribbon and need no separate positioning. No z-index: the canvas sits\n   between the strips and the Doc panels in DOM order, so plain paint order\n   puts the trail over the bands and under the docs. */\n#page-rzpn .rzpn-flow {\n  position: absolute;\n  left: 0; top: 0;\n  width: 1440px; height: 448px;\n  pointer-events: none;\n}\n\n/* Everything after the hero scrolls over the fixed artwork, so each section is\n   a positioned, opaque surface. */\n#page-rzpn \u003e section:not(.rzpn-hero) {\n  position: relative; z-index: 1; background: #fff;\n}\n\n/* Halftone glyph field. One canvas per window, all drawing from a single\n   viewport-space grid (see the v41 glyph IIFE), so the pattern is continuous\n   across the hero, the AI cards and the Payments step rows. */\n#page-rzpn .rzpn-win-glyphs {\n  position: absolute;\n  inset: 0;\n  display: block;\n  width: 100%;\n  height: 100%;\n  pointer-events: none;\n}\n/* The new photo is light throughout — sky in the hero band, meadow in the\n   windows below — so a single dark ink over multiply works everywhere. The\n   previous photo needed light ink and screen in the hero, where it was dark. */\n#page-rzpn .rzpn-win-glyphs {\n  mix-blend-mode: normal;\n}\n/* Bright-is-dense makes the veiled windows busier than the hero, since they\n   crop the sunlit meadow and a strip of horizon — so they carry less. */\n/* Lower than the windows below: the hero carries the headline and the ask\n   bar, and the cloud band is the brightest ground on the page, so the same\n   dark ink lands much harder here. */\n/* One white ink everywhere now, so every window blends normally — white under\n   multiply is a no-op. */\n#page-rzpn .rzpn-win-glyphs { mix-blend-mode: normal; }\n#page-rzpn .rzpn-hero \u003e .rzpn-win-glyphs { opacity: .85; }\n#page-rzpn .rzpn-win--soft \u003e .rzpn-win-glyphs { opacity: .7; }\n\n#page-rzpn .rzpn-hero-inner {\n  max-width: var(--rzpn-max);\n  margin: 0 auto;
2049\n  padding: 0 var(--rzpn-pad);\n  height: 100%;\n  position: relative;\n}\n#page-rzpn .rzpn-hero-h1 {\n  position: absolute; top: 122px; left: var(--rzpn-pad);\n  margin: 0;\n  font-family: 'Inter Tight', var(--font-body);\n  font-weight: 200; font-size: 80px; line-height: 1.1;\n  /* Figma tracks the glyphs at -4.8px but loosens the word spaces to -1.76px;\n     word-spacing makes up the 3.04px difference rather than needing a span\n     around every gap. */\n  letter-spacing: -4.8px; word-spacing: 3.04px; color: #fff;\n}\n#page-rzpn .rzpn-ask {\n  position: absolute; top: 236px; left: var(--rzpn-pad);\n  display: flex; align-items: center; gap: 12px;\n  width: 636px; max-width: calc(100% - var(--rzpn-pad) * 2);\n  height: 72px; padding: 0 20px 0 24px;\n  border: 0; border-radius: 12px;\n  background: #fff;\n}\n#page-rzpn .rzpn-ask-spark { display: block; flex: none; }\n#page-rzpn .rzpn-ask-input {\n  flex: 1; min-width: 0; border: 0; background: none; outline: none;\n  font-family: var(--font-display);\n  font-size: 20px; letter-spacing: -0.4px; color: #2f404c;\n}\n/* background-clip: text cannot reach ::placeholder, so the real placeholder is\n   painted out and .rzpn-ask-ph draws the same string with a sheen sweeping\n   across it. The twin is inside .rzpn-ask-field so it lines up with the input\n   at every breakpoint without restating the bar's padding and gap. */\n#page-rzpn .rzpn-ask-field { position: relative; flex: 1; min-width: 0; display: flex; }\n#page-rzpn .rzpn-ask-input::placeholder { color: transparent; }\n#page-rzpn .rzpn-ask-ph {\n  position: absolute; inset: 0;\n  display: flex; align-items: center;\n  pointer-events: none;\n  white-space: nowrap; overflow: hidden;\n  font-family: var(--font-display);\n  font-size: 20px; letter-spacing: -0.4px;\n  opacity: 0.6;\n  /* Figma 1218:91805 — placeholder text is a static #2f404c at 60% opacity.\n     The sheen is a proper light highlight sweeping over a lighter base tone\n     (not a darker gray/black peak within the same hue — that read as a dark\n     smudge, not a shimmer): base a muted mid-blue-gray, peak a pale cyan\n     core (#B5EDEE) flanked by #5E9EF1 either side so the sweep reads as a\n     bright cyan-with-a-blue-glow highlight rather than one flat colour. */\n  background-image: linear-gradient(100deg, rgba(100,124,148,.55) 0%, rgba(100,124,148,.55) 35%, #5E9EF1 46%, #B5EDEE 50%, #5E9EF1 54%, rgba(100,124,148,.55) 65%, rgba(100,124,148,.55) 100%);\n  background-size: 200% 100%;\n  -webkit-background-clip: text; background-clip: text;\n  -webkit-text-fill-color: transparent; color: transparent;\n  /* 100% -\u003e 0% sweeps the highlight left to right; both ends of the gradient\n     are the base colour, so the wrap is seamless. */\n  animation: rzpn-ask-shimmer 2.8s linear infinite;\n}\n#page-rzpn .rzpn-ask-input:not(:placeholder-shown) ~ .rzpn-ask-ph { opacity: 0; }\n@keyframes rzpn-ask-shimmer {\n  from { background-position: 100% 0; }\n  to { background-position: 0% 0; }\n}\n@media (prefers-reduced-motion: reduce) {\n  #page-rzpn .rzpn-ask-ph { animation: none; }\n}\n#page-rzpn .rzpn-ask-go { flex: none; border: 0; background: none; padding: 0; cursor: pointer; line-height: 0; }\n#page-rzpn .rzpn-ask-go img,\n#page-rzpn .rzpn-ask-go svg { display: block; }\n\n/* ------------------------------------------------- AI prompt cards ------ */\n#page-rzpn .rzpn-ai { padding: 37px 0 0; background: #fff; }\n#page-rzpn .rzpn-ai-head { display: flex; align-items: center; gap: 12px; }\n\n#page-rzpn .rzpn-eyebrow {\n  margin: 0;\n  font-family: var(--font-display);\n  font-weight: 500; font-size: 24px; line-height: .9;\n  letter-spacing: -0.48px; color: #000; opacity: .8;\n}\n#page-rzpn .rzpn-ai-agents { display: inline-flex; align-items: center; }\n#page-rzpn .rzpn-ai-agent { width: 24px; height: 24px; display: grid; place-items: center; overflow: hidden; }\n#page-rzpn .rzpn-ai-agent img { display: block; width: 21.6px; height: 21.6px; object-fit: contain; }\n/* Cursor ships as a full lockup (mark + wordmark, 960x234). The mark is\n   cropped to its own file (201x229) rather than clipped in CSS, which was\n   slicing it mid-glyph. It is taller than it is wide, so height drives it. */\n#page-rzpn .rzpn-ai-agent--3 img {\n  width: auto;\n  height: 19.2px;\n}\n\n#page-rzpn .rzpn-ai-cards {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  align-items: start;\n  gap: 24px;\n  margin-top: 29px;\n}\n/* No card chrome in this version: the rounded media block sits directly on\n   the page with the title and CTA beneath it, so there is no plate, border,\n   shadow or fixed card ratio — the media carries its own ratio instead. */\n#page-rzpn .rzpn-pcard {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n}\n#page-rzpn .rzpn-pcard-media {\n  position: relative;\n  aspect-ratio: 242 / 182;\n  border-radius: 12px;\n  overflow: hidden;\n}\n#page-rzpn .rzpn-pcard-body {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  padding: 0;\n}\n/* Figma 824:8477. Carries more of the gradient than the step rows do:\n   rgba(...,.5) -\u003e rgba(...,.2) against their .4 -\u003e .08. */\n#page-rzpn .rzpn-pcard-tint {\n  background: linear-gradient(205.78deg, rgba(132,175,250,.5) 25.575%, rgba(159,255,159,.2) 97.045%);\n  border-radius: inherit;\n}\n/* Real artwork now (Figma 936:9032 — one 242x182 frame per card), replacing\n   the white pane wireframes. Each export carries its own internal margins, so\n   it fills the well edge-to-edge rather than sitting inside a 16px inset. */\n#page-rzpn .rzpn-pcard-shot {\n  position: absolute;\n  inset: 0;\n}\n#page-rzpn .rzpn-pcard-shot img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  transition: transform .35s cubic-bezier(.22,.61,.36,1);\n}\n#page-rzpn .rzpn-pcard:hover .rzpn-pcard-shot img { transform: scale(1.03); }\n@media (prefers-reduced-motion: reduce) {\n  #page-rzpn .rzpn-pcard-shot img { transition: none; }\n}\n/* Figma 889:14565: TASA Orbiter Display Medium 16/20, -0.32px, #000828.\n   Was Inter Regular 16/24 — a different family, weight and leading. The 4px\n   left inset is the artboard's (title x=68 against the card's x=64). */\n#page-rzpn .rzpn-pcard-title {\n  margin: 16px 0 0 4px;\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 20px;\n  letter-spacing: -0.32px;\n  color: #000828;\n}\n/* Figma 889:14568 — the Link component: Inter Medium in #0e54cc with a 4px\n   gap and a 12px icon. 14px is the page's link size — .rzpn-agents-link and\n   the section leads already sit here, so these come up to match rather than\n   reading as fine print under 16/18px card titles. */\n#page-rzpn .rzpn-pcard-pill {\n  margin: 12px 0 0 4px;\n  align-self: flex-start;\n  display: inline-flex; align-items: center; gap: 4px;\n  padding: 0; border: 0; background: none; cursor: pointer;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 14px; line-height: 20px;\n  letter-spacing: -0.182px; color: #0e54cc;\n}\n/* Masked so the glyph takes the link colour, rather than shipping a second\n   blue copy of the same file. */\n#page-rzpn .rzpn-copy-ico {\n  width: 12px; height: 12px; flex: none;\n  background: currentColor;\n  -webkit-mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat;\n  mask: url('/static/docs-home/assets/copy.svg') center / contain no-repeat;\n}\n#page-rzpn .rzpn-pcard-pill:hover { color: #0a3f9c; }\n#page-rzpn .rzpn-pcard-pill.is-copied { color: #128f5c; }\n\n/* ------------------------------------- developer tools + credentials ---- */\n/* Figma Vector 5045 at y=751 — 48px under the CTA baseline (y=703), with the\n   Developer tools block at y=803. */\n#page-rzpn hr.rzpn-ai-rule { margin-top: 48px; }
2049\n/* Pill cards hug their content rather than sharing the row equally, so the\n   row is left-packed and runs out before the gutter — that ragged right edge\n   is the design, not a bug. */\n#page-rzpn .rzpn-devrow { margin-top: 52px; }\n/* Label sits inline with the pills, not stacked above them — matches the\n   \"Integrate Razorpay using AI\" row's own head+content layout above it. */\n#page-rzpn .rzpn-devtools {\n  display: flex; align-items: center; flex-wrap: wrap; gap: 24px;\n}\n#page-rzpn .rzpn-devcards {\n  display: flex; flex-wrap: wrap; align-items: flex-start;\n  gap: 20px;\n}\n#page-rzpn .rzpn-devcard {\n  flex: none;\n  display: inline-flex; align-items: center; gap: 8px;\n  padding: 12px 24px 12px 20px;\n  border-radius: 58px;\n  background: #ddefff;\n  transition: background-color .18s var(--ease);\n}\n#page-rzpn .rzpn-devcard:hover { background: #c8e3ff; }\n/* Same sprite the cards draw from — see .rzpn-dot-ico for why fill/stroke sit\n   on the \u003csvg\u003e host rather than the \u003csymbol\u003e. */\n#page-rzpn .rzpn-devcard-ico {\n  width: 20px; height: 20px; flex: none;\n  color: #000828;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 1.7;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n#page-rzpn .rzpn-devcard .rzpn-u {\n  font-family: var(--font-display);\n  font-weight: 500; font-size: 16px; line-height: 24px;\n  letter-spacing: -0.32px; color: #000828;\n  white-space: nowrap;\n}\n\n#page-rzpn .rzpn-creds-row { display: flex; gap: 24px; margin-top: 20px; }\n#page-rzpn .rzpn-cred {\n  position: relative; flex: 1 1 0; min-width: 0;\n  height: 108px; padding: 15.5px;\n  border: .5px solid #e4e4e4; border-radius: 12px;\n  background: #fff;\n  box-shadow: 0 2px 4px rgba(80,168,212,.08);\n  overflow: hidden;\n  display: flex; flex-direction: column; justify-content: space-between;\n}\n/* The dotted texture bleeding out of the card's top-right corner. */\n#page-rzpn .rzpn-cred::after {\n  content: ''; position: absolute;\n  top: -35.5px; left: 50%; margin-left: -61px;\n  width: 231px; height: 157px;\n  background: url('/static/docs-home/assets/cred-noise.png') center / cover no-repeat;\n  mix-blend-mode: hard-light;\n  pointer-events: none;\n}\n#page-rzpn .rzpn-cred-label {\n  position: relative; z-index: 1;\n  font-family: var(--font-display);\n  font-weight: 500; font-size: 14px; color: #292f32;\n}\n#page-rzpn .rzpn-cred-key {\n  position: relative; z-index: 1;\n  align-self: flex-start;\n  display: inline-flex; align-items: center; gap: 12px;\n  border: 0; background: none; padding: 0; cursor: pointer;\n}\n#page-rzpn .rzpn-cred-key code {\n  font-family: var(--font-mono); font-size: 13px; line-height: 17px; color: #1566f1;\n}\n#page-rzpn .rzpn-cred-key img { display: block; opacity: .55; }\n#page-rzpn .rzpn-cred-key:hover img { opacity: 1; }\n\n#page-rzpn .rzpn-link {\n  display: inline-flex; align-items: center; gap: 4px;\n  position: relative; z-index: 1;\n  font-family: var(--font-body);\n  /* 14px is the page's link size — the prompt-card pills sit here too. */\n  font-weight: 500; font-size: 14px; line-height: 20px;\n  letter-spacing: -0.182px; color: #0e54cc; text-decoration: none;\n}\n#page-rzpn .rzpn-link img { display: block; }\n#page-rzpn .rzpn-link:hover { text-decoration: underline; }\n\n/* ------------------------------------------------ section scaffolding --- */\n#page-rzpn .rzpn-section { background: #fff; }\n/* The artboard draws these at full black; at 1px across a 1312px span that\n   reads as a hard edge and competes with the headings, so they sit back. */\n#page-rzpn .rzpn-rule { height: 0; margin: 0; border: 0; border-top: 1px solid rgba(5,5,5,.14); }\n#page-rzpn .rzpn-block {\n  display: flex; align-items: flex-end; justify-content: space-between; gap: 40px;\n  margin-top: 32px;\n}\n#page-rzpn .rzpn-h2 {\n  margin: 0;\n  font-family: var(--font-display);\n  font-weight: 400; font-size: 64px; line-height: 1.15;\n  letter-spacing: -3.2px; color: #050505;\n}\n#page-rzpn .rzpn-block-aside {\n  display: flex; flex-direction: column; align-items: flex-end; gap: 8px;\n  width: 404px; flex: none;\n}\n#page-rzpn .rzpn-block-aside p {\n  margin: 0; text-align: right;\n  font-family: var(--font-body);\n  font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563;\n}\n\n/* ------------------------------------------------------ payment steps --- */\n#page-rzpn .rzpn-steps-lead {\n  margin: 36px 0 0;\n  font-family: var(--font-body);\n  font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #616d75;\n}\n#page-rzpn .rzpn-steps { display: flex; flex-direction: column; gap: 32px; margin-top: 15px; }\n#page-rzpn .rzpn-step {\n  position: relative;\n  isolation: isolate;\n  border-radius: 12px;\n  padding: 24px 24px 24px 22px;\n  display: grid;\n  grid-template-columns: 288px 1fr;\n  gap: 24px;\n  overflow: hidden;\n}\n/* Figma's Rectangle 1891601137 gradient, laid over the photo. */\n/* Figma's gradient fills on these windows carry a Noise fill on top — the\n   exported rects measure a residual std of ~4.4 (cards) and ~3.2 (POS) after\n   blurring, i.e. real per-pixel grain, near-monochrome (channel correlation\n   0.93). Generated as a fixed-seed PNG rather than feTurbulence: that filter\n   randomises the ALPHA channel as well as RGB, so its composited amplitude is\n   not predictable, and a measured tile can be matched to Figma exactly.\n   Tile is mean 128 / std 48; `overlay` is neutral at 128 so the grain adds no\n   tonal shift, and 0.24 opacity lands the result at ~4.4 on a card. */\n#page-rzpn .rzpn-win-tint {\n  position: absolute;\n  inset: 0;\n  pointer-events: none;\n}
2049\n#page-rzpn .rzpn-win-tint::after {\n  content: '';\n  position: absolute;\n  inset: 0;\n  background-image: url('/static/docs-home/assets/grain.png');\n  background-repeat: repeat;\n  background-size: 256px 256px;\n  mix-blend-mode: overlay;\n  opacity: .24;\n  border-radius: inherit;\n}\n\n#page-rzpn .rzpn-step-tint {\n  background: linear-gradient(183.64deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%);\n}\n#page-rzpn .rzpn-step-label {\n  position: relative;\n  display: flex; flex-direction: column;\n  font-family: var(--font-display);\n  color: #9e9e9e;\n  /* Blends against the row, so one grey reads on both the photo and the tint. */\n  mix-blend-mode: difference;\n}\n/* Difference blend is what makes the label read against both the photo and\n   the gradient without a second colour token. */\n#page-rzpn .rzpn-step-num { font-size: 20px; line-height: 23px; letter-spacing: -1px; }\n#page-rzpn .rzpn-step-name { font-size: 48px; line-height: 56px; letter-spacing: -2.4px; }\n\n#page-rzpn .rzpn-step-cards { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n\n/* ------------------------------------------------------- generic card --- */\n#page-rzpn .rzpn-card {\n  display: flex; flex-direction: column; gap: 8px;\n  padding: 20px;\n  border: .5px solid #e4e4e4; border-radius: 12px;\n  background: #fff;\n  box-shadow: 0 2px 4px rgba(80,168,212,.08);\n}\n/* Figma 889:14389 groups the title and body into one stack that sits 12px\n   below the dot. Rather than wrapping the copy in every card, the card keeps\n   the title-to-body gap and the dot carries the remaining 4px. */\n#page-rzpn .rzpn-card .rzpn-dot { margin-bottom: 4px; }\n#page-rzpn .rzpn-card h3 {\n  margin: 0;\n  font-family: var(--font-display);\n  font-weight: 500; font-size: 18px; line-height: 24px;\n  letter-spacing: -0.18px; color: #292f32;\n}\n#page-rzpn .rzpn-card p {\n  margin: 0;\n  font-family: var(--font-body);\n  font-weight: 400; font-size: 14px; line-height: 20px;\n  letter-spacing: -0.182px; color: #616d75;\n}\n#page-rzpn .rzpn-dot { width: 40px; height: 40px; border-radius: 50%; background: #ddefff; flex: none; }\n\n/* ------------------------------------------------------------ POS ------- */\n#page-rzpn .rzpn-pos {\n  position: relative;\n  min-height: 474px;\n  padding: 26px 0 0;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  align-items: start;\n}\n#page-rzpn .rzpn-pos-copy { position: relative; z-index: 2; }\n#page-rzpn .rzpn-pos-sub {\n  margin: 8px 0 0;\n  font-family: var(--font-display);\n  font-weight: 400; font-size: 28px; line-height: 34px;\n  letter-spacing: -0.56px; color: #9aa3a9;\n}\n/* Bottom-aligns the aside with the mask's own bottom edge, on request,\n   rather than centring it in the row. Percentage padding-top resolves\n   against the containing block's WIDTH (the classic aspect-ratio padding\n   hack) — so with height:0 this anchor's border-box bottom lands exactly\n   at .rzpn-pos-window's bottom (top:70px + width-relative height, 45.96% *\n   258/603 = 19.665%) at any viewport width, no JS needed. .rzpn-pos-aside is\n   then an absolutely-positioned child of it, anchored to that edge. */\n#page-rzpn .rzpn-pos-aside-anchor {\n  position: absolute;\n  left: 0; top: 0;\n  width: 100%; height: 0;\n  padding-top: calc(70px + 19.665%);\n  pointer-events: none;\n}\n#page-rzpn .rzpn-pos-aside {\n  position: absolute; z-index: 2;\n  bottom: 0; right: 0;\n  pointer-events: auto;\n  display: flex; flex-direction: column; gap: 12px;\n  width: 266px;\n}\n#page-rzpn .rzpn-pos-aside p {\n  margin: 0;\n  font-family: var(--font-body);\n  font-size: 14px; line-height: 20px; letter-spacing: -0.182px; color: #4b5563;\n}\n#page-rzpn .rzpn-pos-art {\n  position: absolute; inset: 0;\n  pointer-events: none;\n  z-index: 1;\n}\n/* POS artwork (Figma 827:8785 + 827:8780). Coordinates are the artboard's,\n   expressed as percentages of the 1312 content width so they hold as it\n   scales: the v42 window is a wide landscape band (603x258) rather than the\n   old portrait card; device at x=362 y=2139 (668x624), both measured from\n   the section's top rule at y=2182. */\n#page-rzpn .rzpn-pos-window {\n  position: absolute;\n  left: 26.98%;\n  top: 70px;\n  width: 45.96%;\n  aspect-ratio: 603 / 258;\n  border-radius: 12px;\n  overflow: hidden;\n}\n#page-rzpn .rzpn-pos-tint {\n  background: linear-gradient(189.75deg, rgba(132,175,250,.4) 25.575%, rgba(159,255,159,.08) 97.045%);\n}\n#page-rzpn .rzpn-pos-device {\n  position: absolute;\n  left: 22.75%;\n  /* The node sits at y=-43, but its PNG carries transparent padding (opaque\n     from 13.5% to 87.2% of its height), which puts the visible device at\n     41..501 and crosses the section's bottom rule at 474. Raised so the\n     device reads inside the section, as it does in the reference frame. */\n  top: -78px;\n  width: 50.95%;\n  height: auto;\n  display: block;\n}\n\n/* ----------------------------------------------------- card grids ------- */\n/* Section gaps are the artboard's: dev-tools block ends 953 -\u003e rule 1125,\n   steps end 1990 -\u003e rule 2182, rule 2656 -\u003e Banking 2746, banking cards end\n   3212 -\u003e rule 3408, rule -\u003e Partners 3452, partner cards end 3758 -\u003e dark 3856.\n   payments' own top gap (artboard 172px) is overridden to 52px on request, to\n   match .rzpn-devrow's own margin-top above the dev-tools heading — the two\n   gaps around that block now read as even. */\n#page-rzpn .rzpn-section--payments { padding-top: 52px; }\n/* Doubled the base .rzpn-block margin-top (32px), then +16px more on request,\n   for this section's own rule -\u003e \"Payments\" heading gap only. */\n#page-rzpn .rzpn-section--payments .rzpn-block { margin-top: 80px; }\n#page-rzpn .rzpn-section--pos { padding-top: 192px; }\n/* Banking's padding-bottom is new: with none, the last row's :hover\n   box-shadow had to render in the gap-before-the-rule space, which actually\n   belongs to .rzpn-section--partners (its own padding-top) — a later\n   sibling's opaque #fff background paints over anything sitting there,\n   clipping the shadow with a hard edge. Moving 32px of that gap from\n   Partners' padding-top to Banking's own padding-bottom keeps the rule's\n   position and the total gap identical, but now the first 32px belongs to\n   Banking's own box, painted before Partners, so the shadow has room to\n   render unclipped. Partners' padding-bottom (the artboard's 98px cards -\u003e\n   dark-band gap) moves into its own box for the same reason — the agents\n   band no longer carries a margin-top. */\n#page-rzpn .rzpn-section--banking { padding-top: 90px; padding-bottom: 32px; }\n#page-rzpn .rzpn-section--partners { padding-top: 164px; padding-bottom: 98px; }\n#page-rzpn .rzpn-section--banking .rzpn-block { margin-top: 0; }\n#page-rzpn .rzpn-section--partners .rzpn-block { margin-top: 43px; }\n#page-rzpn .rzpn-grid {\n  position: relative;\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 24px;\n  margin-top: 48px;\n}\n#page-rzpn .rzpn-grid--green .rzpn-dot { background: #e6faf2; }\n#page-rzpn .rzpn-grid--peach .rzpn-dot { background: #faf2e5; }\n\n/* --------------------------------------------------- build with agents --\n   Figma 955:21750. The band is 1440x423 on the artboard and every piece is\n   placed against that box — the terminal has to sit at a fixed offset inside\n   the punched photo window, which no flow layout reproduces — so the stage\n   positions its parts absolutely. The band is taller than the 423px artboard,\n   so every offset carries --rzpn-agents-lift, which recentres the composition\n   without disturbing the artboard spacing between its pieces. The window is\n   the tallest piece (256px, artboard y 89) and so is what gets centred — the\n   artboard itself was 11px off centre. Below 1180px the band unwinds into a\n   stack and the window re-anchors to the terminal. */\n#page-rzpn section.rzpn-agents {\n  --rzpn-agents-tall: 480px;\n  --rzpn-agents-lift: calc((var(--rzpn-agents-tall) - 434px) / 2);\n  /* Same specificity as the `section:not(.rzpn-hero)` catch-all above (which\n     also sets background), so cascade order — this rule comes later — is\n     what makes the dark background win instead of white. */\n  background: #022929;\n  /* No margin-top: Figma's own frame (955:21750) already puts the heading\n     139px below the frame's top edge, and the 98px gap above the band now\n     lives in Partners' own padding-bottom — carrying both doubled the gap.\n     The dark background itself still needs to be an opaque box (not a\n     margin) so the fixed ribbon artwork (.rzpn-art, z
2049-index:0) can't show\n     through between this section and the one above it. */\n}\n#page-rzpn .rzpn-agents-stage {\n  position: relative;\n  max-width: var(--rzpn-max);\n  height: var(--rzpn-agents-tall);\n  margin: 0 auto;\n  padding: 0 var(--rzpn-pad);\n}\n#page-rzpn .rzpn-agents-h {\n  position: absolute; left: var(--rzpn-pad); top: calc(139px + var(--rzpn-agents-lift));\n  margin: 0; width: 292px;\n  font-family: var(--font-display);\n  font-weight: 400; font-size: 64px; line-height: 1.156;\n  letter-spacing: -2.56px; color: #fff;\n}\n\n/* Desktop: static, so the window and terminal inside resolve against the\n   stage and keep their artboard coordinates. */\n#page-rzpn .rzpn-agents-panel { position: static; }\n\n#page-rzpn .rzpn-agents-term {\n  position: absolute; top: calc(121px + var(--rzpn-agents-lift)); left: 50%;\n  width: 521px; margin-left: -258px;\n  border: 1px solid rgba(121,135,156,.18);\n  border-radius: 12px;\n  background: #0c3131;\n  overflow: hidden;\n}\n#page-rzpn .rzpn-agents-term-head {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 13px 16px;\n  border-bottom: 1px solid rgba(121,135,156,.18);\n  background: rgba(255,255,255,.04);\n}\n#page-rzpn .rzpn-agents-term-head span {\n  font-family: var(--font-mono);\n  font-size: 11px; line-height: 14px; color: #fff; opacity: .8;\n}\n#page-rzpn .rzpn-agents-term-body { position: relative; padding: 16px; }\n/* The blurred blob is exported with its blur padding baked in, so it is\n   larger than its Figma box (338.97x264 at 91,18) by the blur radius. */\n#page-rzpn .rzpn-agents-glow {\n  position: absolute; left: 50%; top: -102px;\n  width: 578.97px; height: 504px;\n  transform: translateX(-50%);\n  pointer-events: none;\n}\n#page-rzpn .rzpn-agents-row {\n  position: relative;\n  display: flex; align-items: center; gap: 20px;\n  padding-left: 8px;\n}\n#page-rzpn .rzpn-agents-cmdwrap {\n  display: flex; align-items: center; gap: 16px;\n  flex: 1; min-width: 0;\n}\n#page-rzpn .rzpn-agents-key {\n  width: 36px; flex: none;\n  font-family: var(--font-display);\n  font-weight: 500; font-size: 14px; line-height: 16px; color: #fff;\n}\n#page-rzpn .rzpn-agents-cmd {\n  flex: 1; min-width: 0;\n  font-family: var(--font-mono);\n  font-size: 12px; line-height: 18px; color: #c6f076;\n  overflow-wrap: anywhere;\n  /* Mintlify styles inline \u003ccode\u003e as a grey pill (2px 8px padding, light\n     background, 6px radius) on every page; the handoff has no such rule.\n     The padding alone re-wraps the CLI command to a third line. */\n  padding: 0;\n  background: none;\n  border-radius: 0;\n}\n#page-rzpn .rzpn-agents-copy {\n  display: inline-flex; align-items: center; gap: 4px; flex: none;\n  height: 36px; padding: 0 16px 0 12px;\n  border: 1px solid rgba(229,231,235,.1); border-radius: 8px;\n  background: #fff; cursor: pointer;\n  font-family: var(--font-display);\n  font-weight: 600; font-size: 14px; line-height: 16px; color: #000;\n}\n#page-rzpn .rzpn-agents-copy:hover { background: #eef1f4; }\n#page-rzpn .rzpn-agents-copy img { display: block; }\n#page-rzpn .rzpn-agents-line {\n  height: 0; margin: 19.5px 0;\n  border: 0; border-top: 1px solid rgba(255,255,255,.1);\n}\n\n#page-rzpn .rzpn-agents-aside {\n  position: absolute; right: var(--rzpn-pad); top: calc(149px + var(--rzpn-agents-lift));\n  width: 174px;\n  display: flex; flex-direction: column; align-items: flex-start; gap: 32px;\n}\n#page-rzpn .rzpn-agents-aside-item {\n  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;\n}\n#page-rzpn .rzpn-agents-aside p {\n  margin: 0;\n  font-family: var(--font-body);\n  font-size: 14px; line-height: 20px; letter-spacing: -0.182px;\n  color: #fff; text-align: left;\n}\n#page-rzpn .rzpn-agents-link {\n  display: inline-flex; align-items: center; gap: 4px;\n  font-family: var(--font-body);\n  font-weight: 500; font-size: 14px; line-height: 20px; letter-spacing: -0.182px;\n  color: #75a9ff; text-decoration: none;\n}\n#page-rzpn .rzpn-agents-link:hover { text-decoration: underline; }\n/* Masked rather than \u003cimg\u003e so the shared icons can carry the Blade link\n   colour (interactive.text.primary.normal) on this dark surface. */\n#page-rzpn .rzpn-agents-ico {\n  width: 16px; height: 16px; flex: none;\n  background: #75a9ff;\n  -webkit-mask: center / contain no-repeat;\n  mask: center / contain no-repeat;\n}\n#page-rzpn .rzpn-agents-ico--arrow {\n  -webkit-mask-image: url('/static/docs-home/assets/link-arrow.svg');\n  mask-image: url('/static/docs-home/assets/link-arrow.svg');\n}\n#page-rzpn .rzpn-agents-ico--doc {\n  -webkit-mask-image: url('/static/docs-home/assets/file-code.svg');\n  mask-image: url('/static/docs-home/assets/file-code.svg');\n}\n\n/* Below the artboard width the aside would collide with the terminal, so the\n   band unwinds into a stack. The window re-anchors to the terminal itself and\n   keeps the same 32px reveal above / 39px below that the punch-out gives. */\n#rzpn-home.rzpn-lte-1180 {\n  #page-rzpn .rzpn-agents-stage {\n    height: auto;\n    display: flex; flex-direction: column; align-items: center; gap: 40px;\n    padding-top: 72px; padding-bottom: 72px;\n  }\n  #page-rzpn .rzpn-agents-h,\n  #page-rzpn .rzpn-agents-aside { position: static; width: 100%; max-width: 521px; }\n  #page-rzpn .rzpn-agents-h { font-size: 48px; letter-spacing: -1.92px; }\n  #page-rzpn .rzpn-agents-panel { position: relative; width: 100%; max-width: 521px; }\n  #page-rzpn .rzpn-agents-term { position: relative; top: auto; left: auto; width: 100%; margin-left: 0; }\n  #page-rzpn .rzpn-agents-aside {\n    flex-direction: row; flex-wrap: wrap; align-items: flex-start;\n    justify-content: space-between; gap: 32px;\n  }\n}\n#rzpn-home.rzpn-lte-620 {\n  #page-rzpn .rzpn-agents-h { font-size: 40px; letter-spacing: -1.6px; }\n  /* The row turns into a stacked block — label over command — with the copy\n     control reduced to a square icon button held at the right, centred against\n     the whole block. Side by side the label ate a third of the width and the\n     command wrapped to four lines; the button's label went with it. */\n  #page-rzpn .rzpn-agents-row { flex-wrap: nowrap; padding-left: 0; gap: 16px; align-items: center; }\n  #page-rzpn .rzpn-agents-cmdwrap {\n    flex-direction: column; align-items: flex-start; gap: 6px;\n    flex: 1; min-width: 0;\n  }\n  #page-rzpn .rzpn-agents-key { width: auto; line-height: 18px; }\n  #page-rzpn .rzpn-agents-copy {\n    width: 44px; height: 44px; flex: none;\n    padding: 0; justify-content: center;\n    border-radius: 12px;\n  }\n  /* Icon only. The label is what the copy script flips to \"Copied\", so the\n     button tints instead — otherwise the tap has no feedback at all. */\n  #page-rzpn .rzpn-agents-copy [data-rzpn-copy-label] { display: none; }\n  #page-rzpn .rzpn-agents-copy.is-copied { background: #c6f076; }\n}\n\n/* ---------------------------------------------------------- responsive -- */\n#rzpn-home.rzpn-lte-1280 {\n  #page-rzpn { --rzpn-pa
2049d: 40px; }\n  #page-rzpn .rzpn-nav-meta { display: none; }\n  #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(3, 1fr); }\n  #page-rzpn .rzpn-devrow { padding-bottom: 96px; }\n  #page-rzpn .rzpn-devcards { gap: 16px; }\n}\n#rzpn-home.rzpn-lte-1129 {\n  #page-rzpn .rzpn-nav-links a.rzpn-nav-overflow { display: none; }\n  #page-rzpn .rzpn-nav-more { display: flex; }\n}\n#rzpn-home.rzpn-lte-900 {\n  #page-rzpn { --rzpn-pad: 20px; overflow-x: hidden; }\n  /* The section rhythm is the 1440 artboard's — 171/192/196px of air above\n     each rule. At phone widths that reads as the page having ended. Scaled\n     down together so the spacing stays even between sections. */\n  #page-rzpn .rzpn-devrow { padding-bottom: 48px; }\n  /* Inline label+pills only reads at desktop widths — a 6-pill row next to a\n     24px heading has nowhere to go on a phone, so this drops back to the\n     stacked layout (label above, pills below). */\n  #page-rzpn .rzpn-devtools {\n    flex-direction: column; align-items: flex-start; gap: 16px;\n  }\n  #page-rzpn .rzpn-section--payments { padding-top: 64px; }\n  #page-rzpn .rzpn-section--pos { padding-top: 64px; }\n  #page-rzpn .rzpn-section--banking { padding-top: 48px; }\n  #page-rzpn .rzpn-section--partners { padding-top: 64px; padding-bottom: 64px; }\n  #page-rzpn .rzpn-agents { margin-top: 0; }\n  /* The nav is a single non-wrapping row at desktop widths; below that it\n     collapses to logo + search + assistant + burger so it can't force a\n     sideways scroll (which would also drag the photo layer out of register).\n     Everything it drops moves into the burger's panel. */\n  #page-rzpn .rzpn-nav { gap: 12px; padding: 0 12px; }\n  #page-rzpn .rzpn-nav-links,\n  #page-rzpn .rzpn-nav-icobtn,\n  #page-rzpn .rzpn-nav-meta { display: none; }\n  #page-rzpn .rzpn-nav-prefs { gap: 8px; }\n  #page-rzpn .rzpn-nav-assistant { padding: 8px 10px; font-size: 13px; }\n  #page-rzpn .rzpn-nav-burger {\n    display: inline-flex; align-items: center; justify-content: center;\n    width: 36px; height: 36px; padding: 0;\n    border: 1px solid #c8cdd0; border-radius: 8px;\n    background: #fff; color: #616d75; cursor: pointer;\n  }\n  #page-rzpn .rzpn-nav-burger:hover { border-color: #9aa3a9; }\n  /* Drop the fixed ratio so the title and pill are never clipped. */\n  #page-rzpn .rzpn-pcard { aspect-ratio: auto; }\n  #page-rzpn .rzpn-pcard-media { aspect-ratio: 242 / 182; }\n  #page-rzpn .rzpn-hero { height: 320px; }\n  #page-rzpn .rzpn-hero-h1 { font-size: 48px; top: 108px; }\n  #page-rzpn .rzpn-ask { top: 200px; height: 60px; }\n  #page-rzpn .rzpn-h2 { font-size: 40px; letter-spacing: -2px; }\n  /* 01/Build and friends are a step label, not a section heading — at desktop\n     the 48px reads as a caption beside 64px headings, but once .rzpn-h2 comes\n     down to 40px it outranks them. */\n  #page-rzpn .rzpn-step-num { font-size: 14px; line-height: 18px; letter-spacing: -0.7px; }\n  #page-rzpn .rzpn-step-name { font-size: 28px; line-height: 34px; letter-spacing: -1.4px; }\n  #page-rzpn .rzpn-block { flex-direction: column; align-items: flex-start; gap: 16px; }\n  #page-rzpn .rzpn-block-aside { width: 100%; align-items: flex-start; }\n  #page-rzpn .rzpn-block-aside p { text-align: left; }\n  #page-rzpn .rzpn-ai-cards { grid-template-columns: repeat(2, 1fr); }\n  #page-rzpn .rzpn-step { grid-template-columns: 1fr; }\n  #page-rzpn .rzpn-step-cards { grid-template-columns: 1fr; }\n  #page-rzpn .rzpn-grid { grid-template-columns: repeat(2, 1fr); }\n  /* padding-bottom added: stacked, .rzpn-pos-aside (the \"Know more\" link) is\n     the last thing in this grid and had nothing after it but its own\n     content — the closing \u003chr\u003e sat flush against the link's own bottom\n     edge (0px gap). 48px matches the gap the AI cards use before their own\n     divider above. */\n  #page-rzpn .rzpn-pos { grid-template-columns: 1fr; min-height: 0; padding-bottom: 48px; }\n  /* The artwork is absolutely placed against a two-column section that no\n     longer exists here, so it becomes a block of its own between the copy and\n     the aside. It breaks out of the page gutter to sit 24px from each screen\n     edge, and everything inside is a percentage of that box rather than a\n     fixed px size — so the device fills the width at any phone, and the window\n     and the offsets keep their artboard ratios (367:668 wide, 117px apart)\n     while they scale. */\n  #page-rzpn .rzpn-pos-art {\n    position: relative; inset: auto;\n    display: block;\n    height: auto;\n    aspect-ratio: 327 / 262;
2049\n    margin: 28px calc(24px - var(--rzpn-pad)) 0;\n  }\n  #page-rzpn .rzpn-pos-window {\n    left: 50%; margin-left: 0; transform: translateX(-50%);\n    top: 15.27%;                       /* 40 / 262 */\n    width: 55.05%;                     /* 367 / 668 */\n  }\n  /* The device sits 11px left of the window's centre on the artboard — 3.35%\n     of its own width, which survives the scaling. */\n  #page-rzpn .rzpn-pos-device {\n    left: 50%; margin-left: 0;\n    transform: translateX(-53.35%);\n    top: -6.49%;                       /* -17 / 262 */\n    width: 100%;\n  }\n  #page-rzpn .rzpn-pos-aside-anchor { position: static; height: auto; padding-top: 0; }\n  #page-rzpn .rzpn-pos-aside { position: static; justify-self: start; margin-top: 32px; width: 100%; }\n}\n\n/* ------------------------------------------------------------ mweb ------ */\n#rzpn-home.rzpn-lte-600 {\n  #page-rzpn .rzpn-grid { grid-template-columns: 1fr; gap: 16px; }\n  #page-rzpn .rzpn-creds-row { flex-direction: column; gap: 16px; }\n  #page-rzpn .rzpn-cred { height: auto; min-height: 96px; gap: 20px; }\n\n  /* Developer tools divider spacing: the gap above the top divider (AI cards\n     -\u003e divider, 48px) didn't match the gap below it (divider -\u003e \"Developer\n     tools\" heading, 52px from .rzpn-devrow's own margin-top) — brought down\n     to 48 to match. The gap below the cards (before the Payments divider) was\n     112px — .rzpn-devrow's own 48px padding-bottom PLUS the payments\n     section's 64px padding-top stacking. Zeroing the latter for specifically\n     this pair of sections leaves devrow's own 48px as the only source, so all\n     three gaps read as the same 48px. */\n  #page-rzpn .rzpn-devrow { margin-top: 48px; }\n  #page-rzpn .rzpn-ai + .rzpn-section--payments { padding-top: 0; }\n\n  /* The POS window (the rounded highlight behind the device) was 55.05% of\n     its already-inset .rzpn-pos-art box, reading as a small cutout adrift in\n     the middle of the card rather than a band that fills the same\n     horizontal space as the rest of the page's content. Full width of its\n     container instead, edge to edge with the page's own gutter. */\n  #page-rzpn .rzpn-pos-window {\n    left: 0; margin-left: 0; transform: none;\n    width: 100%;\n  }\n\n  /* Stacked, a card is wide enough to read as a row, so it takes the\n     affordance a row carries: a chevron in the top-right corner. Drawn as a\n     mask over the shared chevron asset so it inherits the card's ink. */\n  #page-rzpn .rzpn-grid .rzpn-card { position: relative; padding-right: 44px; }\n  #page-rzpn .rzpn-grid .rzpn-card::after {\n    content: '';\n    position: absolute; top: 29px; right: 20px;\n    /* The asset is preserveAspectRatio=\"none\", so the box has to carry the\n       glyph's own 5.92:10.36 ratio or the chevron stretches. */\n    width: 8px; height: 14px;\n    background: #9aa3a9;\n    -webkit-mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat;\n    mask: url('/static/docs-home/assets/chevron-right.svg') center / 8px 14px no-repeat;\n  }\n\n  /* The ribbon artwork is one fixed 1440x448 stage, scaled as a single group\n     via transform rather than resizing each piece — transform-origin: top\n     center (set unconditionally in the base rule) keeps the composition\n     anchored, just 40% smaller as a whole. margin-left is nudged +24px (from\n     the desktop -688px) to shift the scaled composition 24px right. */\n  #page-rzpn .rzpn-art { transform: scale(0.6); margin-left: -664px; }\n\n  /* The ask bar was sized for a 636px field; at phone widths the placeholder\n     ran past the arrow, so type, icons and the box all come down together. */\n  #page-rzpn .rzpn-hero { height: 300px; }\n  #page-rzpn .rzpn-hero-h1 { font-size: 40px; top: 100px; }\n  #page-rzpn .rzpn-ask {\n    top: 176px;\n    height: 52px;\n    gap: 8px;\n    padding: 0 12px 0 14px;\n    border-radius: 10px;\n  }\n  #page-rzpn .rzpn-ask-spark { width: 18px; height: 18px; }\n  #page-rzpn .rzpn-ask-input,\n  #page-rzpn .rzpn-ask-ph { font-size: 15px; letter-spacing: -0.3px; }\n  #page-rzpn .rzpn-ask-go img,\n  #page-rzpn .rzpn-ask-go svg { width: 22px; height: 22px; }\n\n}\n#rzpn-home.rzpn-lte-420 {\n  #page-rzpn .rzpn-nav-assistant span { display: none; }\n  #page-rzpn .rzpn-nav-assistant { padding: 8px; }\n}\n\n\n/* ---------------------------------------------------- v41 light / dark ---\n   Toggled from the sun/moon control in the top nav (see the v41 theme IIFE),\n   which sets data-theme on the page. Overrides are grouped here rather than\n   tokenising all ~200 v41 rules: the light theme stays the default and dark\n   restates only the surfaces, text and borders that actually flip. The hero\n   photo, its white glyph field and the always-dark \"Integrate in minutes\"\n   section read correctly in both, so they are left alone. */\n/* Segmented theme control, now in the footer. Icons are masks so they take\n   currentColor and follow the selected/dark states without extra files. */\n\n\n/* --- surfaces ------------------------------------------------------------ */\n\n\n/* --- nav ----------------------------------------------------------------- */\n\n\n/* The wordmark is dark-on-light artwork. A plain invert turns its blue mark\n   yellow, so knock it to a white silhouette instead — the usual dark-mode\n   treatment when there is no white lockup to swap in. */\n\n/* Only the greyscale glyphs get inverted. */\n\n/* Two of the three agent marks are solid black; the third is coral and would\n   go teal if inverted, so it is left as it is. */\n\n\n/* --- headings and body --------------------------------------------------- */\n\n\n/* --- cards, chips, credentials ------------------------------------------- */\n\n\n/* --- prompt c
2049ards -------------------------------------------------------- */\n\n/* The asset plates read as blank UI, so they follow the surface, not paper. */\n\n/* The veil lightens the photo for light type; in dark it has to darken it. */\n\n\n/* --- hero ask bar -------------------------------------------------------- */\n\n\n/* Left uninverted on purpose: the arrow is brand blue and the spark is\n   green — both read fine on the dark bar, and inverting turned them yellow. */\n\n/* The credential cards' dotted texture is a hard-light overlay tuned for a\n   white card; on a dark one it blows out to a bright patch. */\n\n\n/* ------------------------------------------- v41 card icons + hover ------\n   The circles are empty placeholders in the artboard, so these glyphs are\n   authored rather than exported — a plain 1.5px stroke set matching the nav\n   icons. Swap them for the real set when it exists. Drawn as one inline\n   \u003csymbol\u003e sprite so 20 cards cost no extra requests, and stroked in\n   currentColor so each section can tint its own. */\n#page-rzpn .rzpn-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }\n#page-rzpn .rzpn-dot { display: grid; place-items: center; }\n/* fill/stroke live on the \u003csvg\u003e host, not the \u003csymbol\u003e: a rule matching the\n   symbol in the source tree never reaches the cloned \u003cuse\u003e shadow content, so\n   the paths rendered filled-black. These are inherited SVG properties, so\n   setting them here does carry through. */\n#page-rzpn .rzpn-dot-ico {\n  /* 17/32 of the old 32px dot, kept proportional on the new 40px size. */\n  width: 21.25px; height: 21.25px;\n  color: #2f5bbd;\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 1.8;\n  stroke-linecap: round;\n  stroke-linejoin: round;\n}\n#page-rzpn .rzpn-grid--green .rzpn-dot-ico { color: #2f7d55; }\n#page-rzpn .rzpn-grid--peach .rzpn-dot-ico { color: #a86427; }\n\n/* Clickable affordance: a dotted underline at rest says \"this goes somewhere\",\n   and the card lifts on hover. */\n#page-rzpn .rzpn-card {\n  cursor: pointer;\n  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;\n}\n/* Hover-only underline that wipes in left-to-right. text-decoration cannot\n   animate its extent, so the rule is a repeating-gradient background on an\n   inline span whose background-size grows 0 -\u003e 100%. `box-decoration-break:\n   clone` gives each wrapped line its own background box, so two-line titles\n   get a full underline on both lines rather than one line spanning the block. */\n#page-rzpn .rzpn-card h3,\n#page-rzpn .rzpn-pcard-title { text-decoration: none; }\n#page-rzpn .rzpn-u {\n  --rzpn-u-col: #4b5563;\n  background-image: repeating-linear-gradient(to right,\n    var(--rzpn-u-col) 0 1.5px, transparent 1.5px 4px);\n  background-repeat: no-repeat;\n  background-position: 0 100%;\n  background-size: 0% 1px;\n  padding-bottom: 3px;\n  -webkit-box-decoration-break: clone;\n  box-decoration-break: clone;\n  transition: background-size .18s cubic-bezier(.4, 0, .2, 1);\n}
2049\n/* The whole prompt card is the trigger, so hovering the masked image fires it\n   too — not just the title. */\n#page-rzpn .rzpn-card:hover h3 .rzpn-u,\n#page-rzpn .rzpn-devcard:hover .rzpn-u,\n#page-rzpn .rzpn-pcard:hover .rzpn-u { background-size: 100% 1px; }\n#page-rzpn .rzpn-pcard { cursor: pointer; }\n/* The title link stretches over the whole prompt card so the artwork and the\n   title both navigate; the Copy prompt pill sits above the overlay so it keeps\n   copying instead of following the link. The link must stay static — the theme\n   positions anchors, which would trap the ::after inside the title's line box. */\n#page-rzpn .rzpn-pcard-link { position: static; }\n#page-rzpn .rzpn-pcard-link::after { content: \"\"; position: absolute; inset: 0; }\n#page-rzpn .rzpn-pcard-pill { position: relative; z-index: 1; }\n@media (prefers-reduced-motion: reduce) {\n  #page-rzpn .rzpn-u { transition-duration: .01ms; }\n}\n#page-rzpn .rzpn-card:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 8px 20px rgba(80,168,212,.18);\n  border-color: #d2d8dd;\n}\n\n\n/* dark mode */\n\n\n/* ------------------------------------------------------- v41 footer -----\n   Sign-off band: the page's own meadow photo full-bleed, carrying an\n   oversized Razorpay Docs lockup, with the link columns on white beneath.\n   The lockup reuses the nav's two SVGs knocked to white — same treatment as\n   the dark-mode nav, since there is no white lockup asset to swap in. */\n#page-rzpn-scope { }\n/* The footer is a sibling of #page-rzpn, so the \"sections scroll over the\n   fixed artwork\" rule in the hero block can't reach it — same stacking fix\n   applied here directly. */\n.rzpn-footer { position: relative; z-index: 1; background: #fff; }\n/* The lockup used to sit on a full-bleed band of the shared photo. That band\n   is gone; it now heads the About column at nav scale, in its own ink. */\n.rzpn-foot-lockup { display: flex; align-items: center; gap: 10px; }\n.rzpn-foot-logo { display: block; height: 26px; width: auto; }\n.rzpn-foot-docs { display: block; height: 17px; width: auto; }\n\n.rzpn-foot-body {\n  max-width: 1440px;\n  margin: 0 auto;\n  padding: 72px 64px 40px;\n}\n.rzpn-foot-cols {\n  display: grid;\n  grid-template-columns: 1.35fr 1fr 1fr 1fr;\n  gap: 48px;\n}\n/* razorpay.com stacks several groups inside each column rather than giving\n   every group its own column — same here, two per column. */\n.rzpn-foot-col { display: flex; flex-direction: column; gap: 40px; }\n.rzpn-foot-about { display: flex; flex-direction: column; gap: 24px; }\n\n.rzpn-foot-legalese { display: flex; flex-direction: column; gap: 4px; }\n\n.rzpn-foot-blurb {\n  margin: 0;\n  max-width: 380px;\n  font-family: var(--font-body);\n  font-size: 15px; line-height: 26px; letter-spacing: -0.2px; color: #4b5563;\n}\n.rzpn-foot-links { display: flex; flex-direction: column; gap: 14px; }\n.rzpn-foot-col-title {\n  margin: 0 0 2px;\n  font-family: var(--font-body);\n  font-weight: 700; font-size: 12px; line-height: 16px;\n  letter-spacing: .06em; text-transform: uppercase; color: #050505;\n}\n/* #rzpn-home prefix for specificity: the page reset `#rzpn-home a\n   { color: inherit }` (1,0,1) outranks a bare `.rzpn-foot-links a` (0,1,1),\n   so without it every footer anchor inherits the page's --ink instead. */\n#rzpn-home .rzpn-foot-links a {\n  font-family: var(--font-body);\n  font-size: 15px; line-height: 20px; letter-spacing: -0.2px;\n  color: #3f4a55; text-decoration: none;\n}\n#rzpn-home .rzpn-foot-links a:hover { color: #0e54cc; }\n\n.rzpn-foot-bottom {\n  margin-top: 64px;\n  padding-top: 22px;\n  border-top: 1px solid #e4e7ea;\n  display: flex; align-items: center; justify-content: space-between; gap: 24px;\n}\n.rzpn-foot-bottom p {\n  margin: 0;\n  font-family: var(--font-body);\n  font-size: 14px; line-height: 20px; letter-spacing: -0.18px; color: #7d868e;\n}\n/* The RBI legalese drops below the shared bottom-bar text — smaller and\n   lighter. #rzpn-home prefix so this beats `.rzpn-foot-bottom p` above\n   (v42 reaches for !important instead; the id scope does the same job). */\n#rzpn-home .rzpn-foot-rbi { font-size: 13px; color: #9aa3ab; }\n.rzpn-foot-legal { display: flex; gap: 28px; }\n/* Same specificity story as .rzpn-foot-links a above. */\n#rzpn-home .rzpn-foot-legal a {\n  font-family: var(--font-body);\n  font-size: 14px; line-height: 20px; letter-spacing: -0.18px;\n  color: #7d868e; text-decoration: none;\n}\n#rzpn-home .rzpn-foot-legal a:hover { color: #0e54cc; }\n\n/* dark mode follows the page's theme attribute, which lives on #page-rzpn */\n\n\n#rzpn-home.rzpn-lte-1280 {\n  .rzpn-foot-body { padding-left: 40px; padding-right: 40px; }\n}\n#rzpn-home.rzpn-lte-900 {\n  .rzpn-foot-body { padding-left: 20px; padding-right: 20px; }\n  .rzpn-foot-cols { grid-template-columns: 1fr 1fr; gap: 32px; }\n  .rzpn-foot-about { grid-column: 1 / -1; }\n  .rzpn-foot-body { padding-top: 44px; }\n  .rzpn-foot-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }\n}\n"])</script>
2049<script>self.__next_f.push([1,"58:[\"$\",\"style\",\"2\",{\"data-custom-css-index\":2,\"data-custom-css-path\":\"static/docs-home/styles.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"$61\"}}]\n"])</script>
2049</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.