<!DOCTYPE html><!--Oxk7Gc78Al18Xv0WUWeU_--><html lang="en" data-sentry-component="RootLayout" data-sentry-source-file="layout.tsx"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0a86735c6520d94f-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/cd914ecf9c9071d5-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/868117c2b85f7a9d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/eaea4ce6f790adfc.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c1588608df93822d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/923221d641f4caec.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/4c45bc9e8cd6d5b4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/4bea3967abd381ec.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/10157a9bf141e7e0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1fa2b0271bb96844.js"/><script src="/_next/static/chunks/e1faa60d-9a1bd5871f4758ef.js" async=""></script><script src="/_next/static/chunks/c1a87517-3cb15fe961500a41.js" async=""></script><script src="/_next/static/chunks/05814c0c-448505717eef7d58.js" async=""></script><script src="/_next/static/chunks/4041-9527167aca940442.js" async=""></script><script src="/_next/static/chunks/main-app-994a217b52fa986e.js" async=""></script><script src="/_next/static/chunks/5623-6ab97b635930053b.js" async=""></script><script src="/_next/static/chunks/7938-05eca2ea78392774.js" async=""></script><script src="/_next/static/chunks/app/layout-7000b08e91adb214.js" async=""></script><script src="/_next/static/chunks/dc725793-183928ee11f9d6fd.js" async=""></script><script src="/_next/static/chunks/7736-68ba43d0abd11984.js" async=""></script><script src="/_next/static/chunks/5070-7c7fd3492aeb0a06.js" async=""></script><script src="/_next/static/chunks/9306-fa0aba15f7d5814b.js" async=""></script><script src="/_next/static/chunks/3813-f6c357405ab925f0.js" async=""></script><script src="/_next/static/chunks/2196-1764eabf231a236f.js" async=""></script><script src="/_next/static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js" async=""></script><script src="/_next/static/chunks/1697-d20055add46977d3.js" async=""></script><script src="/_next/static/chunks/app/not-found-271bc2f4a5dc3032.js" async=""></script><script src="/_next/static/chunks/app/%5B%5B...path%5D%5D/layout-4f3a482a7dae070b.js" async=""></script><script src="/_next/static/chunks/app/global-error-e74f2c5f8e008e6a.js" async=""></script><link rel="preload" href="https://plausible.io/js/script.tagged-events.js" as="script"/><meta name="next-size-adjust" content=""/><title>Authentication</title><meta name="zd-site-verification" content="ocu6mswx6pke3c6qvozr2e"/><link rel="canonical" href="https://docs.sentry.io/api/auth/"/><meta property="og:title" content="Authentication"/><meta property="og:image" content="https://sentry-docs-8crvyypmm.sentry.dev/og.png"/><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="Authentication"/><meta name="twitter:image" content="https://sentry-docs-8crvyypmm.sentry.dev/og.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_c58dd6"><div hidden=""><!--$--><!--/$--></div><script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script><div data-is-root-theme="true" data-accent-color="iris" data-gray-color="sand" data-has-background="true" data-panel-background="translucent" data-radius="large" data-scaling="95%" data-sentry-element="Theme" data-sentry-source-file="layout.tsx" class="radix-themes"><a href="#main" class="skip-to-content" data-sentry-component="SkipToContent" data-sentry-source-file="skipToContent.tsx">Skip to content</a><div data-sentry-component="DocsLayout" data-sentry-source-file="layout.tsx"><div class="tw-app has-toc" data-sentry-component="DocPage" data-sentry-source-file="index.tsx"><header class="bg-[var(--gray-1)] h-[var(--header-height)] w-full z-50 border-b border-[var(--gray-a3)] fixed top-0 flex items-center min-h-[64px]" data-sentry-component="Header" data-sentry-source-file="header.tsx"><style>
        :root { --header-height: 64px; }
        /* Home page: full-width nav that spans the viewport (matches the old
         * homepage). No max-width cap — the nav's own edge padding
         * (px-4 / md:pl-3 and the right block's lg:pr-6) handles spacing. */
        .header-content-home {
          max-width: none;
          margin-left: 0;
          margin-right: 0;
          padding-left: 0;
          padding-right: 0;
        }
        /* Doc pages: fluid centering to match sidebar offset at wide viewports */
        .header-content:not(.header-content-home) {
          padding-left: var(--layout-offset, 0px);
          padding-right: var(--layout-offset, 0px);
        }
      </style><div class="header-content flex items-center w-full "><nav class="nav-inner flex items-center gap-4 min-h-[64px] min-w-0 flex-1 px-4 md:pl-3 md:pr-4"><button class="md:hidden mr-3 flex items-center"><label for="style_navbar-menu-toggle__dc5I6" aria-label="Open menu" class="inline-flex items-center cursor-pointer"><svg width="22" height="22" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="inline dark:text-[var(--foreground)] text-[var(--gray-10)]" stroke-width="1.8"><path d="M1.5 3C1.22386 3 1 3.22386 1 3.5C1 3.77614 1.22386 4 1.5 4H13.5C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3H1.5ZM1 7.5C1 7.22386 1.22386 7 1.5 7H13.5C13.7761 7 14 7.22386 14 7.5C14 7.77614 13.7761 8 13.5 8H1.5C1.22386 8 1 7.77614 1 7.5ZM1 11.5C1 11.2239 1.22386 11 1.5 11H13.5C13.7761 11 14 11.2239 14 11.5C14 11.7761 13.7761 12 13.5 12H1.5C1.22386 12 1 11.7761 1 11.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></label></button><a title="Sentry error monitoring" class="logo-slot flex flex-shrink-0 items-center text-lg font-medium text-[var(--foreground)] mr-1 py-2 border-b-2 border-transparent -translate-y-[1px]" style="min-width:0" data-sentry-element="Link" data-sentry-source-file="header.tsx" href="/"><div class="mr-2"><img alt="Sentry&#x27;s logo" data-sentry-element="Image" data-sentry-source-file="header.tsx" loading="lazy" width="28" height="26" decoding="async" data-nimg="1" class="h-10 dark:invert" style="color:transparent" src="/_next/static/media/sentry-logo-dark.fc8e1eeb.svg"/></div><span class="text-base font-semibold tracking-tight">Docs</span></a><div class="hidden md:block flex-1 min-w-0"><div data-sentry-component="TopNavClient" data-sentry-source-file="TopNavClient.tsx"><div class="w-full relative"><div class="overflow-x-auto whitespace-nowrap max-w-full scrollbar-hide pl-4 pr-6" style="scrollbar-width:none;-ms-overflow-style:none"><ul class="flex gap-4 w-max min-w-0 items-center overflow-x-visible" style="scrollbar-width:none"><li class="list-none relative"><a href="/platforms/" class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md text-[0.875rem] font-normal border-b-2 border-transparent hover:border-[#a78bfa]">SDKs</a></li><li class="list-none relative"><a class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md text-[0.875rem] font-normal border-b-2 border-transparent hover:border-[#a78bfa]" href="/product/">Product</a></li><li class="list-none relative"><a class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md text-[0.875rem] font-normal border-b-2 border-transparent hover:border-[#a78bfa]" href="/ai/">AI</a></li><li class="list-none relative"><a class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md text-[0.875rem] font-normal border-b-2 border-transparent hover:border-[#a78bfa]" href="/guides/">Guides</a></li><li class="list-none relative"><div style="display:inline-block"><button class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md flex items-center gap-1 text-[0.875rem] font-normal border-b-2 border-transparent hover:border-[#a78bfa]" aria-haspopup="true" aria-expanded="false">Concepts<svg class="ml-1 transition-transform duration-150 " width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div></li><li class="list-none relative"><a class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md text-[0.875rem] font-normal border-b-2 border-[var(--accent-purple)]" href="/api/">API</a></li><li class="list-none relative"><div style="display:inline-block"><button class="text-[var(--gray-12)] transition-all duration-150 inline-block py-2 px-1 rounded-t-md flex items-center gap-1 text-[0.875rem] font-normal border-b-2 border-transparent hover:border-[#a78bfa]" aria-haspopup="true" aria-expanded="false">Manage<svg class="ml-1 transition-transform duration-150 " width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div></li></ul></div></div><style>
        .scrollbar-hide::-webkit-scrollbar {
          display: none;
        }
      </style></div></div><div class="flex items-center md:hidden ml-auto gap-3"><button class="flex items-center text-[var(--foreground)] p-1.5 rounded-md hover:bg-[var(--gray-a3)] transition-colors" aria-label="Search"><svg width="20" height="20" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="kapa-ai-class flex items-center gap-1.5 text-sm font-medium text-[var(--foreground)] px-2 py-1.5 rounded-md hover:bg-[var(--gray-a3)] transition-colors" aria-label="Ask AI"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-5 size-4" data-sentry-element="svg" data-sentry-component="MagicIcon" data-sentry-source-file="magic.tsx"><path stroke-linecap="round" stroke-linejoin="round" d="M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z" data-sentry-element="path" data-sentry-source-file="magic.tsx"></path></svg><span class="uppercase text-xs">Ask AI</span></button><style>
     :root, .light, .light-theme {
       --theme-toggle-sun-icon-display: none;
       --theme-toggle-moon-icon-display: block;
     }
     .dark, .dark-theme {
       --theme-toggle-sun-icon-display: block;
       --theme-toggle-moon-icon-display: none;
     }
   </style><button data-accent-color="gray" data-sentry-element="IconButton" data-sentry-source-file="theme-toggle.tsx" data-state="closed" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-IconButton"><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-sun-icon-display)" data-sentry-element="SunIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-moon-icon-display)" data-sentry-element="MoonIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div></nav><div class="hidden md:flex items-center gap-4 flex-shrink-0 ml-auto pl-4 pr-4 lg:pr-6"><div class="flex flex-shrink-0 items-center gap-2" style="width:340px;min-width:340px"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex items-center gap-2" style="width:340px;min-width:340px;height:40px"></div><!--/$--></div><div class="flex flex-shrink-0 items-center gap-4"><a href="https://sentry.io/" target="_blank" rel="noopener noreferrer" data-accent-color="gray" data-radius="medium" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-Button font-medium text-[var(--foreground)] py-2 px-3 uppercase cursor-pointer whitespace-nowrap">Go to Sentry</a><style>
     :root, .light, .light-theme {
       --theme-toggle-sun-icon-display: none;
       --theme-toggle-moon-icon-display: block;
     }
     .dark, .dark-theme {
       --theme-toggle-sun-icon-display: block;
       --theme-toggle-moon-icon-display: none;
     }
   </style><button data-accent-color="gray" data-sentry-element="IconButton" data-sentry-source-file="theme-toggle.tsx" data-state="closed" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-ghost rt-IconButton"><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-sun-icon-display)" data-sentry-element="SunIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><svg width="16" height="16" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="display:var(--theme-toggle-moon-icon-display)" data-sentry-element="MoonIcon" data-sentry-source-file="theme-toggle.tsx"><path d="M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div></div></div></header><section class="px-0 flex relative"><aside class="style_sidebar__iEJoR py-3" data-layout-anchor="left" data-sentry-component="Sidebar" data-sentry-source-file="index.tsx"><input type="checkbox" id="style_navbar-menu-toggle__dc5I6" class="hidden"/><style>:root { --sidebar-width: 300px; }</style><div class="flex flex-col items-stretch h-full min-h-0"><div class="md:hidden px-3 pb-3 border-b border-[var(--gray-a3)]" data-sentry-component="MobileSidebarNav" data-sentry-source-file="MobileSidebarNav.tsx"><button type="button" aria-expanded="false" class="flex items-center justify-between w-full py-2 px-2 rounded text-sm font-medium text-[var(--gray-12)] hover:bg-[var(--gray-a3)] transition-colors">Open Main Menu<svg width="18" height="18" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="transition-transform " data-sentry-element="ChevronDownIcon" data-sentry-source-file="MobileSidebarNav.tsx"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="style_sidebar-main__z5ka3 px-3"><ul data-sidebar-tree="true"><li class="mb-3" data-sidebar-branch="true" data-sentry-component="DynamicNav" data-sentry-source-file="dynamicNav.tsx"><a class="style_sidebar-link__reH78  style_sidebar-link-top-level__tKgo9 " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/"><div class="style_sidebar-link-content__rKA2e"><span>API Reference</span></div></a><ul data-sidebar-tree="true" class="pl-3"><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78 active  " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/auth/"><div class="style_sidebar-link-content__rKA2e"><span>Authentication</span></div></a><ul data-sidebar-tree="true"></ul></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/pagination/"><div class="style_sidebar-link-content__rKA2e"><span>Paginating Results</span></div></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/permissions/"><div class="style_sidebar-link-content__rKA2e"><span>Permissions &amp; Scopes</span></div></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/ratelimits/"><div class="style_sidebar-link-content__rKA2e"><span>Rate Limits</span></div></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/requests/"><div class="style_sidebar-link-content__rKA2e"><span>Requests</span></div></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/crons/"><div class="style_sidebar-link-content__rKA2e"><span>Crons</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/dashboards/"><div class="style_sidebar-link-content__rKA2e"><span>Dashboards</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/discover/"><div class="style_sidebar-link-content__rKA2e"><span>Discover &amp; Performance</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/environments/"><div class="style_sidebar-link-content__rKA2e"><span>Environments</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/events/"><div class="style_sidebar-link-content__rKA2e"><span>Events &amp; Issues</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/explore/"><div class="style_sidebar-link-content__rKA2e"><span>Explore</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/integration/"><div class="style_sidebar-link-content__rKA2e"><span>Integration Platform</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/integrations/"><div class="style_sidebar-link-content__rKA2e"><span>Integrations</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/mobile-builds/"><div class="style_sidebar-link-content__rKA2e"><span>Mobile Builds</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/monitors/"><div class="style_sidebar-link-content__rKA2e"><span>Monitors &amp; Alerts</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/organizations/"><div class="style_sidebar-link-content__rKA2e"><span>Organizations</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/profiling/"><div class="style_sidebar-link-content__rKA2e"><span>Profiling</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/projects/"><div class="style_sidebar-link-content__rKA2e"><span>Projects</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/releases/"><div class="style_sidebar-link-content__rKA2e"><span>Releases</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/replays/"><div class="style_sidebar-link-content__rKA2e"><span>Replays</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/scim/"><div class="style_sidebar-link-content__rKA2e"><span>SCIM</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/seer/"><div class="style_sidebar-link-content__rKA2e"><span>Seer</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/snapshots/"><div class="style_sidebar-link-content__rKA2e"><span>Snapshots</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/spike-protection/"><div class="style_sidebar-link-content__rKA2e"><span>Spike Protection Notifications</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/teams/"><div class="style_sidebar-link-content__rKA2e"><span>Teams</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li><li class="toc-item " data-sidebar-branch="true" data-path="/api/auth/" data-sentry-component="CollapsibleSidebarLink" data-sentry-source-file="collapsibleSidebarLink.tsx"><a class="style_sidebar-link__reH78   " data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="SidebarLink" data-sentry-source-file="sidebarLink.tsx" href="/api/users/"><div class="style_sidebar-link-content__rKA2e"><span>Users</span></div><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" style="transition:transform 200ms;transform:rotate(270deg)" data-sentry-element="svg" data-sentry-component="NavChevron" data-sentry-source-file="navChevron.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z" data-sentry-element="path" data-sentry-source-file="navChevron.tsx"></path></svg></a></li></ul></li></ul><hr class="style_sidebar-separator__U8J_J mt-3 mb-3" data-sentry-component="SidebarSeparator" data-sentry-source-file="sidebarLink.tsx"/><ul data-sidebar-tree="true" data-sentry-component="SidebarMoreLinks" data-sentry-source-file="SidebarMoreLinks.tsx"><li class="mb-3" data-sidebar-branch="true"><ul data-sidebar-tree="true"><a target="_blank" rel="noopener noreferrer" href="https://sentry.io/changelog/" class="style_sidebar-link__reH78   font-bold" data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx"><div class="style_sidebar-link-content__rKA2e"><span>Product Changelog</span></div><span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a><a target="_blank" rel="noopener noreferrer" href="https://sandbox.sentry.io/" class="style_sidebar-link__reH78   font-bold" data-sidebar-link="true" data-sentry-element="LinkComponent" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx"><div class="style_sidebar-link-content__rKA2e"><span>Sandbox</span></div><span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a><button class="style_sidebar-link__reH78 font-bold" data-sidebar-link="true"><div class="style_sidebar-link-content__rKA2e"><span>More</span></div><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></ul></li></ul></div></div></aside><main class="main-content flex mt-[var(--header-height)] flex-1"><div class="pt-6 px-6 prose dark:prose-invert max-w-full text-[var(--gray-12)] prose-a:no-underline hover:prose-a:underline prose-code:font-normal prose-code:font-mono marker:text-[var(--darkPurple)] marker:font-medium prose-li:my-1 prose-headings:mt-0 prose-headings:font-medium prose-headings:relative prose-headings:text-[var(--gray-12)] prose-blockquote:font-normal prose-blockquote:border-l-[3px] prose-em:font-normal prose-blockquote:text-[var(--gray-12)] prose-img:my-2 prose-strong:text-[var(--gray-12)] w-full min-w-0" id="doc-content"><div class="mb-4"></div><div class="flex items-center"><ul class="not-prose list-none flex flex-wrap" style="margin:0" data-sentry-component="Breadcrumbs" data-sentry-source-file="index.tsx"><li class="style_breadcrumb-item__bDEaT"><a href="/">Home</a></li><li class="style_breadcrumb-item__bDEaT"><a href="/api/">API Reference</a></li><li class="style_breadcrumb-item__bDEaT"><a href="/api/auth/">Authentication</a></li></ul> <div class="ml-auto hidden sm:block"><div class="relative inline-block"><div class="inline-flex items-center h-9 border border-gray-200 dark:border-[var(--gray-6)] rounded-full overflow-hidden bg-white dark:bg-[var(--gray-2)]"><button class="inline-flex items-center text-nowrap h-full text-gray-700 dark:text-[var(--foreground)] bg-transparent border-none cursor-pointer transition-colors duration-150 hover:bg-gray-50 dark:hover:bg-[var(--gray-a4)] active:bg-gray-100 dark:active:bg-[var(--gray-5)] focus:bg-gray-50 dark:focus:bg-[var(--gray-a4)] outline-none gap-2 px-3.5 text-sm font-medium disabled:opacity-50" style="border-radius:9999px 0 0 9999px"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-sentry-element="Clipboard" data-sentry-source-file="copyMarkdownButton.tsx"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect></svg><span>Copy page</span></button><div class="w-px h-full bg-gray-200 dark:bg-[var(--gray-6)]"></div><button class="inline-flex items-center text-nowrap h-full text-gray-700 dark:text-[var(--foreground)] bg-transparent border-none cursor-pointer transition-colors duration-150 hover:bg-gray-50 dark:hover:bg-[var(--gray-a4)] active:bg-gray-100 dark:active:bg-[var(--gray-5)] focus:bg-gray-50 dark:focus:bg-[var(--gray-a4)] outline-none px-3" style="border-radius:0 9999px 9999px 0"><style data-emotion="css o2ofml">.css-o2ofml{-webkit-transition:-webkit-transform 200ms;transition:transform 200ms;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}</style><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="transition-transform duration-200 rotate-0 css-o2ofml" data-sentry-element="Chevron" data-sentry-source-file="copyMarkdownButton.tsx"><path fill="currentColor" d="M12.53 5.47a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 1.06-1.06L8 8.94l3.47-3.47a.75.75 0 0 1 1.06 0Z"></path></svg></button></div></div></div></div><div><hgroup><h1>Authentication</h1><h2></h2></hgroup><div id="main"><h2 id="auth-tokens"><a href="#auth-tokens" class="autolink-heading" aria-hidden="true" tabindex="-1">Auth Tokens<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>Authentication tokens are passed using an auth header, and are used to authenticate as a user or organization account with the API. In our documentation, we have several placeholders that appear between curly braces or chevrons, such as <code>{API_KEY}</code> or <code>&lt;auth_token&gt;</code>, which you will need to replace with one of your authentication tokens in order to use the API call effectively.</p><p>For example, when the documentation says:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: Bearer {TOKEN}&#x27;</span> https://sentry.io/api/0/organizations/<span class="token punctuation">{</span>organization_slug<span class="token punctuation">}</span>/projects/
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: Bearer {TOKEN}&#x27;</span> https://sentry.io/api/0/organizations/<span class="token punctuation">{</span>organization_slug<span class="token punctuation">}</span>/projects/
</span></code></pre></div></div><p>If your authentication token is <code>1a2b3c</code>, and your organization slug is <code>acme</code> then the command should be:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: Bearer 1a2b3c&#x27;</span> https://sentry.io/api/0/organizations/acme/projects/
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: Bearer 1a2b3c&#x27;</span> https://sentry.io/api/0/organizations/acme/projects/
</span></code></pre></div></div><p>You can create authentication tokens within Sentry by <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/integrations/integration-platform/#internal-integrations">creating an internal integration</a>. This is also available for self-hosted Sentry.</p><h3 id="user-authentication-tokens"><a href="#user-authentication-tokens" class="autolink-heading" aria-hidden="true" tabindex="-1">User authentication tokens<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Some API endpoints require an authentication token that&#x27;s associated with your user account, rather than an authentication token from an internal integration. These auth tokens can be created within Sentry on the &quot;User settings&quot; page (<strong>User settings &gt; Personal Tokens</strong>) and assigned specific scopes.</p><p>The endpoints that require a user authentication token are specific to your user, such as <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/api/organizations/retrieve-an-organization/">Retrieve an Organization</a>.</p><h2 id="oauth2"><a href="#oauth2" class="autolink-heading" aria-hidden="true" tabindex="-1">OAuth2<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>For third-party applications that need to access Sentry on behalf of users, Sentry supports OAuth2 with the authorization code grant type. This allows users to authorize your application without sharing their credentials.</p><h3 id="authorization-request"><a href="#authorization-request" class="autolink-heading" aria-hidden="true" tabindex="-1">Authorization Request<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Direct users to the authorization endpoint:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">https://sentry.io/oauth/authorize/?client_id<span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span><span class="token operator">&amp;</span><span class="token variable assign-left">response_type</span><span class="token operator">=</span>code<span class="token operator">&amp;</span><span class="token variable assign-left">scope</span><span class="token operator">=</span><span class="token punctuation">{</span>SCOPES<span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">https://sentry.io/oauth/authorize/?client_id<span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span><span class="token operator">&amp;</span><span class="token variable assign-left">response_type</span><span class="token operator">=</span>code<span class="token operator">&amp;</span><span class="token variable assign-left">scope</span><span class="token operator">=</span><span class="token punctuation">{</span>SCOPES<span class="token punctuation">}</span>
</span></code></pre></div></div><p><strong>Parameters:</strong></p><table><thead><tr><th>Parameter</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>client_id</code></td><td>Yes</td><td>Your registered client ID</td></tr><tr><td><code>response_type</code></td><td>Yes</td><td>Must be <code>code</code></td></tr><tr><td><code>scope</code></td><td>Yes</td><td>Space-separated list of <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/api/permissions/">permissions</a></td></tr><tr><td><code>redirect_uri</code></td><td>No</td><td>Your callback URI (must match registered URI)</td></tr><tr><td><code>state</code></td><td>No</td><td>Random string to prevent CSRF attacks</td></tr><tr><td><code>code_challenge</code></td><td>Recommended</td><td>PKCE challenge (see below)</td></tr><tr><td><code>code_challenge_method</code></td><td>Recommended</td><td>Must be <code>S256</code></td></tr></tbody></table><p>After the user approves, Sentry redirects to your callback URI with an authorization code:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">https://your-app.com/callback?code<span class="token operator">=</span><span class="token punctuation">{</span>AUTHORIZATION_CODE<span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">https://your-app.com/callback?code<span class="token operator">=</span><span class="token punctuation">{</span>AUTHORIZATION_CODE<span class="token punctuation">}</span>
</span></code></pre></div></div><h3 id="token-exchange"><a href="#token-exchange" class="autolink-heading" aria-hidden="true" tabindex="-1">Token Exchange<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Exchange the authorization code for an access token:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/token/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_secret</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_SECRET<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">grant_type</span><span class="token operator">=</span>authorization_code <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">code</span><span class="token operator">=</span><span class="token punctuation">{</span>AUTHORIZATION_CODE<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">code_verifier</span><span class="token operator">=</span><span class="token punctuation">{</span>CODE_VERIFIER<span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/token/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_secret</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_SECRET<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">grant_type</span><span class="token operator">=</span>authorization_code <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">code</span><span class="token operator">=</span><span class="token punctuation">{</span>AUTHORIZATION_CODE<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">code_verifier</span><span class="token operator">=</span><span class="token punctuation">{</span>CODE_VERIFIER<span class="token punctuation">}</span>
</span></code></pre></div></div><p>The <code>code_verifier</code> parameter is required if you used PKCE in the authorization request.</p><p><strong>Response:</strong></p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">JSON</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;access_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{ACCESS_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;refresh_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{REFRESH_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_in&quot;</span><span class="token operator">:</span> <span class="token number">2591999</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_at&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2024-11-27T23:20:21.054320Z&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;token_type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;bearer&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;scope&quot;</span><span class="token operator">:</span> <span class="token string">&quot;org:read project:read&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;user&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
</span><span class="code-line">    <span class="token property">&quot;id&quot;</span><span class="token operator">:</span> <span class="token string">&quot;123&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Jane Doe&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;email&quot;</span><span class="token operator">:</span> <span class="token string">&quot;jane@example.com&quot;</span>
</span><span class="code-line">  <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="json" hidden=""><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;access_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{ACCESS_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;refresh_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{REFRESH_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_in&quot;</span><span class="token operator">:</span> <span class="token number">2591999</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_at&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2024-11-27T23:20:21.054320Z&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;token_type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;bearer&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;scope&quot;</span><span class="token operator">:</span> <span class="token string">&quot;org:read project:read&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;user&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
</span><span class="code-line">    <span class="token property">&quot;id&quot;</span><span class="token operator">:</span> <span class="token string">&quot;123&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Jane Doe&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;email&quot;</span><span class="token operator">:</span> <span class="token string">&quot;jane@example.com&quot;</span>
</span><span class="code-line">  <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div><h3 id="refreshing-tokens"><a href="#refreshing-tokens" class="autolink-heading" aria-hidden="true" tabindex="-1">Refreshing Tokens<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Access tokens expire after 30 days. Use the refresh token to obtain new tokens:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/token/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_secret</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_SECRET<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">grant_type</span><span class="token operator">=</span>refresh_token <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">refresh_token</span><span class="token operator">=</span><span class="token punctuation">{</span>REFRESH_TOKEN<span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/token/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_secret</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_SECRET<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">grant_type</span><span class="token operator">=</span>refresh_token <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">refresh_token</span><span class="token operator">=</span><span class="token punctuation">{</span>REFRESH_TOKEN<span class="token punctuation">}</span>
</span></code></pre></div></div><h3 id="using-access-tokens"><a href="#using-access-tokens" class="autolink-heading" aria-hidden="true" tabindex="-1">Using Access Tokens<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>Include the access token in API requests using the Authorization header:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: Bearer {ACCESS_TOKEN}&#x27;</span> <span class="token punctuation">\</span>
</span><span class="code-line">  https://sentry.io/api/0/organizations/
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: Bearer {ACCESS_TOKEN}&#x27;</span> <span class="token punctuation">\</span>
</span><span class="code-line">  https://sentry.io/api/0/organizations/
</span></code></pre></div></div><h3 id="organization-scoping"><a href="#organization-scoping" class="autolink-heading" aria-hidden="true" tabindex="-1">Organization Scoping<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>A Sentry user can belong to multiple organizations. The access token only provides access to the specific organization the user selected during the OAuth flow. The <code>/api/0/organizations/</code> endpoint will only return the connected organization.</p><h3 id="device-authorization-flow"><a href="#device-authorization-flow" class="autolink-heading" aria-hidden="true" tabindex="-1">Device Authorization Flow<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>The device authorization grant (<a target="_blank" rel="noopener noreferrer" href="https://datatracker.ietf.org/doc/html/rfc8628" class="" data-sentry-component="ExternalLink" data-sentry-source-file="externalLink.tsx">RFC 8628<span class="icon icon-external-link"><svg viewBox="0 0 24 24" width="14" height="14" class="ml-1 inline" data-sentry-element="svg" data-sentry-source-file="externalLink.tsx"><path fill="currentColor" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" data-sentry-element="path" data-sentry-source-file="externalLink.tsx"></path></svg></span></a>) enables applications on devices without a browser or with limited input capabilities to obtain authorization. This is ideal for CLI tools, CI/CD pipelines, Docker containers, and other headless environments where redirecting to a browser on the same device isn&#x27;t practical.</p><p><strong>How it works:</strong> Your application requests a device code, displays a short user code to the user, and polls for authorization. The user visits Sentry in their browser (on any device), enters the code, and approves the request. Once approved, your application receives an access token.</p><h4 id="step-1-request-device-code"><a href="#step-1-request-device-code" class="autolink-heading" aria-hidden="true" tabindex="-1">Step 1: Request Device Code<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h4><p>Request a device code from the device authorization endpoint:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/device/code/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">scope</span><span class="token operator">=</span>org:read%20project:read
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/device/code/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">scope</span><span class="token operator">=</span>org:read%20project:read
</span></code></pre></div></div><p><strong>Parameters:</strong></p><table><thead><tr><th>Parameter</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>client_id</code></td><td>Yes</td><td>Your registered client ID</td></tr><tr><td><code>scope</code></td><td>No</td><td>Space-separated list of <a class=" " data-sentry-element="Link" data-sentry-component="SmartLink" data-sentry-source-file="smartLink.tsx" href="/api/permissions/">permissions</a></td></tr></tbody></table><p><strong>Response:</strong></p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">JSON</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;device_code&quot;</span><span class="token operator">:</span> <span class="token string">&quot;a1b2c3d4e5f6...&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;user_code&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ABCD-EFGH&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;verification_uri&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://sentry.io/oauth/device/&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;verification_uri_complete&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://sentry.io/oauth/device/?user_code=ABCD-EFGH&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_in&quot;</span><span class="token operator">:</span> <span class="token number">600</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;interval&quot;</span><span class="token operator">:</span> <span class="token number">5</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="json" hidden=""><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;device_code&quot;</span><span class="token operator">:</span> <span class="token string">&quot;a1b2c3d4e5f6...&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;user_code&quot;</span><span class="token operator">:</span> <span class="token string">&quot;ABCD-EFGH&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;verification_uri&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://sentry.io/oauth/device/&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;verification_uri_complete&quot;</span><span class="token operator">:</span> <span class="token string">&quot;https://sentry.io/oauth/device/?user_code=ABCD-EFGH&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_in&quot;</span><span class="token operator">:</span> <span class="token number">600</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;interval&quot;</span><span class="token operator">:</span> <span class="token number">5</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div><table><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><code>device_code</code></td><td>Secret code your application uses to poll for the token</td></tr><tr><td><code>user_code</code></td><td>Short code the user enters to authorize (format: <code>XXXX-XXXX</code>)</td></tr><tr><td><code>verification_uri</code></td><td>URL where the user should go to enter the code</td></tr><tr><td><code>verification_uri_complete</code></td><td>URL with user code pre-filled (useful for QR codes or clickable links)</td></tr><tr><td><code>expires_in</code></td><td>Seconds until the codes expire (default: 600 / 10 minutes)</td></tr><tr><td><code>interval</code></td><td>Minimum seconds between polling requests (default: 5)</td></tr></tbody></table><h4 id="step-2-display-instructions-to-user"><a href="#step-2-display-instructions-to-user" class="autolink-heading" aria-hidden="true" tabindex="-1">Step 2: Display Instructions to User<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h4><p>Display the user code and verification URL to your user:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">To authenticate, visit: https://sentry.io/oauth/device/
</span><span class="code-line">Enter code: ABCD-EFGH
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">To authenticate, visit: https://sentry.io/oauth/device/
</span><span class="code-line">Enter code: ABCD-EFGH
</span></code></pre></div></div><p>The user code uses an unambiguous character set (no 0/O, 1/I/L confusion) for easy entry.</p><h4 id="step-3-poll-for-token"><a href="#step-3-poll-for-token" class="autolink-heading" aria-hidden="true" tabindex="-1">Step 3: Poll for Token<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h4><p>While the user authorizes in their browser, poll the token endpoint:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/token/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">device_code</span><span class="token operator">=</span><span class="token punctuation">{</span>DEVICE_CODE<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">grant_type</span><span class="token operator">=</span>urn:ietf:params:oauth:grant-type:device_code
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-X</span> POST https://sentry.io/oauth/token/ <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">client_id</span><span class="token operator">=</span><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">device_code</span><span class="token operator">=</span><span class="token punctuation">{</span>DEVICE_CODE<span class="token punctuation">}</span> <span class="token punctuation">\</span>
</span><span class="code-line">  <span class="token variable parameter">-d</span> <span class="token variable assign-left">grant_type</span><span class="token operator">=</span>urn:ietf:params:oauth:grant-type:device_code
</span></code></pre></div></div><p>Poll at the <code>interval</code> specified in the device authorization response (default: 5 seconds). While waiting for the user, you&#x27;ll receive:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">JSON</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;error&quot;</span><span class="token operator">:</span> <span class="token string">&quot;authorization_pending&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;error_description&quot;</span><span class="token operator">:</span> <span class="token string">&quot;The authorization request is still pending.&quot;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="json" hidden=""><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;error&quot;</span><span class="token operator">:</span> <span class="token string">&quot;authorization_pending&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;error_description&quot;</span><span class="token operator">:</span> <span class="token string">&quot;The authorization request is still pending.&quot;</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div><p>Continue polling until you receive a token or an error.</p><h4 id="step-4-receive-access-token"><a href="#step-4-receive-access-token" class="autolink-heading" aria-hidden="true" tabindex="-1">Step 4: Receive Access Token<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h4><p>Once the user approves, the token endpoint returns:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">JSON</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;access_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{ACCESS_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;refresh_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{REFRESH_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_in&quot;</span><span class="token operator">:</span> <span class="token number">2591999</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_at&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2024-11-27T23:20:21.054320Z&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;token_type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;bearer&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;scope&quot;</span><span class="token operator">:</span> <span class="token string">&quot;org:read project:read&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;user&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
</span><span class="code-line">    <span class="token property">&quot;id&quot;</span><span class="token operator">:</span> <span class="token string">&quot;123&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Jane Doe&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;email&quot;</span><span class="token operator">:</span> <span class="token string">&quot;jane@example.com&quot;</span>
</span><span class="code-line">  <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="json" hidden=""><pre class="language-json"><code class="code-highlight language-json"><span class="code-line"><span class="token punctuation">{</span>
</span><span class="code-line">  <span class="token property">&quot;access_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{ACCESS_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;refresh_token&quot;</span><span class="token operator">:</span> <span class="token string">&quot;{REFRESH_TOKEN}&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_in&quot;</span><span class="token operator">:</span> <span class="token number">2591999</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;expires_at&quot;</span><span class="token operator">:</span> <span class="token string">&quot;2024-11-27T23:20:21.054320Z&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;token_type&quot;</span><span class="token operator">:</span> <span class="token string">&quot;bearer&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;scope&quot;</span><span class="token operator">:</span> <span class="token string">&quot;org:read project:read&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">  <span class="token property">&quot;user&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
</span><span class="code-line">    <span class="token property">&quot;id&quot;</span><span class="token operator">:</span> <span class="token string">&quot;123&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;name&quot;</span><span class="token operator">:</span> <span class="token string">&quot;Jane Doe&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">    <span class="token property">&quot;email&quot;</span><span class="token operator">:</span> <span class="token string">&quot;jane@example.com&quot;</span>
</span><span class="code-line">  <span class="token punctuation">}</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre></div></div><h4 id="device-flow-error-responses"><a href="#device-flow-error-responses" class="autolink-heading" aria-hidden="true" tabindex="-1">Device Flow Error Responses<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h4><table><thead><tr><th>Error</th><th>Description</th><th>Action</th></tr></thead><tbody><tr><td><code>authorization_pending</code></td><td>User hasn&#x27;t completed authorization yet</td><td>Continue polling</td></tr><tr><td><code>slow_down</code></td><td>Polling too frequently</td><td>Increase interval by 5 seconds</td></tr><tr><td><code>access_denied</code></td><td>User denied the authorization request</td><td>Stop polling, notify user</td></tr><tr><td><code>expired_token</code></td><td>Device code has expired</td><td>Restart the flow from step 1</td></tr></tbody></table><h4 id="device-flow-example"><a href="#device-flow-example" class="autolink-heading" aria-hidden="true" tabindex="-1">Device Flow Example<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h4><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Python</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-python"><code class="code-highlight language-python"><span class="code-line"><span class="token keyword">import</span> time
</span><span class="code-line"><span class="token keyword">import</span> requests
</span><span class="code-line">
</span><span class="code-line">CLIENT_ID <span class="token operator">=</span> <span class="token string">&#x27;your-client-id&#x27;</span>
</span><span class="code-line">DEVICE_AUTH_URL <span class="token operator">=</span> <span class="token string">&#x27;https://sentry.io/oauth/device/code/&#x27;</span>
</span><span class="code-line">TOKEN_URL <span class="token operator">=</span> <span class="token string">&#x27;https://sentry.io/oauth/token/&#x27;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">authenticate</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    <span class="token comment"># Step 1: Request device code</span>
</span><span class="code-line">    response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>DEVICE_AUTH_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token string">&#x27;client_id&#x27;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&#x27;scope&#x27;</span><span class="token punctuation">:</span> <span class="token string">&#x27;org:read project:read&#x27;</span>
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">    data <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    device_code <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;device_code&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    user_code <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;user_code&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    verification_uri <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;verification_uri&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    verification_uri_complete <span class="token operator">=</span> data<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;verification_uri_complete&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line">    interval <span class="token operator">=</span> data<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;interval&#x27;</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">)</span>
</span><span class="code-line">    expires_in <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;expires_in&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">
</span><span class="code-line">    <span class="token comment"># Step 2: Display instructions</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;\nTo authenticate, visit: </span><span class="token interpolation"><span class="token punctuation">{</span>verification_uri<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;Enter code: </span><span class="token interpolation"><span class="token punctuation">{</span>user_code<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">if</span> verification_uri_complete<span class="token punctuation">:</span>
</span><span class="code-line">        <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;\nOr open this link directly: </span><span class="token interpolation"><span class="token punctuation">{</span>verification_uri_complete<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    <span class="token comment"># Step 3: Poll for token</span>
</span><span class="code-line">    deadline <span class="token operator">=</span> time<span class="token punctuation">.</span>time<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> expires_in
</span><span class="code-line">    <span class="token keyword">while</span> time<span class="token punctuation">.</span>time<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&lt;</span> deadline<span class="token punctuation">:</span>
</span><span class="code-line">        time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span>interval<span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">        response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>TOKEN_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">            <span class="token string">&#x27;client_id&#x27;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token string">&#x27;device_code&#x27;</span><span class="token punctuation">:</span> device_code<span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token string">&#x27;grant_type&#x27;</span><span class="token punctuation">:</span> <span class="token string">&#x27;urn:ietf:params:oauth:grant-type:device_code&#x27;</span>
</span><span class="code-line">        <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">        result <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">        <span class="token keyword">if</span> <span class="token string">&#x27;access_token&#x27;</span> <span class="token keyword">in</span> result<span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token comment"># Step 4: Success</span>
</span><span class="code-line">            <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;Authentication successful!&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">            <span class="token keyword">return</span> result<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span><span class="token punctuation">,</span> result<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">
</span><span class="code-line">        error <span class="token operator">=</span> result<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;error&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line">        <span class="token keyword">if</span> error <span class="token operator">==</span> <span class="token string">&#x27;authorization_pending&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">continue</span>
</span><span class="code-line">        <span class="token keyword">elif</span> error <span class="token operator">==</span> <span class="token string">&#x27;slow_down&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            interval <span class="token operator">+=</span> <span class="token number">5</span>
</span><span class="code-line">        <span class="token keyword">elif</span> error <span class="token operator">==</span> <span class="token string">&#x27;access_denied&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string">&quot;User denied authorization&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">        <span class="token keyword">elif</span> error <span class="token operator">==</span> <span class="token string">&#x27;expired_token&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string">&quot;Device code expired&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">        <span class="token keyword">else</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;Unexpected error: </span><span class="token interpolation"><span class="token punctuation">{</span>error<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string">&quot;Authorization timed out&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">if</span> __name__ <span class="token operator">==</span> <span class="token string">&#x27;__main__&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">    access_token<span class="token punctuation">,</span> refresh_token <span class="token operator">=</span> authenticate<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;Access token: </span><span class="token interpolation"><span class="token punctuation">{</span>access_token<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token format-spec">20]</span><span class="token punctuation">}</span></span><span class="token string">...&quot;</span></span><span class="token punctuation">)</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="python" hidden=""><pre class="language-python"><code class="code-highlight language-python"><span class="code-line"><span class="token keyword">import</span> time
</span><span class="code-line"><span class="token keyword">import</span> requests
</span><span class="code-line">
</span><span class="code-line">CLIENT_ID <span class="token operator">=</span> <span class="token string">&#x27;your-client-id&#x27;</span>
</span><span class="code-line">DEVICE_AUTH_URL <span class="token operator">=</span> <span class="token string">&#x27;https://sentry.io/oauth/device/code/&#x27;</span>
</span><span class="code-line">TOKEN_URL <span class="token operator">=</span> <span class="token string">&#x27;https://sentry.io/oauth/token/&#x27;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">authenticate</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    <span class="token comment"># Step 1: Request device code</span>
</span><span class="code-line">    response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>DEVICE_AUTH_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token string">&#x27;client_id&#x27;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&#x27;scope&#x27;</span><span class="token punctuation">:</span> <span class="token string">&#x27;org:read project:read&#x27;</span>
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">    data <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    device_code <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;device_code&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    user_code <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;user_code&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    verification_uri <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;verification_uri&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    verification_uri_complete <span class="token operator">=</span> data<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;verification_uri_complete&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line">    interval <span class="token operator">=</span> data<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;interval&#x27;</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">)</span>
</span><span class="code-line">    expires_in <span class="token operator">=</span> data<span class="token punctuation">[</span><span class="token string">&#x27;expires_in&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">
</span><span class="code-line">    <span class="token comment"># Step 2: Display instructions</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;\nTo authenticate, visit: </span><span class="token interpolation"><span class="token punctuation">{</span>verification_uri<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;Enter code: </span><span class="token interpolation"><span class="token punctuation">{</span>user_code<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">if</span> verification_uri_complete<span class="token punctuation">:</span>
</span><span class="code-line">        <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;\nOr open this link directly: </span><span class="token interpolation"><span class="token punctuation">{</span>verification_uri_complete<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    <span class="token comment"># Step 3: Poll for token</span>
</span><span class="code-line">    deadline <span class="token operator">=</span> time<span class="token punctuation">.</span>time<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> expires_in
</span><span class="code-line">    <span class="token keyword">while</span> time<span class="token punctuation">.</span>time<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">&lt;</span> deadline<span class="token punctuation">:</span>
</span><span class="code-line">        time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span>interval<span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">        response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>TOKEN_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">            <span class="token string">&#x27;client_id&#x27;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token string">&#x27;device_code&#x27;</span><span class="token punctuation">:</span> device_code<span class="token punctuation">,</span>
</span><span class="code-line">            <span class="token string">&#x27;grant_type&#x27;</span><span class="token punctuation">:</span> <span class="token string">&#x27;urn:ietf:params:oauth:grant-type:device_code&#x27;</span>
</span><span class="code-line">        <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">        result <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">        <span class="token keyword">if</span> <span class="token string">&#x27;access_token&#x27;</span> <span class="token keyword">in</span> result<span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token comment"># Step 4: Success</span>
</span><span class="code-line">            <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;Authentication successful!&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">            <span class="token keyword">return</span> result<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span><span class="token punctuation">,</span> result<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">
</span><span class="code-line">        error <span class="token operator">=</span> result<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;error&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line">        <span class="token keyword">if</span> error <span class="token operator">==</span> <span class="token string">&#x27;authorization_pending&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">continue</span>
</span><span class="code-line">        <span class="token keyword">elif</span> error <span class="token operator">==</span> <span class="token string">&#x27;slow_down&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            interval <span class="token operator">+=</span> <span class="token number">5</span>
</span><span class="code-line">        <span class="token keyword">elif</span> error <span class="token operator">==</span> <span class="token string">&#x27;access_denied&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string">&quot;User denied authorization&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">        <span class="token keyword">elif</span> error <span class="token operator">==</span> <span class="token string">&#x27;expired_token&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string">&quot;Device code expired&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">        <span class="token keyword">else</span><span class="token punctuation">:</span>
</span><span class="code-line">            <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;Unexpected error: </span><span class="token interpolation"><span class="token punctuation">{</span>error<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    <span class="token keyword">raise</span> Exception<span class="token punctuation">(</span><span class="token string">&quot;Authorization timed out&quot;</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">if</span> __name__ <span class="token operator">==</span> <span class="token string">&#x27;__main__&#x27;</span><span class="token punctuation">:</span>
</span><span class="code-line">    access_token<span class="token punctuation">,</span> refresh_token <span class="token operator">=</span> authenticate<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f&quot;Access token: </span><span class="token interpolation"><span class="token punctuation">{</span>access_token<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token format-spec">20]</span><span class="token punctuation">}</span></span><span class="token string">...&quot;</span></span><span class="token punctuation">)</span>
</span></code></pre></div></div><h3 id="pkce-proof-key-for-code-exchange"><a href="#pkce-proof-key-for-code-exchange" class="autolink-heading" aria-hidden="true" tabindex="-1">PKCE (Proof Key for Code Exchange)<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><p>PKCE protects against authorization code interception attacks and is strongly recommended for all OAuth clients.</p><p><strong>How it works:</strong> For each authorization request, generate a unique random secret called the <code>code_verifier</code>. Create a <code>code_challenge</code> by hashing this verifier. The challenge is sent with the authorization request, while the original verifier is sent when exchanging the code for a token. Sentry verifies they match, ensuring the same client that started the flow is completing it.</p><p><strong>Generating PKCE values (generate fresh for each authorization request):</strong></p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Python</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-python"><code class="code-highlight language-python"><span class="code-line"><span class="token keyword">import</span> base64
</span><span class="code-line"><span class="token keyword">import</span> hashlib
</span><span class="code-line"><span class="token keyword">import</span> secrets
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># Generate a random code_verifier (43-128 URL-safe characters)</span>
</span><span class="code-line">code_verifier <span class="token operator">=</span> secrets<span class="token punctuation">.</span>token_urlsafe<span class="token punctuation">(</span><span class="token number">64</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># Create code_challenge by hashing the verifier with SHA256</span>
</span><span class="code-line">code_challenge <span class="token operator">=</span> base64<span class="token punctuation">.</span>urlsafe_b64encode<span class="token punctuation">(</span>
</span><span class="code-line">    hashlib<span class="token punctuation">.</span>sha256<span class="token punctuation">(</span>code_verifier<span class="token punctuation">.</span>encode<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>digest<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">)</span><span class="token punctuation">.</span>rstrip<span class="token punctuation">(</span><span class="token string">b&#x27;=&#x27;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>decode<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># Store code_verifier securely - you&#x27;ll need it for the token exchange</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="python" hidden=""><pre class="language-python"><code class="code-highlight language-python"><span class="code-line"><span class="token keyword">import</span> base64
</span><span class="code-line"><span class="token keyword">import</span> hashlib
</span><span class="code-line"><span class="token keyword">import</span> secrets
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># Generate a random code_verifier (43-128 URL-safe characters)</span>
</span><span class="code-line">code_verifier <span class="token operator">=</span> secrets<span class="token punctuation">.</span>token_urlsafe<span class="token punctuation">(</span><span class="token number">64</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># Create code_challenge by hashing the verifier with SHA256</span>
</span><span class="code-line">code_challenge <span class="token operator">=</span> base64<span class="token punctuation">.</span>urlsafe_b64encode<span class="token punctuation">(</span>
</span><span class="code-line">    hashlib<span class="token punctuation">.</span>sha256<span class="token punctuation">(</span>code_verifier<span class="token punctuation">.</span>encode<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>digest<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token punctuation">)</span><span class="token punctuation">.</span>rstrip<span class="token punctuation">(</span><span class="token string">b&#x27;=&#x27;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>decode<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># Store code_verifier securely - you&#x27;ll need it for the token exchange</span>
</span></code></pre></div></div><h3 id="error-handling"><a href="#error-handling" class="autolink-heading" aria-hidden="true" tabindex="-1">Error Handling<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><table><thead><tr><th>Status Code</th><th>Meaning</th><th>Action</th></tr></thead><tbody><tr><td>401</td><td>Token expired or revoked</td><td>Refresh the token, or prompt user to reconnect</td></tr><tr><td>403</td><td>Insufficient permissions</td><td>Request additional scopes or handle gracefully</td></tr></tbody></table><h3 id="example-implementation"><a href="#example-implementation" class="autolink-heading" aria-hidden="true" tabindex="-1">Example Implementation<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h3><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Python</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-python"><code class="code-highlight language-python"><span class="code-line"><span class="token keyword">import</span> base64
</span><span class="code-line"><span class="token keyword">import</span> hashlib
</span><span class="code-line"><span class="token keyword">import</span> secrets
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">import</span> requests
</span><span class="code-line"><span class="token keyword">from</span> flask <span class="token keyword">import</span> Flask<span class="token punctuation">,</span> redirect<span class="token punctuation">,</span> request<span class="token punctuation">,</span> session
</span><span class="code-line">
</span><span class="code-line">app <span class="token operator">=</span> Flask<span class="token punctuation">(</span>__name__<span class="token punctuation">)</span>
</span><span class="code-line">app<span class="token punctuation">.</span>secret_key <span class="token operator">=</span> <span class="token string">&#x27;your-secret-key&#x27;</span>
</span><span class="code-line">
</span><span class="code-line">CLIENT_ID <span class="token operator">=</span> <span class="token string">&#x27;your-client-id&#x27;</span>
</span><span class="code-line">CLIENT_SECRET <span class="token operator">=</span> <span class="token string">&#x27;your-client-secret&#x27;</span>
</span><span class="code-line">REDIRECT_URI <span class="token operator">=</span> <span class="token string">&#x27;https://your-app.com/callback&#x27;</span>
</span><span class="code-line">TOKEN_URL <span class="token operator">=</span> <span class="token string">&#x27;https://sentry.io/oauth/token/&#x27;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">generate_pkce_pair</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    <span class="token string triple-quoted-string">&quot;&quot;&quot;Generate a code verifier and challenge for PKCE.&quot;&quot;&quot;</span>
</span><span class="code-line">    code_verifier <span class="token operator">=</span> secrets<span class="token punctuation">.</span>token_urlsafe<span class="token punctuation">(</span><span class="token number">64</span><span class="token punctuation">)</span>
</span><span class="code-line">    code_challenge <span class="token operator">=</span> base64<span class="token punctuation">.</span>urlsafe_b64encode<span class="token punctuation">(</span>
</span><span class="code-line">        hashlib<span class="token punctuation">.</span>sha256<span class="token punctuation">(</span>code_verifier<span class="token punctuation">.</span>encode<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>digest<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token punctuation">)</span><span class="token punctuation">.</span>rstrip<span class="token punctuation">(</span><span class="token string">b&#x27;=&#x27;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>decode<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">return</span> code_verifier<span class="token punctuation">,</span> code_challenge
</span><span class="code-line">
</span><span class="code-line"><span class="token punctuation annotation decorator">@app<span class="token punctuation">.</span>route</span><span class="token punctuation">(</span><span class="token string">&#x27;/connect&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">connect</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    code_verifier<span class="token punctuation">,</span> code_challenge <span class="token operator">=</span> generate_pkce_pair<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;code_verifier&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> code_verifier
</span><span class="code-line">
</span><span class="code-line">    <span class="token keyword">return</span> redirect<span class="token punctuation">(</span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;https://sentry.io/oauth/authorize/&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;?client_id=</span><span class="token interpolation"><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;response_type=code&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;scope=org:read%20project:read&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;redirect_uri=</span><span class="token interpolation"><span class="token punctuation">{</span>REDIRECT_URI<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;code_challenge=</span><span class="token interpolation"><span class="token punctuation">{</span>code_challenge<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;code_challenge_method=S256&quot;</span></span>
</span><span class="code-line">    <span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token punctuation annotation decorator">@app<span class="token punctuation">.</span>route</span><span class="token punctuation">(</span><span class="token string">&#x27;/callback&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    code <span class="token operator">=</span> request<span class="token punctuation">.</span>args<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;code&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line">    code_verifier <span class="token operator">=</span> session<span class="token punctuation">.</span>pop<span class="token punctuation">(</span><span class="token string">&#x27;code_verifier&#x27;</span><span class="token punctuation">,</span> <span class="token boolean">None</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>TOKEN_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token string">&quot;client_id&quot;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;client_secret&quot;</span><span class="token punctuation">:</span> CLIENT_SECRET<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;grant_type&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;authorization_code&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;code&quot;</span><span class="token punctuation">:</span> code<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;code_verifier&quot;</span><span class="token punctuation">:</span> code_verifier
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">    tokens <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    <span class="token keyword">return</span> <span class="token string">&quot;Connected!&quot;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">refresh_token</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>TOKEN_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token string">&quot;client_id&quot;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;client_secret&quot;</span><span class="token punctuation">:</span> CLIENT_SECRET<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;grant_type&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;refresh_token&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;refresh_token&quot;</span><span class="token punctuation">:</span> session<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">    tokens <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span></code></pre></div></div></div></div><div data-code-tab-title="python" hidden=""><pre class="language-python"><code class="code-highlight language-python"><span class="code-line"><span class="token keyword">import</span> base64
</span><span class="code-line"><span class="token keyword">import</span> hashlib
</span><span class="code-line"><span class="token keyword">import</span> secrets
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">import</span> requests
</span><span class="code-line"><span class="token keyword">from</span> flask <span class="token keyword">import</span> Flask<span class="token punctuation">,</span> redirect<span class="token punctuation">,</span> request<span class="token punctuation">,</span> session
</span><span class="code-line">
</span><span class="code-line">app <span class="token operator">=</span> Flask<span class="token punctuation">(</span>__name__<span class="token punctuation">)</span>
</span><span class="code-line">app<span class="token punctuation">.</span>secret_key <span class="token operator">=</span> <span class="token string">&#x27;your-secret-key&#x27;</span>
</span><span class="code-line">
</span><span class="code-line">CLIENT_ID <span class="token operator">=</span> <span class="token string">&#x27;your-client-id&#x27;</span>
</span><span class="code-line">CLIENT_SECRET <span class="token operator">=</span> <span class="token string">&#x27;your-client-secret&#x27;</span>
</span><span class="code-line">REDIRECT_URI <span class="token operator">=</span> <span class="token string">&#x27;https://your-app.com/callback&#x27;</span>
</span><span class="code-line">TOKEN_URL <span class="token operator">=</span> <span class="token string">&#x27;https://sentry.io/oauth/token/&#x27;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">generate_pkce_pair</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    <span class="token string triple-quoted-string">&quot;&quot;&quot;Generate a code verifier and challenge for PKCE.&quot;&quot;&quot;</span>
</span><span class="code-line">    code_verifier <span class="token operator">=</span> secrets<span class="token punctuation">.</span>token_urlsafe<span class="token punctuation">(</span><span class="token number">64</span><span class="token punctuation">)</span>
</span><span class="code-line">    code_challenge <span class="token operator">=</span> base64<span class="token punctuation">.</span>urlsafe_b64encode<span class="token punctuation">(</span>
</span><span class="code-line">        hashlib<span class="token punctuation">.</span>sha256<span class="token punctuation">(</span>code_verifier<span class="token punctuation">.</span>encode<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span>digest<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token punctuation">)</span><span class="token punctuation">.</span>rstrip<span class="token punctuation">(</span><span class="token string">b&#x27;=&#x27;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>decode<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    <span class="token keyword">return</span> code_verifier<span class="token punctuation">,</span> code_challenge
</span><span class="code-line">
</span><span class="code-line"><span class="token punctuation annotation decorator">@app<span class="token punctuation">.</span>route</span><span class="token punctuation">(</span><span class="token string">&#x27;/connect&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">connect</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    code_verifier<span class="token punctuation">,</span> code_challenge <span class="token operator">=</span> generate_pkce_pair<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;code_verifier&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> code_verifier
</span><span class="code-line">
</span><span class="code-line">    <span class="token keyword">return</span> redirect<span class="token punctuation">(</span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;https://sentry.io/oauth/authorize/&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;?client_id=</span><span class="token interpolation"><span class="token punctuation">{</span>CLIENT_ID<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;response_type=code&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;scope=org:read%20project:read&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;redirect_uri=</span><span class="token interpolation"><span class="token punctuation">{</span>REDIRECT_URI<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;code_challenge=</span><span class="token interpolation"><span class="token punctuation">{</span>code_challenge<span class="token punctuation">}</span></span><span class="token string">&quot;</span></span>
</span><span class="code-line">        <span class="token string-interpolation"><span class="token string">f&quot;&amp;code_challenge_method=S256&quot;</span></span>
</span><span class="code-line">    <span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token punctuation annotation decorator">@app<span class="token punctuation">.</span>route</span><span class="token punctuation">(</span><span class="token string">&#x27;/callback&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    code <span class="token operator">=</span> request<span class="token punctuation">.</span>args<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">&#x27;code&#x27;</span><span class="token punctuation">)</span>
</span><span class="code-line">    code_verifier <span class="token operator">=</span> session<span class="token punctuation">.</span>pop<span class="token punctuation">(</span><span class="token string">&#x27;code_verifier&#x27;</span><span class="token punctuation">,</span> <span class="token boolean">None</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>TOKEN_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token string">&quot;client_id&quot;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;client_secret&quot;</span><span class="token punctuation">:</span> CLIENT_SECRET<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;grant_type&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;authorization_code&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;code&quot;</span><span class="token punctuation">:</span> code<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;code_verifier&quot;</span><span class="token punctuation">:</span> code_verifier
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">    tokens <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    <span class="token keyword">return</span> <span class="token string">&quot;Connected!&quot;</span>
</span><span class="code-line">
</span><span class="code-line"><span class="token keyword">def</span> <span class="token function">refresh_token</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
</span><span class="code-line">    response <span class="token operator">=</span> requests<span class="token punctuation">.</span>post<span class="token punctuation">(</span>TOKEN_URL<span class="token punctuation">,</span> data<span class="token operator">=</span><span class="token punctuation">{</span>
</span><span class="code-line">        <span class="token string">&quot;client_id&quot;</span><span class="token punctuation">:</span> CLIENT_ID<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;client_secret&quot;</span><span class="token punctuation">:</span> CLIENT_SECRET<span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;grant_type&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;refresh_token&quot;</span><span class="token punctuation">,</span>
</span><span class="code-line">        <span class="token string">&quot;refresh_token&quot;</span><span class="token punctuation">:</span> session<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    <span class="token punctuation">}</span><span class="token punctuation">)</span>
</span><span class="code-line">    tokens <span class="token operator">=</span> response<span class="token punctuation">.</span>json<span class="token punctuation">(</span><span class="token punctuation">)</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;access_token&#x27;</span><span class="token punctuation">]</span>
</span><span class="code-line">    session<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span> <span class="token operator">=</span> tokens<span class="token punctuation">[</span><span class="token string">&#x27;refresh_token&#x27;</span><span class="token punctuation">]</span>
</span></code></pre></div></div><h2 id="dsn-authentication"><a href="#dsn-authentication" class="autolink-heading" aria-hidden="true" tabindex="-1">DSN Authentication<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><p>Some API endpoints may allow DSN-based authentication. This is generally very limited and an endpoint will describe if its supported. This works similar to Bearer token authentication, but uses your DSN (Client Key).</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: DSN {DSN}&#x27;</span> https://sentry.io/api/0/<span class="token punctuation">{</span>organization_slug<span class="token punctuation">}</span>/<span class="token punctuation">{</span>project_slug<span class="token punctuation">}</span>/user-reports/
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-H</span> <span class="token string">&#x27;Authorization: DSN {DSN}&#x27;</span> https://sentry.io/api/0/<span class="token punctuation">{</span>organization_slug<span class="token punctuation">}</span>/<span class="token punctuation">{</span>project_slug<span class="token punctuation">}</span>/user-reports/
</span></code></pre></div></div><h2 id="api-keys"><a href="#api-keys" class="autolink-heading" aria-hidden="true" tabindex="-1">API Keys<svg class="anchorlink before" fill="currentColor" height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z"></path></svg></a></h2><div class="callout callout-warning" role="alert" data-sentry-component="Callout" data-sentry-source-file="index.tsx"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="callout-icon" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M8.4449 0.608765C8.0183 -0.107015 6.9817 -0.107015 6.55509 0.608766L0.161178 11.3368C-0.275824 12.07 0.252503 13 1.10608 13H13.8939C14.7475 13 15.2758 12.07 14.8388 11.3368L8.4449 0.608765ZM7.4141 1.12073C7.45288 1.05566 7.54712 1.05566 7.5859 1.12073L13.9798 11.8488C14.0196 11.9154 13.9715 12 13.8939 12H1.10608C1.02849 12 0.980454 11.9154 1.02018 11.8488L7.4141 1.12073ZM6.8269 4.48611C6.81221 4.10423 7.11783 3.78663 7.5 3.78663C7.88217 3.78663 8.18778 4.10423 8.1731 4.48612L8.01921 8.48701C8.00848 8.766 7.7792 8.98664 7.5 8.98664C7.2208 8.98664 6.99151 8.766 6.98078 8.48701L6.8269 4.48611ZM8.24989 10.476C8.24989 10.8902 7.9141 11.226 7.49989 11.226C7.08567 11.226 6.74989 10.8902 6.74989 10.476C6.74989 10.0618 7.08567 9.72599 7.49989 9.72599C7.9141 9.72599 8.24989 10.0618 8.24989 10.476Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><div class="callout-content"><h5 class="callout-header">Note</h5><div class="callout-body content-flush-bottom"><p>API keys are a legacy means of authenticating. They will still be supported but are disabled for new accounts. You should use <strong>authentication tokens</strong> wherever possible.</p></div></div></div><p>API keys are passed using HTTP Basic auth where the username is your api key, and the password is an empty value.</p><p>As an example, to get information about the project which your key is bound to, you might make a request like so:</p><div class="code-tabs-wrapper"><style data-emotion="css inqfbg">.css-inqfbg{position:relative;overflow-y:visible;}.css-inqfbg pre[class*='language-']{padding:10px 12px;border-radius:0 0 6px 6px;border:1px solid var(--accent-11);border-top:none;margin-bottom:1.5rem;}@media (max-width: 768px){.css-inqfbg{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-element="Container" data-sentry-component="CodeTabs" data-sentry-source-file="codeTabs.tsx" class="css-inqfbg"><style data-emotion="css 1dm74on">.css-1dm74on{background:var(--code-background);border:1px solid var(--accent-11);border-bottom:1px solid #40364a;height:36px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0.5rem;border-radius:6px 6px 0 0;width:100%;box-sizing:border-box;overflow:hidden;-webkit-box-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}</style><div data-sentry-element="TabBar" data-sentry-source-file="codeTabs.tsx" class="css-1dm74on"><style data-emotion="css 1mo6ki6">.css-1mo6ki6{color:#9481a4;padding:7px 6px 4px;display:inline-block;cursor:pointer;border:none;font-size:0.75rem;background:none;outline:none;border-bottom:3px solid transparent;white-space:nowrap;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-1mo6ki6:focus,.css-1mo6ki6[data-active='true']{color:#fff;border-bottom-color:#6c5fc7;}</style><button data-active="true" class="css-1mo6ki6">Bash</button></div><style data-emotion="css 1ks9pst">.css-1ks9pst{position:relative;}@media (max-width: 768px){.css-1ks9pst{width:100%;max-width:100%;overflow-x:hidden;}}</style><div data-sentry-mask="true" data-sentry-element="CodeBlockWrapper" data-sentry-source-file="codeTabs.tsx" class="css-1ks9pst"><div class="code-blocks_code-block__cTPUP" data-sentry-component="CodeBlock" data-sentry-source-file="index.tsx"><div class="code-blocks_code-actions__Mkfd3"><code class="code-blocks_filename__sQPMo"></code></div><div data-mdast="ignore" class="code-blocks_copied__PBcgM" style="opacity:0">Copied</div><div><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-u</span> <span class="token punctuation">{</span>API_KEY<span class="token punctuation">}</span>: https://sentry.io/api/0/organizations/<span class="token punctuation">{</span>organization_slug<span class="token punctuation">}</span>/projects/
</span></code></pre></div></div></div></div><div data-code-tab-title="bash" hidden=""><pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">curl</span> <span class="token variable parameter">-u</span> <span class="token punctuation">{</span>API_KEY<span class="token punctuation">}</span>: https://sentry.io/api/0/organizations/<span class="token punctuation">{</span>organization_slug<span class="token punctuation">}</span>/projects/
</span></code></pre></div></div><div class="callout callout-info" role="alert" data-sentry-component="Callout" data-sentry-source-file="index.tsx"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="callout-icon" data-sentry-element="Icon" data-sentry-source-file="index.tsx"><path d="M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><div class="callout-content"><div class="callout-body content-flush-bottom"><p>You <strong>must</strong> pass a value for the password, which is the reason the <code>:</code> is present in our example.</p></div></div></div></div><div class="grid grid-cols-2 gap-4 not-prose mt-16"><div class="col-span-1"><a href="/api/" class="no-underline" data-sentry-component="PaginationNav" data-sentry-source-file="paginationNav.tsx"><div class="py-3 px-4 border-2 dark:[border-color:var(--gray-4)]  rounded-md transition-colors hover:[border-color:var(--accent)] text-left"><div class="text-sm [color:var(--foreground)]">Previous</div><div class="flex items-center gap-1 font-[500] justify-start"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg>API Reference</div></div></a></div><div class="col-span-1"><a href="/api/pagination/" class="no-underline" data-sentry-component="PaginationNav" data-sentry-source-file="paginationNav.tsx"><div class="py-3 px-4 border-2 dark:[border-color:var(--gray-4)]  rounded-md transition-colors hover:[border-color:var(--accent)] text-right"><div class="text-sm [color:var(--foreground)]">Next</div><div class="flex items-center gap-1 font-[500] justify-end">Paginating Results<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></div></a></div></div><div class="space-y-4 py-4 border-[var(--gray-6)]"><div class="flex items-center gap-4 text-sm mt-8"><span class="font-medium">Was this helpful?</span><div class="flex"><button class="py-1 px-2 gap-4 hover:bg-[var(--gray-3)] rounded flex items-center justify-center" aria-label="Yes, this was helpful">Yes 👍</button><button class="py-1 px-2 gap-4 hover:bg-[var(--gray-3)] rounded flex items-center justify-center" aria-label="No, this wasn&#x27;t helpful">No 👎</button></div></div><div class="overflow-hidden transition-all duration-300 ease-in-out max-h-0 opacity-0"><form class="space-y-4"><div><label for="comments" class="block text-sm font-medium mb-2">How can we improve this page?</label><textarea id="comments" name="comments" required="" rows="2" class="w-[calc(100%-4px)] ml-[2px] px-3 py-2 border border-[var(--gray-6)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--accent)] bg-transparent text-sm" placeholder="Please share your thoughts..."></textarea></div><div><label for="email" class="block text-sm font-medium mb-2">Email<!-- --> <span class="text-[var(--gray-9)] font-normal">(optional)</span></label><input type="email" id="email" class="w-[calc(100%-4px)] ml-[2px] px-3 py-2 border border-[var(--gray-6)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--accent)] bg-transparent text-sm" placeholder="your@email.com" name="email"/></div><div class="pt-2"><button data-accent-color="" type="submit" class="rt-reset rt-BaseButton rt-r-size-3 rt-variant-solid rt-Button px-4 py-2 text-sm rounded-lg bg-[var(--accent-purple)]">Submit feedback</button></div></form></div></div></div></div></main><aside data-layout-anchor="right" class="sticky h-[calc(100vh-var(--header-height))] top-[var(--header-height)] overflow-y-auto hidden toc:block flex-none w-[250px] min-w-[250px]" style="margin-right:var(--layout-offset, 0px)"><div class="sidebar"><div class="style_doc-toc__vjQZA" data-sentry-component="SidebarTableOfContents" data-sentry-source-file="index.tsx"><ul class="style_section-nav__El0F9"></ul></div></div></aside></section><style>
        :root {
          --doc-content-w: 1100px;
          --toc-w: 250px;
          --layout-total: calc(var(--sidebar-width, 300px) + var(--doc-content-w) + var(--toc-w));
          /* Fluid centering offset: 0 when viewport <= total layout width,
             grows equally on both sides when viewport > total layout width.
             This shifts the entire sidebar+content+ToC assembly toward center. */
          --layout-offset: max(0px, (100vw - var(--layout-total)) / 2);
        }
        #doc-content {
          max-width: var(--doc-content-w);
          box-sizing: border-box;
        }
        /* When the TOC is visible but the full layout doesn't fit yet, shrink content
           to fill available space rather than overflowing. Only applies when the TOC
           is actually rendered (has-toc class). */
        @media (min-width: 1490px) and (max-width: 1649px) {
          .has-toc #doc-content {
            max-width: calc(100vw - var(--sidebar-width, 300px) - var(--toc-w) - 2rem);
          }
        }
        /* Mobile responsive styles */
        @media (max-width: 768px) {
          .main-content {
            width: 100%;
            max-width: 100%;
            overflow-x: hidden;
          }
          #doc-content {
            width: 100%;
            max-width: 100%;
            overflow-x: hidden;
          }
        }
      </style></div><!--$--><!--/$--></div></div><script src="/_next/static/chunks/webpack-1fa2b0271bb96844.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[16560,[\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"7177\",\"static/chunks/app/layout-7000b08e91adb214.js\"],\"\"]\n3:I[46565,[\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"7177\",\"static/chunks/app/layout-7000b08e91adb214.js\"],\"ThemeProvider\"]\n4:I[62150,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"Theme\"]\n5:I[51255,[\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"7177\",\"static/chunks/app/layout-7000b08e91adb214.js\"],\"SkipToContent\"]\n6:I[47384,[\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"7177\",\"static/chunks/app/layout-7000b08e91adb214.js\"],\"HashNavigation\"]\n7:I[96468,[],\"\"]\n8:I[11090,[],\"\"]\n9:I[38110,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"1697\",\"static/chunks/1697-d20055add46977d3.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"4345\",\"static/chunks/app/not-found-271bc2f4a5dc3032.js\"],\"default\"]\na:I[13592,[\"9415\",\"static/chunks/app/%5B%5B...path%5D%5D/layout-4f3a482a7dae070b.js\"],\"HotReload\"]\nf:I[40268,[\"4219\",\"static/chunks/app/global-error-e74f2c5f8e008e6a.js\"],\"default\"]\n:HL[\"/_next/static/media/0a86735c6520d94f-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/cd914ecf9c9071d5-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/868117c2b85f7a9d.css\",\"style\"]\n:HL[\"/_next/static/css/eaea4ce6f790adfc.css\",\"st"])</script><script>self.__next_f.push([1,"yle\"]\n:HL[\"/_next/static/css/c1588608df93822d.css\",\"style\"]\n:HL[\"/_next/static/css/923221d641f4caec.css\",\"style\"]\n:HL[\"/_next/static/css/4c45bc9e8cd6d5b4.css\",\"style\"]\n:HL[\"/_next/static/css/4bea3967abd381ec.css\",\"style\"]\n:HL[\"/_next/static/css/10157a9bf141e7e0.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Oxk7Gc78Al18Xv0WUWeU_\",\"p\":\"\",\"c\":[\"\",\"api\",\"auth\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[[\"path\",\"api/auth\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/868117c2b85f7a9d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/eaea4ce6f790adfc.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-sentry-component\":\"RootLayout\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"async\":true,\"defer\":true,\"data-api\":\"$undefined\",\"data-domain\":\"docs.sentry.io,rollup.sentry.io\",\"data-exclude\":\"$undefined\",\"src\":\"https://plausible.io/js/script.tagged-events.js\",\"integrity\":\"$undefined\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"$L2\",null,{\"id\":\"next-plausible-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }\"},\"nonce\":\"$undefined\"}],\"$undefined\"]}],[\"$\",\"body\",null,{\"className\":\"__variable_c58dd6\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"data-sentry-element\":\"ThemeProvider\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[\"$\",\"$L4\",null,{\"accentColor\":\"iris\",\"grayColor\":\"sand\",\"radius\":\"large\",\"scaling\":\"95%\",\"data-sentry-element\":\"Theme\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"$L5\",null,{\"data-sentry-element\":\"SkipToContent\",\"data-sentry-source-file\":\"layout.tsx\"}],[\"$\",\"$L6\",null,{\"data-sentry-element\":\"HashNavigation\",\"data-sentry-source-file\":\"layout.tsx\"}],[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L9\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4c45bc9e8cd6d5b4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4bea3967abd381ec.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a26e9b23686bd2d7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}],[\"$\",\"$L2\",null,{\"strategy\":\"lazyOnload\",\"src\":\"https://widget.kapa.ai/kapa-widget.bundle.js\",\"data-website-id\":\"cac7cc70-969e-4bc1-a968-55534a839be4\",\"data-button-hide\":true,\"data-modal-override-open-class\":\"kapa-ai-class\",\"data-project-name\":\"Sentry\",\"data-project-color\":\"#6A5FC1\",\"data-project-logo\":\"https://avatars.githubusercontent.com/u/1396951?s=280\u0026v=4\",\"data-font-family\":\"var(--font-rubik)\",\"data-modal-disclaimer\":\"Please note: This is a tool that searches publicly available sources. Do not include any sensitive or personal information in your queries. For more on how Sentry handles your data, see our [Privacy Policy](https://sentry.io/privacy/).\",\"data-modal-example-questions\":\"How to set up Sentry for Next.js?,What are tracePropagationTargets?\",\"data-user-analytics-cookie-enabled\":\"false\",\"data-color-scheme\":\"auto\",\"data-color-scheme-selector\":\".dark\",\"data-sentry-element\":\"Script\",\"data-sentry-source-file\":\"layout.tsx\"}]]}]]}]]}],{\"children\":[[\"path\",\"api/auth\",\"oc\"],[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c1588608df93822d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"data-sentry-component\":\"DocsLayout\",\"data-sentry-source-file\":\"layout.tsx\",\"children\":[[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$La\",null,{\"data-sentry-element\":\"HotReload\",\"data-sentry-source-file\":\"layout.tsx\"}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$Lb\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/923221d641f4caec.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4c45bc9e8cd6d5b4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4bea3967abd381ec.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],\"$Lc\"],\"$Ld\"]}],{},null,false]},null,false]},null,false],\"$Le\",false]],\"m\":\"$undefined\",\"G\":[\"$f\",[\"$L10\"]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"11:I[35025,[],\"OutletBoundary\"]\n13:I[59916,[],\"AsyncMetadataOutlet\"]\n15:I[35025,[],\"ViewportBoundary\"]\n17:I[35025,[],\"MetadataBoundary\"]\n18:\"$Sreact.suspense\"\nc:[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/10157a9bf141e7e0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nd:[\"$\",\"$L11\",null,{\"children\":[\"$L12\",[\"$\",\"$L13\",null,{\"promise\":\"$@14\"}]]}]\ne:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L17\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$18\",null,{\"fallback\":null,\"children\":\"$L19\"}]}]}]]}]\n10:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c1588608df93822d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n12:null\n"])</script><script>self.__next_f.push([1,"1a:I[37908,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"14:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Authentication\"}],[\"$\",\"meta\",\"1\",{\"name\":\"zd-site-verification\",\"content\":\"ocu6mswx6pke3c6qvozr2e\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://docs.sentry.io/api/auth/\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"Authentication\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:image\",\"content\":\"https://sentry-docs-8crvyypmm.sentry.dev/og.png\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:title\",\"content\":\"Authentication\"}],[\"$\",\"meta\",\"10\",{\"name\":\"twitter:image\",\"content\":\"https://sentry-docs-8crvyypmm.sentry.dev/og.png\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L1a\",\"14\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"19:\"$14:metadata\"\n"])</script><script>self.__next_f.push([1,"1b:I[95398,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"PageLoadMetrics\"]\nb:[[\"$\",\"$L1b\",null,{\"pageType\":\"api\",\"attributes\":{\"has_platform_content\":false,\"is_versioned\":false,\"has_versions\":false},\"data-sentry-element\":\"PageLoadMetrics\",\"data-sentry-source-file\":\"page.tsx\"}],\"$L1c\"]\n"])</script><script>self.__next_f.push([1,"1d:I[66939,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"Header\"]\n"])</script><script>self.__next_f.push([1,"1c:[\"$\",\"div\",null,{\"className\":\"tw-app has-toc\",\"data-sentry-component\":\"DocPage\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"$L1d\",null,{\"pathname\":\"api/auth\",\"searchPlatforms\":[],\"platforms\":[{\"key\":\"dotnet\",\"name\":\"dotnet\",\"type\":\"platform\",\"url\":\"/platforms/dotnet/\",\"title\":\".NET\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.dotnet\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$undefined\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"dotnet.android\",\"name\":\"android\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/android/\",\"title\":\".NET for Android\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.android\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.apple\",\"name\":\"apple\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/apple/\",\"title\":\".NET for iOS, macOS, and Mac Catalyst\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.apple\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.aspnet\",\"name\":\"aspnet\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/aspnet/\",\"title\":\"ASP.NET\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.aspnetcore\",\"name\":\"aspnetcore\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/aspnetcore/\",\"title\":\"ASP.NET Core\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.aspnetcore\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.aws-lambda\",\"name\":\"aws-lambda\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/aws-lambda/\",\"title\":\"AWS Lambda\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.aspnetcore\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.azure-functions-worker\",\"name\":\"azure-functions-worker\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/azure-functions-worker/\",\"title\":\"Azure Functions\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.azure.functions.worker\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.blazor-server\",\"name\":\"blazor-server\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/blazor-server/\",\"title\":\"Blazor Interactive SSR\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.aspnetcore\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.blazor-webassembly\",\"name\":\"blazor-webassembly\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/blazor-webassembly/\",\"title\":\"Blazor WebAssembly\",\"platform\":\"dotnet\",\"sdk\":\"sentry.aspnetcore.blazor.webassembly\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.entityframework\",\"name\":\"entityframework\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/entityframework/\",\"title\":\"Entity Framework\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.entityframework\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.google-cloud-functions\",\"name\":\"google-cloud-functions\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/google-cloud-functions/\",\"title\":\"Google Cloud Functions\",\"platform\":\"dotnet\",\"sdk\":\"sentry.google.cloud.function\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.log4net\",\"name\":\"log4net\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/log4net/\",\"title\":\"log4net\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.log4net\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.maui\",\"name\":\"maui\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/maui/\",\"title\":\"MAUI\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.maui\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.extensions-logging\",\"name\":\"extensions-logging\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/extensions-logging/\",\"title\":\"Microsoft.Extensions.Logging\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.extensions.logging\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.nlog\",\"name\":\"nlog\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/nlog/\",\"title\":\"NLog\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.nlog\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.serilog\",\"name\":\"serilog\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/serilog/\",\"title\":\"Serilog\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.serilog\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.winforms\",\"name\":\"winforms\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/winforms/\",\"title\":\"Windows Forms\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.winforms\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.winui\",\"name\":\"winui\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/winui/\",\"title\":\"WinUI\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.winui\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.wpf\",\"name\":\"wpf\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/wpf/\",\"title\":\"WPF\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.wpf\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.xamarin\",\"name\":\"xamarin\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/xamarin/\",\"title\":\"Xamarin\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.xamarin\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"android\",\"name\":\"android\",\"type\":\"platform\",\"url\":\"/platforms/android/\",\"title\":\"Android\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.java.android\",\"fallbackPlatform\":\"java\",\"language\":\"$undefined\",\"categories\":[\"mobile\"],\"keywords\":[\"kotlin\",\"ndk\"],\"guides\":[],\"integrations\":[]},{\"key\":\"apple\",\"name\":\"apple\",\"type\":\"platform\",\"url\":\"/platforms/apple/\",\"title\":\"Apple\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.cocoa\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"mobile\",\"desktop\"],\"keywords\":[\"swift\"],\"guides\":[{\"key\":\"apple.ios\",\"name\":\"ios\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/ios/\",\"title\":\"iOS\",\"platform\":\"apple\",\"sdk\":\"sentry.cocoa\",\"categories\":[\"mobile\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.macos\",\"name\":\"macos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/macos/\",\"title\":\"macOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.macos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.tvos\",\"name\":\"tvos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/tvos/\",\"title\":\"tvOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.tvos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.visionos\",\"name\":\"visionos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/visionos/\",\"title\":\"visionOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.visionos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.watchos\",\"name\":\"watchos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/watchos/\",\"title\":\"watchOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.watchos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"javascript\",\"name\":\"javascript\",\"type\":\"platform\",\"url\":\"/platforms/javascript/\",\"title\":\"JavaScript\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.javascript.browser\",\"fallbackPlatform\":\"$undefined\",\"language\":\"typescript\",\"categories\":[\"javascript\",\"browser\"],\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"javascript\",\"name\":\"javascript\",\"type\":\"guide\",\"url\":\"/platforms/javascript/\",\"title\":\"Browser JavaScript\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.browser\",\"categories\":\"$1c:props:children:0:props:platforms:3:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.angular\",\"name\":\"angular\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/angular/\",\"title\":\"Angular\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.angular\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.astro\",\"name\":\"astro\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/astro/\",\"title\":\"Astro\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.astro\",\"categories\":[\"javascript\",\"browser\",\"server\",\"server-node\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.aws-lambda\",\"name\":\"aws-lambda\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/aws-lambda/\",\"title\":\"AWS Lambda\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.aws-serverless\",\"categories\":[\"javascript\",\"server\",\"server-node\",\"serverless\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.azure-functions\",\"name\":\"azure-functions\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/azure-functions/\",\"title\":\"Azure Functions\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.astro\",\"categories\":[\"javascript\",\"server\",\"server-node\",\"serverless\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.bun\",\"name\":\"bun\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/bun/\",\"title\":\"Bun\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.bun\",\"categories\":[\"javascript\",\"server\",\"server-edge\",\"serverless\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.capacitor\",\"name\":\"capacitor\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/capacitor/\",\"title\":\"Capacitor\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.capacitor\",\"categories\":[\"javascript\",\"browser\",\"mobile\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.firebase\",\"name\":\"firebase\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/firebase/\",\"title\":\"Cloud Functions for Firebase\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\",\"serverless\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.cloudflare\",\"name\":\"cloudflare\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/cloudflare/\",\"title\":\"Cloudflare\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.cloudflare\",\"categories\":[\"javascript\",\"server\",\"server-edge\",\"serverless\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.connect\",\"name\":\"connect\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/connect/\",\"title\":\"Connect\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.cordova\",\"name\":\"cordova\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/cordova/\",\"title\":\"Cordova\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.cordova\",\"categories\":[\"javascript\",\"browser\",\"mobile\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.deno\",\"name\":\"deno\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/deno/\",\"title\":\"Deno\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.deno\",\"categories\":[\"javascript\",\"server\",\"server-edge\",\"serverless\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.effect\",\"name\":\"effect\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/effect/\",\"title\":\"Effect\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.effect\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.electron\",\"name\":\"electron\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/electron/\",\"title\":\"Electron\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.electron\",\"categories\":[\"javascript\",\"desktop\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.elysia\",\"name\":\"elysia\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/elysia/\",\"title\":\"Elysia\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.elysia\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.bun\"},{\"key\":\"javascript.ember\",\"name\":\"ember\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/ember/\",\"title\":\"Ember\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.ember\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.express\",\"name\":\"express\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/express/\",\"title\":\"Express\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.fastify\",\"name\":\"fastify\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/fastify/\",\"title\":\"Fastify\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.gatsby\",\"name\":\"gatsby\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/gatsby/\",\"title\":\"Gatsby\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.gatsby\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.gcp-functions\",\"name\":\"gcp-functions\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/gcp-functions/\",\"title\":\"Google Cloud Functions\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.google-cloud-serverless\",\"categories\":[\"javascript\",\"server\",\"server-node\",\"serverless\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.hapi\",\"name\":\"hapi\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/hapi/\",\"title\":\"Hapi\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.hono\",\"name\":\"hono\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/hono/\",\"title\":\"Hono\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.hono\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.koa\",\"name\":\"koa\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/koa/\",\"title\":\"Koa\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.nestjs\",\"name\":\"nestjs\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nestjs/\",\"title\":\"Nest.js\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nestjs\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.nextjs\",\"name\":\"nextjs\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nextjs/\",\"title\":\"Next.js\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nextjs\",\"categories\":[\"javascript\",\"browser\",\"server\",\"server-node\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.nitro\",\"name\":\"nitro\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nitro/\",\"title\":\"Nitro\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nitro\",\"categories\":[\"javascript\",\"server\",\"server-node\"],\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.node\",\"name\":\"node\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/node/\",\"title\":\"Node.js\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":[\"javascript\",\"server\",\"server-node\",\"serverless\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.nuxt\",\"name\":\"nuxt\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nuxt/\",\"title\":\"Nuxt\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nuxt\",\"categories\":[\"javascript\",\"browser\",\"server\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.react\",\"name\":\"react\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/react/\",\"title\":\"React\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.react\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.react-router\",\"name\":\"react-router\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/react-router/\",\"title\":\"React Router Framework\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.react-router\",\"categories\":[\"javascript\",\"browser\",\"server\",\"server-node\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.remix\",\"name\":\"remix\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/remix/\",\"title\":\"Remix\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.remix\",\"categories\":[\"javascript\",\"browser\",\"server\",\"server-node\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.solid\",\"name\":\"solid\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/solid/\",\"title\":\"Solid\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.solid\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.solidstart\",\"name\":\"solidstart\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/solidstart/\",\"title\":\"SolidStart\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.solidstart\",\"categories\":[\"browser\",\"server\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.svelte\",\"name\":\"svelte\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/svelte/\",\"title\":\"Svelte\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.svelte\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.sveltekit\",\"name\":\"sveltekit\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/sveltekit/\",\"title\":\"SvelteKit\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.sveltekit\",\"categories\":[\"javascript\",\"browser\",\"server\",\"server-node\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.tanstackstart-react\",\"name\":\"tanstackstart-react\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/tanstackstart-react/\",\"title\":\"TanStack Start React\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.tanstackstart-react\",\"categories\":[\"javascript\",\"server\",\"server-node\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.vue\",\"name\":\"vue\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/vue/\",\"title\":\"Vue\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.vue\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.wasm\",\"name\":\"wasm\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/wasm/\",\"title\":\"Wasm\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.wasm\",\"categories\":[\"javascript\",\"browser\"],\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"dart\",\"name\":\"dart\",\"type\":\"platform\",\"url\":\"/platforms/dart/\",\"title\":\"Dart\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.dart\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"desktop\",\"mobile\",\"server\"],\"keywords\":[\"flutter\",\"dart\"],\"guides\":[{\"key\":\"dart.flutter\",\"name\":\"flutter\",\"type\":\"guide\",\"url\":\"/platforms/dart/guides/flutter/\",\"title\":\"Flutter\",\"platform\":\"dart\",\"sdk\":\"sentry.dart.flutter\",\"categories\":[\"mobile\",\"browser\",\"desktop\"],\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"elixir\",\"name\":\"elixir\",\"type\":\"platform\",\"url\":\"/platforms/elixir/\",\"title\":\"Elixir\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.elixir\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"server\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[{\"key\":\"plug_and_phoenix\",\"name\":\"Plug and Phoenix\",\"icon\":\"elixir.plug_and_phoenix\",\"url\":\"/platforms/elixir/integrations/plug_and_phoenix\",\"platform\":\"elixir\",\"type\":\"integration\"},{\"key\":\"oban\",\"name\":\"Oban\",\"icon\":\"elixir.oban\",\"url\":\"/platforms/elixir/integrations/oban\",\"platform\":\"elixir\",\"type\":\"integration\"},{\"key\":\"quantum\",\"name\":\"Quantum\",\"icon\":\"elixir.quantum\",\"url\":\"/platforms/elixir/integrations/quantum\",\"platform\":\"elixir\",\"type\":\"integration\"},{\"key\":\"telemetry\",\"name\":\"Telemetry\",\"icon\":\"elixir.telemetry\",\"url\":\"/platforms/elixir/integrations/telemetry\",\"platform\":\"elixir\",\"type\":\"integration\"}]},{\"key\":\"go\",\"name\":\"go\",\"type\":\"platform\",\"url\":\"/platforms/go/\",\"title\":\"Go\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.go\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$undefined\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"go.echo\",\"name\":\"echo\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/echo/\",\"title\":\"Echo\",\"platform\":\"go\",\"sdk\":\"sentry.go.echo\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.fasthttp\",\"name\":\"fasthttp\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/fasthttp/\",\"title\":\"FastHTTP\",\"platform\":\"go\",\"sdk\":\"sentry.go.fasthttp\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.fiber\",\"name\":\"fiber\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/fiber/\",\"title\":\"Fiber\",\"platform\":\"go\",\"sdk\":\"sentry.go.fiber\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.gin\",\"name\":\"gin\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/gin/\",\"title\":\"Gin\",\"platform\":\"go\",\"sdk\":\"sentry.go.gin\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.grpc\",\"name\":\"grpc\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/grpc/\",\"title\":\"gRPC\",\"platform\":\"go\",\"sdk\":\"sentry.go.grpc\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.iris\",\"name\":\"iris\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/iris/\",\"title\":\"Iris\",\"platform\":\"go\",\"sdk\":\"sentry.go.iris\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.negroni\",\"name\":\"negroni\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/negroni/\",\"title\":\"Negroni\",\"platform\":\"go\",\"sdk\":\"sentry.go.negroni\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.http\",\"name\":\"http\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/http/\",\"title\":\"net/http\",\"platform\":\"go\",\"sdk\":\"sentry.go.http\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"godot\",\"name\":\"godot\",\"type\":\"platform\",\"url\":\"/platforms/godot/\",\"title\":\"Godot Engine\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.godot\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"desktop\",\"browser\",\"gaming\"],\"keywords\":[\"Godot\",\"Engine\"],\"guides\":[],\"integrations\":[]},{\"key\":\"java\",\"name\":\"java\",\"type\":\"platform\",\"url\":\"/platforms/java/\",\"title\":\"Java\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.java\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"desktop\",\"server\"],\"keywords\":[\"kotlin\"],\"guides\":[{\"key\":\"java.jul\",\"name\":\"jul\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/jul/\",\"title\":\"java.util.logging\",\"platform\":\"java\",\"sdk\":\"sentry.java.jul\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.log4j2\",\"name\":\"log4j2\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/log4j2/\",\"title\":\"Log4j 2.x\",\"platform\":\"java\",\"sdk\":\"sentry.java.log4j2\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.logback\",\"name\":\"logback\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/logback/\",\"title\":\"Logback\",\"platform\":\"java\",\"sdk\":\"sentry.java.logback\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.servlet\",\"name\":\"servlet\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/servlet/\",\"title\":\"Servlet\",\"platform\":\"java\",\"sdk\":\"sentry.java.servlet\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.spring\",\"name\":\"spring\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/spring/\",\"title\":\"Spring\",\"platform\":\"java\",\"sdk\":\"sentry.java.spring\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.spring-boot\",\"name\":\"spring-boot\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/spring-boot/\",\"title\":\"Spring Boot\",\"platform\":\"java\",\"sdk\":\"sentry.java.spring-boot\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"kotlin\",\"name\":\"kotlin\",\"type\":\"platform\",\"url\":\"/platforms/kotlin/\",\"title\":\"Kotlin\",\"caseStyle\":\"camelCase\",\"sdk\":\"$undefined\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"mobile\",\"desktop\",\"server\"],\"keywords\":[\"kotlin\"],\"guides\":[{\"key\":\"kotlin.kotlin-multiplatform\",\"name\":\"kotlin-multiplatform\",\"type\":\"guide\",\"url\":\"/platforms/kotlin/guides/kotlin-multiplatform/\",\"title\":\"Kotlin Multiplatform\",\"platform\":\"kotlin\",\"sdk\":\"sentry.kotlin.kmp\",\"categories\":[\"mobile\",\"desktop\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"kotlin.compose-multiplatform\",\"name\":\"compose-multiplatform\",\"type\":\"guide\",\"url\":\"/platforms/kotlin/guides/compose-multiplatform/\",\"title\":\"Compose Multiplatform\",\"platform\":\"kotlin\",\"sdk\":\"sentry.kotlin.multiplatform\",\"categories\":[\"kotlin\",\"multiplatform\"],\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"native\",\"name\":\"native\",\"type\":\"platform\",\"url\":\"/platforms/native/\",\"title\":\"Native\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.native\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"mobile\",\"desktop\"],\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"native.breakpad\",\"name\":\"breakpad\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/breakpad/\",\"title\":\"Google Breakpad\",\"platform\":\"native\",\"sdk\":\"sentry.native.breakpad\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.crashpad\",\"name\":\"crashpad\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/crashpad/\",\"title\":\"Google Crashpad\",\"platform\":\"native\",\"sdk\":\"sentry.native.crashpad\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.minidumps\",\"name\":\"minidumps\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/minidumps/\",\"title\":\"Minidumps\",\"platform\":\"native\",\"sdk\":\"sentry.native.minidumps\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.qt\",\"name\":\"qt\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/qt/\",\"title\":\"Qt\",\"platform\":\"native\",\"sdk\":\"sentry.native.qt\",\"categories\":[\"desktop\",\"mobile\"],\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.wasm\",\"name\":\"wasm\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/wasm/\",\"title\":\"WebAssembly\",\"platform\":\"native\",\"sdk\":\"sentry.native.wasm\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"nintendo-switch\",\"name\":\"nintendo-switch\",\"type\":\"platform\",\"url\":\"/platforms/nintendo-switch/\",\"title\":\"Nintendo Switch\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.nintendo-switch\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"console\",\"gaming\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"php\",\"name\":\"php\",\"type\":\"platform\",\"url\":\"/platforms/php/\",\"title\":\"PHP\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.php\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"server\"],\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"php.laravel\",\"name\":\"laravel\",\"type\":\"guide\",\"url\":\"/platforms/php/guides/laravel/\",\"title\":\"Laravel\",\"platform\":\"php\",\"sdk\":\"sentry.php.laravel\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"php.symfony\",\"name\":\"symfony\",\"type\":\"guide\",\"url\":\"/platforms/php/guides/symfony/\",\"title\":\"Symfony\",\"platform\":\"php\",\"sdk\":\"sentry.php.symfony\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"playstation\",\"name\":\"playstation\",\"type\":\"platform\",\"url\":\"/platforms/playstation/\",\"title\":\"PlayStation\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.playstation\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"console\",\"gaming\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"powershell\",\"name\":\"powershell\",\"type\":\"platform\",\"url\":\"/platforms/powershell/\",\"title\":\"PowerShell\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.dotnet.powershell\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"server\",\"desktop\",\"console\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"python\",\"name\":\"python\",\"type\":\"platform\",\"url\":\"/platforms/python/\",\"title\":\"Python\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.python\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"server\",\"serverless\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[{\"key\":\"aiohttp\",\"name\":\"AIOHTTP\",\"icon\":\"python.aiohttp\",\"url\":\"/platforms/python/integrations/aiohttp\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"aiomysql\",\"name\":\"aiomysql\",\"icon\":\"python.aiomysql\",\"url\":\"/platforms/python/integrations/aiomysql\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"anthropic\",\"name\":\"Anthropic\",\"icon\":\"python.anthropic\",\"url\":\"/platforms/python/integrations/anthropic\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"airflow\",\"name\":\"Apache Airflow\",\"icon\":\"python.airflow\",\"url\":\"/platforms/python/integrations/airflow\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"beam\",\"name\":\"Apache Beam\",\"icon\":\"python.beam\",\"url\":\"/platforms/python/integrations/beam\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"spark\",\"name\":\"Apache Spark\",\"icon\":\"python.spark\",\"url\":\"/platforms/python/integrations/spark\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"ariadne\",\"name\":\"Ariadne\",\"icon\":\"python.ariadne\",\"url\":\"/platforms/python/integrations/ariadne\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"arq\",\"name\":\"arq\",\"icon\":\"python.arq\",\"url\":\"/platforms/python/integrations/arq\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"asgi\",\"name\":\"ASGI\",\"icon\":\"python.asgi\",\"url\":\"/platforms/python/integrations/asgi\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"asyncio\",\"name\":\"asyncio\",\"icon\":\"python.asyncio\",\"url\":\"/platforms/python/integrations/asyncio\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"asyncpg\",\"name\":\"asyncpg\",\"icon\":\"python.asyncpg\",\"url\":\"/platforms/python/integrations/asyncpg\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"aws-lambda\",\"name\":\"AWS Lambda\",\"icon\":\"python.aws-lambda\",\"url\":\"/platforms/python/integrations/aws-lambda\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"boto3\",\"name\":\"Boto3\",\"icon\":\"python.boto3\",\"url\":\"/platforms/python/integrations/boto3\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"bottle\",\"name\":\"Bottle\",\"icon\":\"python.bottle\",\"url\":\"/platforms/python/integrations/bottle\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"celery\",\"name\":\"Celery\",\"icon\":\"python.celery\",\"url\":\"/platforms/python/integrations/celery\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"chalice\",\"name\":\"Chalice\",\"icon\":\"python.chalice\",\"url\":\"/platforms/python/integrations/chalice\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"clickhouse-driver\",\"name\":\"clickhouse-driver\",\"icon\":\"python.clickhouse-driver\",\"url\":\"/platforms/python/integrations/clickhouse-driver\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"cloudresourcecontext\",\"name\":\"Cloud Resource Context\",\"icon\":\"python.cloudresourcecontext\",\"url\":\"/platforms/python/integrations/cloudresourcecontext\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"django\",\"name\":\"Django\",\"icon\":\"python.django\",\"url\":\"/platforms/python/integrations/django\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"dramatiq\",\"name\":\"Dramatiq\",\"icon\":\"python.dramatiq\",\"url\":\"/platforms/python/integrations/dramatiq\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"falcon\",\"name\":\"Falcon\",\"icon\":\"python.falcon\",\"url\":\"/platforms/python/integrations/falcon\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"fastapi\",\"name\":\"FastAPI\",\"icon\":\"python.fastapi\",\"url\":\"/platforms/python/integrations/fastapi\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"flask\",\"name\":\"Flask\",\"icon\":\"python.flask\",\"url\":\"/platforms/python/integrations/flask\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"gnu_backtrace\",\"name\":\"GNU Backtrace\",\"icon\":\"python.gnu_backtrace\",\"url\":\"/platforms/python/integrations/gnu_backtrace\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"gcp-functions\",\"name\":\"Google Cloud Functions\",\"icon\":\"python.gcp-functions\",\"url\":\"/platforms/python/integrations/gcp-functions\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"google-genai\",\"name\":\"Google Gen AI\",\"icon\":\"python.google-genai\",\"url\":\"/platforms/python/integrations/google-genai\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"gql\",\"name\":\"GQL\",\"icon\":\"python.gql\",\"url\":\"/platforms/python/integrations/gql\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"graphene\",\"name\":\"Graphene\",\"icon\":\"python.graphene\",\"url\":\"/platforms/python/integrations/graphene\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"grpc\",\"name\":\"gRPC\",\"icon\":\"python.grpc\",\"url\":\"/platforms/python/integrations/grpc\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"httpx\",\"name\":\"HTTPX\",\"icon\":\"python.httpx\",\"url\":\"/platforms/python/integrations/httpx\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"httpx2\",\"name\":\"HTTPX2\",\"icon\":\"python.httpx2\",\"url\":\"/platforms/python/integrations/httpx2\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"huey\",\"name\":\"huey\",\"icon\":\"python.huey\",\"url\":\"/platforms/python/integrations/huey\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"huggingface_hub\",\"name\":\"Hugging Face Hub\",\"icon\":\"python.huggingface_hub\",\"url\":\"/platforms/python/integrations/huggingface_hub\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"langchain\",\"name\":\"LangChain\",\"icon\":\"python.langchain\",\"url\":\"/platforms/python/integrations/langchain\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"langgraph\",\"name\":\"LangGraph\",\"icon\":\"python.langgraph\",\"url\":\"/platforms/python/integrations/langgraph\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"launchdarkly\",\"name\":\"LaunchDarkly\",\"icon\":\"python.launchdarkly\",\"url\":\"/platforms/python/integrations/launchdarkly\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"litellm\",\"name\":\"LiteLLM\",\"icon\":\"python.litellm\",\"url\":\"/platforms/python/integrations/litellm\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"litestar\",\"name\":\"Litestar\",\"icon\":\"python.litestar\",\"url\":\"/platforms/python/integrations/litestar\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"logging\",\"name\":\"Logging\",\"icon\":\"python.logging\",\"url\":\"/platforms/python/integrations/logging\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"loguru\",\"name\":\"Loguru\",\"icon\":\"python.loguru\",\"url\":\"/platforms/python/integrations/loguru\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"mcp\",\"name\":\"MCP (Model Context Protocol)\",\"icon\":\"python.mcp\",\"url\":\"/platforms/python/integrations/mcp\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"openai\",\"name\":\"OpenAI\",\"icon\":\"python.openai\",\"url\":\"/platforms/python/integrations/openai\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"openai-agents\",\"name\":\"OpenAI Agents\",\"icon\":\"python.openai-agents\",\"url\":\"/platforms/python/integrations/openai-agents\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"openfeature\",\"name\":\"OpenFeature\",\"icon\":\"python.openfeature\",\"url\":\"/platforms/python/integrations/openfeature\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"otlp\",\"name\":\"OpenTelemetry (OTLP)\",\"icon\":\"python.otlp\",\"url\":\"/platforms/python/integrations/otlp\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pure_eval\",\"name\":\"pure_eval\",\"icon\":\"python.pure_eval\",\"url\":\"/platforms/python/integrations/pure_eval\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pydantic-ai\",\"name\":\"Pydantic AI\",\"icon\":\"python.pydantic-ai\",\"url\":\"/platforms/python/integrations/pydantic-ai\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pymongo\",\"name\":\"PyMongo\",\"icon\":\"python.pymongo\",\"url\":\"/platforms/python/integrations/pymongo\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pyramid\",\"name\":\"Pyramid\",\"icon\":\"python.pyramid\",\"url\":\"/platforms/python/integrations/pyramid\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pyreqwest\",\"name\":\"pyreqwest\",\"icon\":\"python.pyreqwest\",\"url\":\"/platforms/python/integrations/pyreqwest\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"quart\",\"name\":\"Quart\",\"icon\":\"python.quart\",\"url\":\"/platforms/python/integrations/quart\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"ray\",\"name\":\"Ray\",\"icon\":\"python.ray\",\"url\":\"/platforms/python/integrations/ray\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"redis\",\"name\":\"Redis\",\"icon\":\"python.redis\",\"url\":\"/platforms/python/integrations/redis\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"rq\",\"name\":\"RQ (Redis Queue)\",\"icon\":\"python.rq\",\"url\":\"/platforms/python/integrations/rq\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"rust_tracing\",\"name\":\"Rust Tracing\",\"icon\":\"python.rust_tracing\",\"url\":\"/platforms/python/integrations/rust_tracing\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"sanic\",\"name\":\"Sanic\",\"icon\":\"python.sanic\",\"url\":\"/platforms/python/integrations/sanic\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"serverless\",\"name\":\"Serverless\",\"icon\":\"python.serverless\",\"url\":\"/platforms/python/integrations/serverless\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"socket\",\"name\":\"Socket\",\"icon\":\"python.socket\",\"url\":\"/platforms/python/integrations/socket\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"sqlalchemy\",\"name\":\"SQLAlchemy\",\"icon\":\"python.sqlalchemy\",\"url\":\"/platforms/python/integrations/sqlalchemy\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"starlette\",\"name\":\"Starlette\",\"icon\":\"python.starlette\",\"url\":\"/platforms/python/integrations/starlette\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"starlite\",\"name\":\"Starlite\",\"icon\":\"python.starlite\",\"url\":\"/platforms/python/integrations/starlite\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"statsig\",\"name\":\"Statsig\",\"icon\":\"python.statsig\",\"url\":\"/platforms/python/integrations/statsig\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"strawberry\",\"name\":\"Strawberry\",\"icon\":\"python.strawberry\",\"url\":\"/platforms/python/integrations/strawberry\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"sys_exit\",\"name\":\"sys.exit\",\"icon\":\"python.sys_exit\",\"url\":\"/platforms/python/integrations/sys_exit\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"tornado\",\"name\":\"Tornado\",\"icon\":\"python.tornado\",\"url\":\"/platforms/python/integrations/tornado\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"tryton\",\"name\":\"Tryton\",\"icon\":\"python.tryton\",\"url\":\"/platforms/python/integrations/tryton\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"typer\",\"name\":\"Typer\",\"icon\":\"python.typer\",\"url\":\"/platforms/python/integrations/typer\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"unleash\",\"name\":\"Unleash\",\"icon\":\"python.unleash\",\"url\":\"/platforms/python/integrations/unleash\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"wsgi\",\"name\":\"WSGI\",\"icon\":\"python.wsgi\",\"url\":\"/platforms/python/integrations/wsgi\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"default-integrations\",\"name\":\"Default Integrations\",\"icon\":\"python.default-integrations\",\"url\":\"/platforms/python/integrations/default-integrations\",\"platform\":\"python\",\"type\":\"integration\"}]},{\"key\":\"react-native\",\"name\":\"react-native\",\"type\":\"platform\",\"url\":\"/platforms/react-native/\",\"title\":\"React Native\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.javascript.react-native\",\"fallbackPlatform\":\"javascript\",\"language\":\"$undefined\",\"categories\":[\"mobile\"],\"keywords\":[\"react-native\",\"expo\"],\"guides\":[{\"key\":\"react-native\",\"name\":\"react-native\",\"type\":\"guide\",\"url\":\"/platforms/react-native/\",\"title\":\"React Native\",\"platform\":\"react-native\",\"sdk\":\"sentry.javascript.react-native\",\"categories\":\"$1c:props:children:0:props:platforms:16:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"react-native.expo\",\"name\":\"expo\",\"type\":\"guide\",\"url\":\"/platforms/react-native/guides/expo/\",\"title\":\"Expo\",\"platform\":\"react-native\",\"sdk\":\"sentry.javascript.react-native\",\"categories\":[\"mobile\"],\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"ruby\",\"name\":\"ruby\",\"type\":\"platform\",\"url\":\"/platforms/ruby/\",\"title\":\"Ruby\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.ruby\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$undefined\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"ruby.delayed_job\",\"name\":\"delayed_job\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/delayed_job/\",\"title\":\"DelayedJob\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.delayed_job\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.rack\",\"name\":\"rack\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/rack/\",\"title\":\"Rack Middleware\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.rack\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.rails\",\"name\":\"rails\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/rails/\",\"title\":\"Rails\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.rails\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.resque\",\"name\":\"resque\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/resque/\",\"title\":\"Resque\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.resque\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.sidekiq\",\"name\":\"sidekiq\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/sidekiq/\",\"title\":\"Sidekiq\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.sidekiq\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"rust\",\"name\":\"rust\",\"type\":\"platform\",\"url\":\"/platforms/rust/\",\"title\":\"Rust\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.rust\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"server\"],\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"rust.actix-web\",\"name\":\"actix-web\",\"type\":\"guide\",\"url\":\"/platforms/rust/guides/actix-web/\",\"title\":\"Actix Web\",\"platform\":\"rust\",\"sdk\":\"sentry.rust.actix-web\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"rust.axum\",\"name\":\"axum\",\"type\":\"guide\",\"url\":\"/platforms/rust/guides/axum/\",\"title\":\"axum\",\"platform\":\"rust\",\"sdk\":\"sentry.rust.axum\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"rust.tracing\",\"name\":\"tracing\",\"type\":\"guide\",\"url\":\"/platforms/rust/guides/tracing/\",\"title\":\"tokio-rs/tracing\",\"platform\":\"rust\",\"sdk\":\"sentry.rust.tracing\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"unity\",\"name\":\"unity\",\"type\":\"platform\",\"url\":\"/platforms/unity/\",\"title\":\"Unity\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.dotnet.unity\",\"fallbackPlatform\":\"dotnet\",\"language\":\"$undefined\",\"categories\":[\"mobile\",\"browser\",\"desktop\",\"console\",\"gaming\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"unreal\",\"name\":\"unreal\",\"type\":\"platform\",\"url\":\"/platforms/unreal/\",\"title\":\"Unreal Engine\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.unreal\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"mobile\",\"desktop\",\"console\",\"gaming\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"xbox\",\"name\":\"xbox\",\"type\":\"platform\",\"url\":\"/platforms/xbox/\",\"title\":\"Xbox\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.xbox\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":[\"console\",\"gaming\"],\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]}]}],\"$L1e\",\"$L1f\",\"$L20\",\"$L21\"]}]\n"])</script><script>self.__next_f.push([1,"23:I[15953,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"Banner\"]\n24:I[97225,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"Breadcrumbs\"]\n25:I[24009,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"CopyMarkdownButton\"]\n26:I[55590,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"CodeContextProvider\"]\n27:I[65157,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/"])</script><script>self.__next_f.push([1,"5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"SmartLink\"]\n28:I[80965,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"CodeTabs\"]\n29:I[60254,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"CodeBlock\"]\n7c:I[3607,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"default\"]\n7d:I[77339,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2e"])</script><script>self.__next_f.push([1,"a78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"ReaderDepthTracker\"]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"section\",null,{\"className\":\"px-0 flex relative\",\"children\":[\"$L22\",[\"$\",\"main\",null,{\"className\":\"main-content flex mt-[var(--header-height)] flex-1\",\"children\":[\"$\",\"div\",null,{\"className\":\"pt-6 px-6 prose dark:prose-invert max-w-full text-[var(--gray-12)] prose-a:no-underline hover:prose-a:underline prose-code:font-normal prose-code:font-mono marker:text-[var(--darkPurple)] marker:font-medium prose-li:my-1 prose-headings:mt-0 prose-headings:font-medium prose-headings:relative prose-headings:text-[var(--gray-12)] prose-blockquote:font-normal prose-blockquote:border-l-[3px] prose-em:font-normal prose-blockquote:text-[var(--gray-12)] prose-img:my-2 prose-strong:text-[var(--gray-12)] w-full min-w-0\",\"id\":\"doc-content\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4\",\"children\":[\"$\",\"$L23\",null,{\"data-sentry-element\":\"Banner\",\"data-sentry-source-file\":\"index.tsx\"}]}],[\"$\",\"div\",null,{\"className\":\"flex items-center\",\"children\":[[\"$\",\"$L24\",null,{\"items\":[{\"to\":\"/\",\"title\":\"Home\"},{\"to\":\"/api/\",\"title\":\"API Reference\"},{\"to\":\"/api/auth/\",\"title\":\"Authentication\"}],\"data-sentry-element\":\"Breadcrumbs\",\"data-sentry-source-file\":\"index.tsx\"}],\" \",[\"$\",\"div\",null,{\"className\":\"ml-auto hidden sm:block\",\"children\":[\"$\",\"$L25\",null,{\"pathname\":\"api/auth\",\"data-sentry-element\":\"CopyMarkdownButton\",\"data-sentry-source-file\":\"index.tsx\"}]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"hgroup\",null,{\"children\":[[\"$\",\"h1\",null,{\"children\":\"Authentication\"}],[\"$\",\"h2\",null,{\"children\":\"$undefined\"}]]}],[\"$\",\"div\",null,{\"id\":\"main\",\"children\":[\"$\",\"$L26\",null,{\"sdkPackage\":null,\"data-sentry-element\":\"CodeContextProvider\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"h2\",null,{\"id\":\"auth-tokens\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#auth-tokens\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Auth Tokens\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"Authentication tokens are passed using an auth header, and are used to authenticate as a user or organization account with the API. In our documentation, we have several placeholders that appear between curly braces or chevrons, such as \",[\"$\",\"code\",null,{\"children\":\"{API_KEY}\"}],\" or \",[\"$\",\"code\",null,{\"children\":\"\u003cauth_token\u003e\"}],\", which you will need to replace with one of your authentication tokens in order to use the API call effectively.\"]}],[\"$\",\"p\",null,{\"children\":\"For example, when the documentation says:\"}],[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: Bearer {TOKEN}'\"}],\" https://sentry.io/api/0/organizations/\",\"$L2a\",\"organization_slug\",\"$L2b\",\"/projects/\\n\"]}]}]}]}]}],\"$L2c\"]}],\"$L2d\",\"$L2e\",\"$L2f\",\"$L30\",\"$L31\",\"$L32\",\"$L33\",\"$L34\",\"$L35\",\"$L36\",\"$L37\",\"$L38\",\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\",\"$L3d\",\"$L3e\",\"$L3f\",\"$L40\",\"$L41\",\"$L42\",\"$L43\",\"$L44\",\"$L45\",\"$L46\",\"$L47\",\"$L48\",\"$L49\",\"$L4a\",\"$L4b\",\"$L4c\",\"$L4d\",\"$L4e\",\"$L4f\",\"$L50\",\"$L51\",\"$L52\",\"$L53\",\"$L54\",\"$L55\",\"$L56\",\"$L57\",\"$L58\",\"$L59\",\"$L5a\",\"$L5b\",\"$L5c\",\"$L5d\",\"$L5e\",\"$L5f\",\"$L60\",\"$L61\",\"$L62\",\"$L63\",\"$L64\",\"$L65\",\"$L66\",\"$L67\",\"$L68\",\"$L69\",\"$L6a\",\"$L6b\",\"$L6c\",\"$L6d\",\"$L6e\",\"$L6f\",\"$L70\",\"$L71\",\"$L72\",\"$L73\",\"$L74\",\"$L75\",\"$L76\",\"$L77\"]}]}],\"$L78\",\"$L79\",false]}]]}]}],\"$L7a\"]}]\n"])</script><script>self.__next_f.push([1,"7b:T55d,"])</script><script>self.__next_f.push([1,"\n        :root {\n          --doc-content-w: 1100px;\n          --toc-w: 250px;\n          --layout-total: calc(var(--sidebar-width, 300px) + var(--doc-content-w) + var(--toc-w));\n          /* Fluid centering offset: 0 when viewport \u003c= total layout width,\n             grows equally on both sides when viewport \u003e total layout width.\n             This shifts the entire sidebar+content+ToC assembly toward center. */\n          --layout-offset: max(0px, (100vw - var(--layout-total)) / 2);\n        }\n        #doc-content {\n          max-width: var(--doc-content-w);\n          box-sizing: border-box;\n        }\n        /* When the TOC is visible but the full layout doesn't fit yet, shrink content\n           to fill available space rather than overflowing. Only applies when the TOC\n           is actually rendered (has-toc class). */\n        @media (min-width: 1490px) and (max-width: 1649px) {\n          .has-toc #doc-content {\n            max-width: calc(100vw - var(--sidebar-width, 300px) - var(--toc-w) - 2rem);\n          }\n        }\n        /* Mobile responsive styles */\n        @media (max-width: 768px) {\n          .main-content {\n            width: 100%;\n            max-width: 100%;\n            overflow-x: hidden;\n          }\n          #doc-content {\n            width: 100%;\n            max-width: 100%;\n            overflow-x: hidden;\n          }\n        }\n      "])</script><script>self.__next_f.push([1,"1f:[\"$\",\"style\",null,{\"children\":\"$7b\"}]\n20:[\"$\",\"$L7c\",null,{\"data-sentry-element\":\"Mermaid\",\"data-sentry-source-file\":\"index.tsx\"}]\n21:[\"$\",\"$L7d\",null,{\"data-sentry-element\":\"ReaderDepthTracker\",\"data-sentry-source-file\":\"index.tsx\"}]\n"])</script><script>self.__next_f.push([1,"10a:I[27568,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"DocFeedback\"]\n10b:I[25822,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"SidebarTableOfContents\"]\n10d:I[56286,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"CloseSidebarOnNavigation\"]\n10e:I[31240,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"MobileSidebarNav\"]\n2a:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\""])</script><script>self.__next_f.push([1,":\"{\"}]\n2b:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]\n"])</script><script>self.__next_f.push([1,"2c:[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: Bearer {TOKEN}'\"}],\" https://sentry.io/api/0/organizations/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"organization_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/projects/\\n\"]}]}]}]}]\n"])</script><script>self.__next_f.push([1,"2d:[\"$\",\"p\",null,{\"children\":[\"If your authentication token is \",[\"$\",\"code\",null,{\"children\":\"1a2b3c\"}],\", and your organization slug is \",[\"$\",\"code\",null,{\"children\":\"acme\"}],\" then the command should be:\"]}]\n"])</script><script>self.__next_f.push([1,"2e:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: Bearer 1a2b3c'\"}],\" https://sentry.io/api/0/organizations/acme/projects/\\n\"]}]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: Bearer 1a2b3c'\"}],\" https://sentry.io/api/0/organizations/acme/projects/\\n\"]}]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"2f:[\"$\",\"p\",null,{\"children\":[\"You can create authentication tokens within Sentry by \",[\"$\",\"$L27\",null,{\"href\":\"/integrations/integration-platform/#internal-integrations\",\"children\":\"creating an internal integration\"}],\". This is also available for self-hosted Sentry.\"]}]\n"])</script><script>self.__next_f.push([1,"30:[\"$\",\"h3\",null,{\"id\":\"user-authentication-tokens\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#user-authentication-tokens\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"User authentication tokens\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"31:[\"$\",\"p\",null,{\"children\":[\"Some API endpoints require an authentication token that's associated with your user account, rather than an authentication token from an internal integration. These auth tokens can be created within Sentry on the \\\"User settings\\\" page (\",[\"$\",\"strong\",null,{\"children\":\"User settings \u003e Personal Tokens\"}],\") and assigned specific scopes.\"]}]\n32:[\"$\",\"p\",null,{\"children\":[\"The endpoints that require a user authentication token are specific to your user, such as \",[\"$\",\"$L27\",null,{\"href\":\"/api/organizations/retrieve-an-organization/\",\"children\":\"Retrieve an Organization\"}],\".\"]}]\n"])</script><script>self.__next_f.push([1,"33:[\"$\",\"h2\",null,{\"id\":\"oauth2\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#oauth2\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"OAuth2\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"34:[\"$\",\"p\",null,{\"children\":\"For third-party applications that need to access Sentry on behalf of users, Sentry supports OAuth2 with the authorization code grant type. This allows users to authorize your application without sharing their credentials.\"}]\n"])</script><script>self.__next_f.push([1,"35:[\"$\",\"h3\",null,{\"id\":\"authorization-request\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#authorization-request\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Authorization Request\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"36:[\"$\",\"p\",null,{\"children\":\"Direct users to the authorization endpoint:\"}]\n"])</script><script>self.__next_f.push([1,"37:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"https://sentry.io/oauth/authorize/?client_id\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"\u0026\"}],[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"response_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"code\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"\u0026\"}],[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"scope\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"SCOPES\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"https://sentry.io/oauth/authorize/?client_id\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"\u0026\"}],[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"response_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"code\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"\u0026\"}],[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"scope\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"SCOPES\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"38:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Parameters:\"}]}]\n"])</script><script>self.__next_f.push([1,"39:[\"$\",\"table\",null,{\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",null,{\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"children\":\"Required\"}],[\"$\",\"th\",null,{\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"client_id\"}]}],[\"$\",\"td\",null,{\"children\":\"Yes\"}],[\"$\",\"td\",null,{\"children\":\"Your registered client ID\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"response_type\"}]}],[\"$\",\"td\",null,{\"children\":\"Yes\"}],[\"$\",\"td\",null,{\"children\":[\"Must be \",[\"$\",\"code\",null,{\"children\":\"code\"}]]}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"scope\"}]}],[\"$\",\"td\",null,{\"children\":\"Yes\"}],[\"$\",\"td\",null,{\"children\":[\"Space-separated list of \",[\"$\",\"$L27\",null,{\"href\":\"/api/permissions/\",\"children\":\"permissions\"}]]}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"redirect_uri\"}]}],[\"$\",\"td\",null,{\"children\":\"No\"}],[\"$\",\"td\",null,{\"children\":\"Your callback URI (must match registered URI)\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"state\"}]}],[\"$\",\"td\",null,{\"children\":\"No\"}],[\"$\",\"td\",null,{\"children\":\"Random string to prevent CSRF attacks\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"code_challenge\"}]}],[\"$\",\"td\",null,{\"children\":\"Recommended\"}],[\"$\",\"td\",null,{\"children\":\"PKCE challenge (see below)\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"code_challenge_method\"}]}],[\"$\",\"td\",null,{\"children\":\"Recommended\"}],[\"$\",\"td\",null,{\"children\":[\"Must be \",[\"$\",\"code\",null,{\"children\":\"S256\"}]]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"3a:[\"$\",\"p\",null,{\"children\":\"After the user approves, Sentry redirects to your callback URI with an authorization code:\"}]\n"])</script><script>self.__next_f.push([1,"3b:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"https://your-app.com/callback?code\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"AUTHORIZATION_CODE\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"https://your-app.com/callback?code\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"AUTHORIZATION_CODE\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"3c:[\"$\",\"h3\",null,{\"id\":\"token-exchange\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#token-exchange\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Token Exchange\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"3d:[\"$\",\"p\",null,{\"children\":\"Exchange the authorization code for an access token:\"}]\n"])</script><script>self.__next_f.push([1,"3e:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/token/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_secret\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"grant_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"authorization_code \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"code\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"AUTHORIZATION_CODE\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"code_verifier\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CODE_VERIFIER\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/token/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_secret\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"grant_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"authorization_code \",\"$L7e\",\"\\n\"]}],\"$L7f\",\"$L80\"]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"3f:[\"$\",\"p\",null,{\"children\":[\"The \",[\"$\",\"code\",null,{\"children\":\"code_verifier\"}],\" parameter is required if you used PKCE in the authorization request.\"]}]\n40:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Response:\"}]}]\n"])</script><script>self.__next_f.push([1,"41:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"json\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"access_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{ACCESS_TOKEN}\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{REFRESH_TOKEN}\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_in\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"2591999\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_at\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"2024-11-27T23:20:21.054320Z\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"token_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"bearer\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"scope\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"org:read project:read\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"user\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"123\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"name\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Jane Doe\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"email\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"jane@example.com\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"json\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"access_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{ACCESS_TOKEN}\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",\"$L81\",\"$L82\",\"\\n\"]}],\"$L83\",\"$L84\",\"$L85\",\"$L86\",\"$L87\",\"$L88\",\"$L89\",\"$L8a\",\"$L8b\",\"$L8c\"]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"42:[\"$\",\"h3\",null,{\"id\":\"refreshing-tokens\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#refreshing-tokens\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Refreshing Tokens\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"43:[\"$\",\"p\",null,{\"children\":\"Access tokens expire after 30 days. Use the refresh token to obtain new tokens:\"}]\n"])</script><script>self.__next_f.push([1,"44:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/token/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_secret\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"grant_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"refresh_token \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"refresh_token\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"REFRESH_TOKEN\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/token/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_secret\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"grant_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"refresh_token \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"refresh_token\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"REFRESH_TOKEN\",\"$L8d\",\"\\n\"]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"45:[\"$\",\"h3\",null,{\"id\":\"using-access-tokens\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#using-access-tokens\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Using Access Tokens\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"46:[\"$\",\"p\",null,{\"children\":\"Include the access token in API requests using the Authorization header:\"}]\n"])</script><script>self.__next_f.push([1,"47:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: Bearer {ACCESS_TOKEN}'\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"  https://sentry.io/api/0/organizations/\\n\"}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: Bearer {ACCESS_TOKEN}'\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"  https://sentry.io/api/0/organizations/\\n\"}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"48:[\"$\",\"h3\",null,{\"id\":\"organization-scoping\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#organization-scoping\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Organization Scoping\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"49:[\"$\",\"p\",null,{\"children\":[\"A Sentry user can belong to multiple organizations. The access token only provides access to the specific organization the user selected during the OAuth flow. The \",[\"$\",\"code\",null,{\"children\":\"/api/0/organizations/\"}],\" endpoint will only return the connected organization.\"]}]\n"])</script><script>self.__next_f.push([1,"4a:[\"$\",\"h3\",null,{\"id\":\"device-authorization-flow\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#device-authorization-flow\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Device Authorization Flow\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"4b:[\"$\",\"p\",null,{\"children\":[\"The device authorization grant (\",[\"$\",\"$L27\",null,{\"href\":\"https://datatracker.ietf.org/doc/html/rfc8628\",\"children\":\"RFC 8628\"}],\") enables applications on devices without a browser or with limited input capabilities to obtain authorization. This is ideal for CLI tools, CI/CD pipelines, Docker containers, and other headless environments where redirecting to a browser on the same device isn't practical.\"]}]\n4c:[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"How it works:\"}],\" Your application requests a device code, displays a short user code to the user, and polls for authorization. The user visits Sentry in their browser (on any device), enters the code, and approves the request. Once approved, your application receives an access token.\"]}]\n"])</script><script>self.__next_f.push([1,"4d:[\"$\",\"h4\",null,{\"id\":\"step-1-request-device-code\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#step-1-request-device-code\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Step 1: Request Device Code\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"4e:[\"$\",\"p\",null,{\"children\":\"Request a device code from the device authorization endpoint:\"}]\n"])</script><script>self.__next_f.push([1,"4f:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/device/code/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"scope\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"org:read%20project:read\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/device/code/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"scope\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"org:read%20project:read\\n\"]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"50:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Parameters:\"}]}]\n"])</script><script>self.__next_f.push([1,"51:[\"$\",\"table\",null,{\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",null,{\"children\":\"Parameter\"}],[\"$\",\"th\",null,{\"children\":\"Required\"}],[\"$\",\"th\",null,{\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"client_id\"}]}],[\"$\",\"td\",null,{\"children\":\"Yes\"}],[\"$\",\"td\",null,{\"children\":\"Your registered client ID\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"scope\"}]}],[\"$\",\"td\",null,{\"children\":\"No\"}],[\"$\",\"td\",null,{\"children\":[\"Space-separated list of \",[\"$\",\"$L27\",null,{\"href\":\"/api/permissions/\",\"children\":\"permissions\"}]]}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"52:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Response:\"}]}]\n"])</script><script>self.__next_f.push([1,"53:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"json\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"device_code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"a1b2c3d4e5f6...\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"user_code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"ABCD-EFGH\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"verification_uri\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"https://sentry.io/oauth/device/\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"verification_uri_complete\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"https://sentry.io/oauth/device/?user_code=ABCD-EFGH\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_in\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"600\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"interval\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"5\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"json\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"device_code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"a1b2c3d4e5f6...\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"user_code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"ABCD-EFGH\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"verification_uri\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"https://sentry.io/oauth/device/\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"verification_uri_complete\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"https://sentry.io/oauth/device/?user_code=ABCD-EFGH\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_in\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"600\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",\"$L8e\",\"$L8f\",\" \",\"$L90\",\"\\n\"]}],\"$L91\"]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"54:[\"$\",\"table\",null,{\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",null,{\"children\":\"Field\"}],[\"$\",\"th\",null,{\"children\":\"Description\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"device_code\"}]}],[\"$\",\"td\",null,{\"children\":\"Secret code your application uses to poll for the token\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"user_code\"}]}],[\"$\",\"td\",null,{\"children\":[\"Short code the user enters to authorize (format: \",[\"$\",\"code\",null,{\"children\":\"XXXX-XXXX\"}],\")\"]}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"verification_uri\"}]}],[\"$\",\"td\",null,{\"children\":\"URL where the user should go to enter the code\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"verification_uri_complete\"}]}],[\"$\",\"td\",null,{\"children\":\"URL with user code pre-filled (useful for QR codes or clickable links)\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"expires_in\"}]}],[\"$\",\"td\",null,{\"children\":\"Seconds until the codes expire (default: 600 / 10 minutes)\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"interval\"}]}],[\"$\",\"td\",null,{\"children\":\"Minimum seconds between polling requests (default: 5)\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"55:[\"$\",\"h4\",null,{\"id\":\"step-2-display-instructions-to-user\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#step-2-display-instructions-to-user\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Step 2: Display Instructions to User\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"56:[\"$\",\"p\",null,{\"children\":\"Display the user code and verification URL to your user:\"}]\n"])</script><script>self.__next_f.push([1,"57:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"To authenticate, visit: https://sentry.io/oauth/device/\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"Enter code: ABCD-EFGH\\n\"}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"To authenticate, visit: https://sentry.io/oauth/device/\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"Enter code: ABCD-EFGH\\n\"}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"58:[\"$\",\"p\",null,{\"children\":\"The user code uses an unambiguous character set (no 0/O, 1/I/L confusion) for easy entry.\"}]\n"])</script><script>self.__next_f.push([1,"59:[\"$\",\"h4\",null,{\"id\":\"step-3-poll-for-token\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#step-3-poll-for-token\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Step 3: Poll for Token\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"5a:[\"$\",\"p\",null,{\"children\":\"While the user authorizes in their browser, poll the token endpoint:\"}]\n"])</script><script>self.__next_f.push([1,"5b:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/token/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"device_code\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"DEVICE_CODE\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"grant_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"urn:ietf:params:oauth:grant-type:device_code\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-X\"}],\" POST https://sentry.io/oauth/token/ \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"client_id\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"device_code\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"DEVICE_CODE\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"grant_type\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\"urn:ietf:params:oauth:grant-type:device_code\\n\"]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"5c:[\"$\",\"p\",null,{\"children\":[\"Poll at the \",[\"$\",\"code\",null,{\"children\":\"interval\"}],\" specified in the device authorization response (default: 5 seconds). While waiting for the user, you'll receive:\"]}]\n"])</script><script>self.__next_f.push([1,"5d:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"json\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"error\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"authorization_pending\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"error_description\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"The authorization request is still pending.\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"json\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"error\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"authorization_pending\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"error_description\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"The authorization request is still pending.\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"5e:[\"$\",\"p\",null,{\"children\":\"Continue polling until you receive a token or an error.\"}]\n"])</script><script>self.__next_f.push([1,"5f:[\"$\",\"h4\",null,{\"id\":\"step-4-receive-access-token\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#step-4-receive-access-token\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Step 4: Receive Access Token\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"60:[\"$\",\"p\",null,{\"children\":\"Once the user approves, the token endpoint returns:\"}]\n"])</script><script>self.__next_f.push([1,"61:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"json\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"access_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{ACCESS_TOKEN}\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{REFRESH_TOKEN}\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_in\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"2591999\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_at\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"2024-11-27T23:20:21.054320Z\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"token_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"bearer\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"scope\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"org:read project:read\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"user\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"123\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"name\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Jane Doe\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"email\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"jane@example.com\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"json\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-json\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"access_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{ACCESS_TOKEN}\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",\"$L92\",\"$L93\",\"\\n\"]}],\"$L94\",\"$L95\",\"$L96\",\"$L97\",\"$L98\",\"$L99\",\"$L9a\",\"$L9b\",\"$L9c\",\"$L9d\"]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"62:[\"$\",\"h4\",null,{\"id\":\"device-flow-error-responses\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#device-flow-error-responses\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Device Flow Error Responses\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"63:[\"$\",\"table\",null,{\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",null,{\"children\":\"Error\"}],[\"$\",\"th\",null,{\"children\":\"Description\"}],[\"$\",\"th\",null,{\"children\":\"Action\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"authorization_pending\"}]}],[\"$\",\"td\",null,{\"children\":\"User hasn't completed authorization yet\"}],[\"$\",\"td\",null,{\"children\":\"Continue polling\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"slow_down\"}]}],[\"$\",\"td\",null,{\"children\":\"Polling too frequently\"}],[\"$\",\"td\",null,{\"children\":\"Increase interval by 5 seconds\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"access_denied\"}]}],[\"$\",\"td\",null,{\"children\":\"User denied the authorization request\"}],[\"$\",\"td\",null,{\"children\":\"Stop polling, notify user\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":[\"$\",\"code\",null,{\"children\":\"expired_token\"}]}],[\"$\",\"td\",null,{\"children\":\"Device code has expired\"}],[\"$\",\"td\",null,{\"children\":\"Restart the flow from step 1\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"64:[\"$\",\"h4\",null,{\"id\":\"device-flow-example\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#device-flow-example\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Device Flow Example\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"65:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"python\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" time\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" requests\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"CLIENT_ID \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-client-id'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"DEVICE_AUTH_URL \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://sentry.io/oauth/device/code/'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"TOKEN_URL \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://sentry.io/oauth/token/'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"authenticate\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 1: Request device code\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"DEVICE_AUTH_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'client_id'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'scope'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'org:read project:read'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    data \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    device_code \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'device_code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    user_code \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'user_code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    verification_uri \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'verification_uri'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    verification_uri_complete \",\"$L9e\",\" data\",\"$L9f\",\"get\",\"$La0\",\"$La1\",\"$La2\",\"\\n\"]}],\"$La3\",\"$La4\",\"$La5\",\"$La6\",\"$La7\",\"$La8\",\"$La9\",\"$Laa\",\"$Lab\",\"$Lac\",\"$Lad\",\"$Lae\",\"$Laf\",\"$Lb0\",\"$Lb1\",\"$Lb2\",\"$Lb3\",\"$Lb4\",\"$Lb5\",\"$Lb6\",\"$Lb7\",\"$Lb8\",\"$Lb9\",\"$Lba\",\"$Lbb\",\"$Lbc\",\"$Lbd\",\"$Lbe\",\"$Lbf\",\"$Lc0\",\"$Lc1\",\"$Lc2\",\"$Lc3\",\"$Lc4\",\"$Lc5\",\"$Lc6\",\"$Lc7\",\"$Lc8\",\"$Lc9\",\"$Lca\",\"$Lcb\",\"$Lcc\",\"$Lcd\",\"$Lce\"]}]}]}]}],\"$Lcf\"]}]\n"])</script><script>self.__next_f.push([1,"66:[\"$\",\"h3\",null,{\"id\":\"pkce-proof-key-for-code-exchange\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#pkce-proof-key-for-code-exchange\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"PKCE (Proof Key for Code Exchange)\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"67:[\"$\",\"p\",null,{\"children\":\"PKCE protects against authorization code interception attacks and is strongly recommended for all OAuth clients.\"}]\n68:[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"How it works:\"}],\" For each authorization request, generate a unique random secret called the \",[\"$\",\"code\",null,{\"children\":\"code_verifier\"}],\". Create a \",[\"$\",\"code\",null,{\"children\":\"code_challenge\"}],\" by hashing this verifier. The challenge is sent with the authorization request, while the original verifier is sent when exchanging the code for a token. Sentry verifies they match, ensuring the same client that started the flow is completing it.\"]}]\n69:[\"$\",\"p\",null,{\"children\":[\"$\",\"strong\",null,{\"children\":\"Generating PKCE values (generate fresh for each authorization request):\"}]}]\n"])</script><script>self.__next_f.push([1,"6a:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"python\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" base64\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" hashlib\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" secrets\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Generate a random code_verifier (43-128 URL-safe characters)\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"code_verifier \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" secrets\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"token_urlsafe\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"64\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Create code_challenge by hashing the verifier with SHA256\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"code_challenge \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" base64\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"urlsafe_b64encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    hashlib\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"sha256\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"digest\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"rstrip\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"b'='\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"decode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Store code_verifier securely - you'll need it for the token exchange\"}],\"\\n\"]}]]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"python\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" base64\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" hashlib\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" secrets\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Generate a random code_verifier (43-128 URL-safe characters)\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"code_verifier \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" secrets\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"token_urlsafe\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"64\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],\"$Ld0\",\"$Ld1\",\"$Ld2\",\"$Ld3\",\"$Ld4\",\"$Ld5\",\"$Ld6\"]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"6b:[\"$\",\"h3\",null,{\"id\":\"error-handling\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#error-handling\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Error Handling\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"6c:[\"$\",\"table\",null,{\"children\":[[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"children\":[[\"$\",\"th\",null,{\"children\":\"Status Code\"}],[\"$\",\"th\",null,{\"children\":\"Meaning\"}],[\"$\",\"th\",null,{\"children\":\"Action\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":\"401\"}],[\"$\",\"td\",null,{\"children\":\"Token expired or revoked\"}],[\"$\",\"td\",null,{\"children\":\"Refresh the token, or prompt user to reconnect\"}]]}],[\"$\",\"tr\",null,{\"children\":[[\"$\",\"td\",null,{\"children\":\"403\"}],[\"$\",\"td\",null,{\"children\":\"Insufficient permissions\"}],[\"$\",\"td\",null,{\"children\":\"Request additional scopes or handle gracefully\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"6d:[\"$\",\"h3\",null,{\"id\":\"example-implementation\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#example-implementation\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"Example Implementation\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"6e:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"python\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" base64\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" hashlib\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" secrets\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" requests\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"from\"}],\" flask \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" Flask\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" redirect\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" request\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" session\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"app \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" Flask\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"__name__\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"app\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"secret_key \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-secret-key'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"CLIENT_ID \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-client-id'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"CLIENT_SECRET \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-client-secret'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"REDIRECT_URI \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://your-app.com/callback'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"TOKEN_URL \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://sentry.io/oauth/token/'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"generate_pkce_pair\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token string triple-quoted-string\",\"children\":\"\\\"\\\"\\\"Generate a code verifier and challenge for PKCE.\\\"\\\"\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_verifier \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" secrets\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"token_urlsafe\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"64\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_challenge \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" base64\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"urlsafe_b64encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        hashlib\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"sha256\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"$Ld7\",\"$Ld8\",\"digest\",\"$Ld9\",\"$Lda\",\"\\n\"]}],\"$Ldb\",\"$Ldc\",\"$Ldd\",\"$Lde\",\"$Ldf\",\"$Le0\",\"$Le1\",\"$Le2\",\"$Le3\",\"$Le4\",\"$Le5\",\"$Le6\",\"$Le7\",\"$Le8\",\"$Le9\",\"$Lea\",\"$Leb\",\"$Lec\",\"$Led\",\"$Lee\",\"$Lef\",\"$Lf0\",\"$Lf1\",\"$Lf2\",\"$Lf3\",\"$Lf4\",\"$Lf5\",\"$Lf6\",\"$Lf7\",\"$Lf8\",\"$Lf9\",\"$Lfa\",\"$Lfb\",\"$Lfc\",\"$Lfd\",\"$Lfe\",\"$Lff\",\"$L100\",\"$L101\",\"$L102\",\"$L103\",\"$L104\",\"$L105\",\"$L106\",\"$L107\",\"$L108\"]}]}]}]}],\"$L109\"]}]\n"])</script><script>self.__next_f.push([1,"6f:[\"$\",\"h2\",null,{\"id\":\"dsn-authentication\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#dsn-authentication\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"DSN Authentication\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"70:[\"$\",\"p\",null,{\"children\":\"Some API endpoints may allow DSN-based authentication. This is generally very limited and an endpoint will describe if its supported. This works similar to Bearer token authentication, but uses your DSN (Client Key).\"}]\n"])</script><script>self.__next_f.push([1,"71:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: DSN {DSN}'\"}],\" https://sentry.io/api/0/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"organization_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"project_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/user-reports/\\n\"]}]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-H\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'Authorization: DSN {DSN}'\"}],\" https://sentry.io/api/0/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"organization_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"project_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/user-reports/\\n\"]}]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"72:[\"$\",\"h2\",null,{\"id\":\"api-keys\",\"children\":[\"$\",\"$L27\",null,{\"href\":\"#api-keys\",\"aria-hidden\":true,\"className\":\"autolink-heading\",\"tabIndex\":\"-1\",\"children\":[\"API Keys\",[\"$\",\"svg\",null,{\"className\":\"anchorlink before\",\"fill\":\"currentColor\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"width\":\"16\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.199 13.599a5.99 5.99 0 0 0 3.949 2.345 5.987 5.987 0 0 0 5.105-1.702l2.995-2.994a5.992 5.992 0 0 0 1.695-4.285 5.976 5.976 0 0 0-1.831-4.211 5.99 5.99 0 0 0-6.431-1.242 6.003 6.003 0 0 0-1.905 1.24l-1.731 1.721a.999.999 0 1 0 1.41 1.418l1.709-1.699a3.985 3.985 0 0 1 2.761-1.123 3.975 3.975 0 0 1 2.799 1.122 3.997 3.997 0 0 1 .111 5.644l-3.005 3.006a3.982 3.982 0 0 1-3.395 1.126 3.987 3.987 0 0 1-2.632-1.563A1 1 0 0 0 9.201 13.6zm5.602-3.198a5.99 5.99 0 0 0-3.949-2.345 5.987 5.987 0 0 0-5.105 1.702l-2.995 2.994a5.992 5.992 0 0 0-1.695 4.285 5.976 5.976 0 0 0 1.831 4.211 5.99 5.99 0 0 0 6.431 1.242 6.003 6.003 0 0 0 1.905-1.24l1.723-1.723a.999.999 0 1 0-1.414-1.414L9.836 19.81a3.985 3.985 0 0 1-2.761 1.123 3.975 3.975 0 0 1-2.799-1.122 3.997 3.997 0 0 1-.111-5.644l3.005-3.006a3.982 3.982 0 0 1 3.395-1.126 3.987 3.987 0 0 1 2.632 1.563 1 1 0 0 0 1.602-1.198z\"}]}]]}]}]\n"])</script><script>self.__next_f.push([1,"73:[\"$\",\"div\",null,{\"className\":\"callout callout-warning\",\"role\":\"alert\",\"data-sentry-component\":\"Callout\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"callout-icon\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"data-sentry-element\":\"Icon\",\"data-sentry-source-file\":\"index.tsx\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M8.4449 0.608765C8.0183 -0.107015 6.9817 -0.107015 6.55509 0.608766L0.161178 11.3368C-0.275824 12.07 0.252503 13 1.10608 13H13.8939C14.7475 13 15.2758 12.07 14.8388 11.3368L8.4449 0.608765ZM7.4141 1.12073C7.45288 1.05566 7.54712 1.05566 7.5859 1.12073L13.9798 11.8488C14.0196 11.9154 13.9715 12 13.8939 12H1.10608C1.02849 12 0.980454 11.9154 1.02018 11.8488L7.4141 1.12073ZM6.8269 4.48611C6.81221 4.10423 7.11783 3.78663 7.5 3.78663C7.88217 3.78663 8.18778 4.10423 8.1731 4.48612L8.01921 8.48701C8.00848 8.766 7.7792 8.98664 7.5 8.98664C7.2208 8.98664 6.99151 8.766 6.98078 8.48701L6.8269 4.48611ZM8.24989 10.476C8.24989 10.8902 7.9141 11.226 7.49989 11.226C7.08567 11.226 6.74989 10.8902 6.74989 10.476C6.74989 10.0618 7.08567 9.72599 7.49989 9.72599C7.9141 9.72599 8.24989 10.0618 8.24989 10.476Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}],[\"$\",\"div\",null,{\"className\":\"callout-content\",\"children\":[[\"$\",\"h5\",null,{\"className\":\"callout-header\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"children\":\"Note\"}],[\"$\",\"div\",null,{\"className\":\"callout-body content-flush-bottom\",\"children\":[\"$\",\"p\",null,{\"children\":[\"API keys are a legacy means of authenticating. They will still be supported but are disabled for new accounts. You should use \",[\"$\",\"strong\",null,{\"children\":\"authentication tokens\"}],\" wherever possible.\"]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"74:[\"$\",\"p\",null,{\"children\":\"API keys are passed using HTTP Basic auth where the username is your api key, and the password is an empty value.\"}]\n75:[\"$\",\"p\",null,{\"children\":\"As an example, to get information about the project which your key is bound to, you might make a request like so:\"}]\n"])</script><script>self.__next_f.push([1,"76:[\"$\",\"div\",null,{\"className\":\"code-tabs-wrapper\",\"children\":[[\"$\",\"$L28\",null,{\"children\":[\"$\",\"$L29\",null,{\"language\":\"bash\",\"title\":\"\",\"filename\":\"\",\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-u\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"API_KEY\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\": https://sentry.io/api/0/organizations/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"organization_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/projects/\\n\"]}]}]}]}]}],[\"$\",\"div\",null,{\"data-code-tab-title\":\"bash\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-bash\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash code-highlight\",\"children\":[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"curl\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-u\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"API_KEY\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\": https://sentry.io/api/0/organizations/\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"organization_slug\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"/projects/\\n\"]}]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"77:[\"$\",\"div\",null,{\"className\":\"callout callout-info\",\"role\":\"alert\",\"data-sentry-component\":\"Callout\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"callout-icon\",\"onClick\":\"$undefined\",\"role\":\"$undefined\",\"data-sentry-element\":\"Icon\",\"data-sentry-source-file\":\"index.tsx\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}],[\"$\",\"div\",null,{\"className\":\"callout-content\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"className\":\"callout-body content-flush-bottom\",\"children\":[\"$\",\"p\",null,{\"children\":[\"You \",[\"$\",\"strong\",null,{\"children\":\"must\"}],\" pass a value for the password, which is the reason the \",[\"$\",\"code\",null,{\"children\":\":\"}],\" is present in our example.\"]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"78:[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 gap-4 not-prose mt-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-1\",\"children\":[\"$\",\"a\",null,{\"href\":\"/api/\",\"className\":\"no-underline\",\"data-sentry-component\":\"PaginationNav\",\"data-sentry-source-file\":\"paginationNav.tsx\",\"children\":[\"$\",\"div\",null,{\"className\":\"py-3 px-4 border-2 dark:[border-color:var(--gray-4)]  rounded-md transition-colors hover:[border-color:var(--accent)] text-left\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-sm [color:var(--foreground)]\",\"children\":\"Previous\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-1 font-[500] justify-start\",\"children\":[[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}],\"API Reference\",false]}]]}]}]}],[\"$\",\"div\",null,{\"className\":\"col-span-1\",\"children\":[\"$\",\"a\",null,{\"href\":\"/api/pagination/\",\"className\":\"no-underline\",\"data-sentry-component\":\"PaginationNav\",\"data-sentry-source-file\":\"paginationNav.tsx\",\"children\":[\"$\",\"div\",null,{\"className\":\"py-3 px-4 border-2 dark:[border-color:var(--gray-4)]  rounded-md transition-colors hover:[border-color:var(--accent)] text-right\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-sm [color:var(--foreground)]\",\"children\":\"Next\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-1 font-[500] justify-end\",\"children\":[false,\"Paginating Results\",[\"$\",\"svg\",null,{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"ref\":\"$undefined\",\"children\":[\"$\",\"path\",null,{\"d\":\"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\"}]}]]}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"79:[\"$\",\"$L10a\",null,{\"pathname\":\"api/auth\",\"data-sentry-element\":\"DocFeedback\",\"data-sentry-source-file\":\"index.tsx\"}]\n7a:[\"$\",\"aside\",null,{\"data-layout-anchor\":\"right\",\"className\":\"sticky h-[calc(100vh-var(--header-height))] top-[var(--header-height)] overflow-y-auto hidden toc:block flex-none w-[250px] min-w-[250px]\",\"style\":{\"marginRight\":\"var(--layout-offset, 0px)\"},\"children\":[\"$\",\"div\",null,{\"className\":\"sidebar\",\"children\":[[\"$\",\"$L10b\",null,{}],\"$L10c\"]}]}]\n"])</script><script>self.__next_f.push([1,"22:[\"$\",\"aside\",null,{\"className\":\"style_sidebar__iEJoR py-3\",\"data-layout-anchor\":\"left\",\"data-sentry-component\":\"Sidebar\",\"data-sentry-source-file\":\"index.tsx\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"id\":\"style_navbar-menu-toggle__dc5I6\",\"className\":\"hidden\"}],[\"$\",\"$L10d\",null,{\"sidebarToggleId\":\"style_navbar-menu-toggle__dc5I6\",\"data-sentry-element\":\"CloseSidebarOnNavigation\",\"data-sentry-source-file\":\"index.tsx\"}],[\"$\",\"style\",null,{\"children\":\":root { --sidebar-width: 300px; }\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col items-stretch h-full min-h-0\",\"children\":[[\"$\",\"$L10e\",null,{\"platforms\":[{\"key\":\"dotnet\",\"name\":\"dotnet\",\"type\":\"platform\",\"url\":\"/platforms/dotnet/\",\"title\":\".NET\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.dotnet\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$undefined\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"dotnet.android\",\"name\":\"android\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/android/\",\"title\":\".NET for Android\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.android\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.apple\",\"name\":\"apple\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/apple/\",\"title\":\".NET for iOS, macOS, and Mac Catalyst\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.apple\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.aspnet\",\"name\":\"aspnet\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/aspnet/\",\"title\":\"ASP.NET\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.aspnetcore\",\"name\":\"aspnetcore\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/aspnetcore/\",\"title\":\"ASP.NET Core\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.aspnetcore\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.aws-lambda\",\"name\":\"aws-lambda\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/aws-lambda/\",\"title\":\"AWS Lambda\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.aspnetcore\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.azure-functions-worker\",\"name\":\"azure-functions-worker\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/azure-functions-worker/\",\"title\":\"Azure Functions\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.azure.functions.worker\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.blazor-server\",\"name\":\"blazor-server\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/blazor-server/\",\"title\":\"Blazor Interactive SSR\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.aspnetcore\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.blazor-webassembly\",\"name\":\"blazor-webassembly\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/blazor-webassembly/\",\"title\":\"Blazor WebAssembly\",\"platform\":\"dotnet\",\"sdk\":\"sentry.aspnetcore.blazor.webassembly\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.entityframework\",\"name\":\"entityframework\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/entityframework/\",\"title\":\"Entity Framework\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.entityframework\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.google-cloud-functions\",\"name\":\"google-cloud-functions\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/google-cloud-functions/\",\"title\":\"Google Cloud Functions\",\"platform\":\"dotnet\",\"sdk\":\"sentry.google.cloud.function\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.log4net\",\"name\":\"log4net\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/log4net/\",\"title\":\"log4net\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.log4net\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.maui\",\"name\":\"maui\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/maui/\",\"title\":\"MAUI\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.maui\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.extensions-logging\",\"name\":\"extensions-logging\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/extensions-logging/\",\"title\":\"Microsoft.Extensions.Logging\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.extensions.logging\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.nlog\",\"name\":\"nlog\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/nlog/\",\"title\":\"NLog\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.nlog\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.serilog\",\"name\":\"serilog\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/serilog/\",\"title\":\"Serilog\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.serilog\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.winforms\",\"name\":\"winforms\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/winforms/\",\"title\":\"Windows Forms\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.winforms\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.winui\",\"name\":\"winui\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/winui/\",\"title\":\"WinUI\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.winui\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.wpf\",\"name\":\"wpf\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/wpf/\",\"title\":\"WPF\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.wpf\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"dotnet.xamarin\",\"name\":\"xamarin\",\"type\":\"guide\",\"url\":\"/platforms/dotnet/guides/xamarin/\",\"title\":\"Xamarin\",\"platform\":\"dotnet\",\"sdk\":\"sentry.dotnet.xamarin\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"android\",\"name\":\"android\",\"type\":\"platform\",\"url\":\"/platforms/android/\",\"title\":\"Android\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.java.android\",\"fallbackPlatform\":\"java\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:1:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:1:keywords\",\"guides\":[],\"integrations\":[]},{\"key\":\"apple\",\"name\":\"apple\",\"type\":\"platform\",\"url\":\"/platforms/apple/\",\"title\":\"Apple\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.cocoa\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:2:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:2:keywords\",\"guides\":[{\"key\":\"apple.ios\",\"name\":\"ios\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/ios/\",\"title\":\"iOS\",\"platform\":\"apple\",\"sdk\":\"sentry.cocoa\",\"categories\":\"$1c:props:children:0:props:platforms:2:guides:0:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.macos\",\"name\":\"macos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/macos/\",\"title\":\"macOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.macos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.tvos\",\"name\":\"tvos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/tvos/\",\"title\":\"tvOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.tvos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.visionos\",\"name\":\"visionos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/visionos/\",\"title\":\"visionOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.visionos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"apple.watchos\",\"name\":\"watchos\",\"type\":\"guide\",\"url\":\"/platforms/apple/guides/watchos/\",\"title\":\"watchOS\",\"platform\":\"apple\",\"sdk\":\"sentry.apple.watchos\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"javascript\",\"name\":\"javascript\",\"type\":\"platform\",\"url\":\"/platforms/javascript/\",\"title\":\"JavaScript\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.javascript.browser\",\"fallbackPlatform\":\"$undefined\",\"language\":\"typescript\",\"categories\":\"$1c:props:children:0:props:platforms:3:categories\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"javascript\",\"name\":\"javascript\",\"type\":\"guide\",\"url\":\"/platforms/javascript/\",\"title\":\"Browser JavaScript\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.browser\",\"categories\":\"$1c:props:children:0:props:platforms:3:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.angular\",\"name\":\"angular\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/angular/\",\"title\":\"Angular\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.angular\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:1:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.astro\",\"name\":\"astro\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/astro/\",\"title\":\"Astro\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.astro\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:2:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.aws-lambda\",\"name\":\"aws-lambda\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/aws-lambda/\",\"title\":\"AWS Lambda\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.aws-serverless\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:3:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.azure-functions\",\"name\":\"azure-functions\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/azure-functions/\",\"title\":\"Azure Functions\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.astro\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:4:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.bun\",\"name\":\"bun\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/bun/\",\"title\":\"Bun\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.bun\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:5:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.capacitor\",\"name\":\"capacitor\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/capacitor/\",\"title\":\"Capacitor\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.capacitor\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:6:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.firebase\",\"name\":\"firebase\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/firebase/\",\"title\":\"Cloud Functions for Firebase\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:7:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.cloudflare\",\"name\":\"cloudflare\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/cloudflare/\",\"title\":\"Cloudflare\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.cloudflare\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:8:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.connect\",\"name\":\"connect\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/connect/\",\"title\":\"Connect\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:9:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.cordova\",\"name\":\"cordova\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/cordova/\",\"title\":\"Cordova\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.cordova\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:10:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.deno\",\"name\":\"deno\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/deno/\",\"title\":\"Deno\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.deno\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:11:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.effect\",\"name\":\"effect\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/effect/\",\"title\":\"Effect\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.effect\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.electron\",\"name\":\"electron\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/electron/\",\"title\":\"Electron\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.electron\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:13:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.elysia\",\"name\":\"elysia\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/elysia/\",\"title\":\"Elysia\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.elysia\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:14:categories\",\"fallbackGuide\":\"javascript.bun\"},{\"key\":\"javascript.ember\",\"name\":\"ember\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/ember/\",\"title\":\"Ember\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.ember\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:15:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.express\",\"name\":\"express\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/express/\",\"title\":\"Express\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:16:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.fastify\",\"name\":\"fastify\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/fastify/\",\"title\":\"Fastify\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:17:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.gatsby\",\"name\":\"gatsby\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/gatsby/\",\"title\":\"Gatsby\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.gatsby\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:18:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.gcp-functions\",\"name\":\"gcp-functions\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/gcp-functions/\",\"title\":\"Google Cloud Functions\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.google-cloud-serverless\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:19:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.hapi\",\"name\":\"hapi\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/hapi/\",\"title\":\"Hapi\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:20:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.hono\",\"name\":\"hono\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/hono/\",\"title\":\"Hono\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.hono\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:21:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.koa\",\"name\":\"koa\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/koa/\",\"title\":\"Koa\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:22:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.nestjs\",\"name\":\"nestjs\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nestjs/\",\"title\":\"Nest.js\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nestjs\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:23:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.nextjs\",\"name\":\"nextjs\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nextjs/\",\"title\":\"Next.js\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nextjs\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:24:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.nitro\",\"name\":\"nitro\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nitro/\",\"title\":\"Nitro\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nitro\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:25:categories\",\"fallbackGuide\":\"javascript.node\"},{\"key\":\"javascript.node\",\"name\":\"node\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/node/\",\"title\":\"Node.js\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.node\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:26:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.nuxt\",\"name\":\"nuxt\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/nuxt/\",\"title\":\"Nuxt\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.nuxt\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:27:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.react\",\"name\":\"react\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/react/\",\"title\":\"React\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.react\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:28:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.react-router\",\"name\":\"react-router\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/react-router/\",\"title\":\"React Router Framework\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.react-router\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:29:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.remix\",\"name\":\"remix\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/remix/\",\"title\":\"Remix\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.remix\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:30:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.solid\",\"name\":\"solid\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/solid/\",\"title\":\"Solid\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.solid\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:31:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.solidstart\",\"name\":\"solidstart\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/solidstart/\",\"title\":\"SolidStart\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.solidstart\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:32:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.svelte\",\"name\":\"svelte\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/svelte/\",\"title\":\"Svelte\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.svelte\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:33:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.sveltekit\",\"name\":\"sveltekit\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/sveltekit/\",\"title\":\"SvelteKit\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.sveltekit\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:34:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.tanstackstart-react\",\"name\":\"tanstackstart-react\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/tanstackstart-react/\",\"title\":\"TanStack Start React\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.tanstackstart-react\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:35:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.vue\",\"name\":\"vue\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/vue/\",\"title\":\"Vue\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.vue\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:36:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"javascript.wasm\",\"name\":\"wasm\",\"type\":\"guide\",\"url\":\"/platforms/javascript/guides/wasm/\",\"title\":\"Wasm\",\"platform\":\"javascript\",\"sdk\":\"sentry.javascript.wasm\",\"categories\":\"$1c:props:children:0:props:platforms:3:guides:37:categories\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"dart\",\"name\":\"dart\",\"type\":\"platform\",\"url\":\"/platforms/dart/\",\"title\":\"Dart\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.dart\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:4:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:4:keywords\",\"guides\":[{\"key\":\"dart.flutter\",\"name\":\"flutter\",\"type\":\"guide\",\"url\":\"/platforms/dart/guides/flutter/\",\"title\":\"Flutter\",\"platform\":\"dart\",\"sdk\":\"sentry.dart.flutter\",\"categories\":\"$1c:props:children:0:props:platforms:4:guides:0:categories\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"elixir\",\"name\":\"elixir\",\"type\":\"platform\",\"url\":\"/platforms/elixir/\",\"title\":\"Elixir\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.elixir\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:5:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[{\"key\":\"plug_and_phoenix\",\"name\":\"Plug and Phoenix\",\"icon\":\"elixir.plug_and_phoenix\",\"url\":\"/platforms/elixir/integrations/plug_and_phoenix\",\"platform\":\"elixir\",\"type\":\"integration\"},{\"key\":\"oban\",\"name\":\"Oban\",\"icon\":\"elixir.oban\",\"url\":\"/platforms/elixir/integrations/oban\",\"platform\":\"elixir\",\"type\":\"integration\"},{\"key\":\"quantum\",\"name\":\"Quantum\",\"icon\":\"elixir.quantum\",\"url\":\"/platforms/elixir/integrations/quantum\",\"platform\":\"elixir\",\"type\":\"integration\"},{\"key\":\"telemetry\",\"name\":\"Telemetry\",\"icon\":\"elixir.telemetry\",\"url\":\"/platforms/elixir/integrations/telemetry\",\"platform\":\"elixir\",\"type\":\"integration\"}]},{\"key\":\"go\",\"name\":\"go\",\"type\":\"platform\",\"url\":\"/platforms/go/\",\"title\":\"Go\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.go\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$undefined\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"go.echo\",\"name\":\"echo\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/echo/\",\"title\":\"Echo\",\"platform\":\"go\",\"sdk\":\"sentry.go.echo\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.fasthttp\",\"name\":\"fasthttp\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/fasthttp/\",\"title\":\"FastHTTP\",\"platform\":\"go\",\"sdk\":\"sentry.go.fasthttp\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.fiber\",\"name\":\"fiber\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/fiber/\",\"title\":\"Fiber\",\"platform\":\"go\",\"sdk\":\"sentry.go.fiber\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.gin\",\"name\":\"gin\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/gin/\",\"title\":\"Gin\",\"platform\":\"go\",\"sdk\":\"sentry.go.gin\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.grpc\",\"name\":\"grpc\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/grpc/\",\"title\":\"gRPC\",\"platform\":\"go\",\"sdk\":\"sentry.go.grpc\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.iris\",\"name\":\"iris\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/iris/\",\"title\":\"Iris\",\"platform\":\"go\",\"sdk\":\"sentry.go.iris\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.negroni\",\"name\":\"negroni\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/negroni/\",\"title\":\"Negroni\",\"platform\":\"go\",\"sdk\":\"sentry.go.negroni\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"go.http\",\"name\":\"http\",\"type\":\"guide\",\"url\":\"/platforms/go/guides/http/\",\"title\":\"net/http\",\"platform\":\"go\",\"sdk\":\"sentry.go.http\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"godot\",\"name\":\"godot\",\"type\":\"platform\",\"url\":\"/platforms/godot/\",\"title\":\"Godot Engine\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.godot\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:7:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:7:keywords\",\"guides\":[],\"integrations\":[]},{\"key\":\"java\",\"name\":\"java\",\"type\":\"platform\",\"url\":\"/platforms/java/\",\"title\":\"Java\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.java\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:8:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:8:keywords\",\"guides\":[{\"key\":\"java.jul\",\"name\":\"jul\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/jul/\",\"title\":\"java.util.logging\",\"platform\":\"java\",\"sdk\":\"sentry.java.jul\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.log4j2\",\"name\":\"log4j2\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/log4j2/\",\"title\":\"Log4j 2.x\",\"platform\":\"java\",\"sdk\":\"sentry.java.log4j2\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.logback\",\"name\":\"logback\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/logback/\",\"title\":\"Logback\",\"platform\":\"java\",\"sdk\":\"sentry.java.logback\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.servlet\",\"name\":\"servlet\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/servlet/\",\"title\":\"Servlet\",\"platform\":\"java\",\"sdk\":\"sentry.java.servlet\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.spring\",\"name\":\"spring\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/spring/\",\"title\":\"Spring\",\"platform\":\"java\",\"sdk\":\"sentry.java.spring\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"java.spring-boot\",\"name\":\"spring-boot\",\"type\":\"guide\",\"url\":\"/platforms/java/guides/spring-boot/\",\"title\":\"Spring Boot\",\"platform\":\"java\",\"sdk\":\"sentry.java.spring-boot\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"kotlin\",\"name\":\"kotlin\",\"type\":\"platform\",\"url\":\"/platforms/kotlin/\",\"title\":\"Kotlin\",\"caseStyle\":\"camelCase\",\"sdk\":\"$undefined\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:9:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:9:keywords\",\"guides\":[{\"key\":\"kotlin.kotlin-multiplatform\",\"name\":\"kotlin-multiplatform\",\"type\":\"guide\",\"url\":\"/platforms/kotlin/guides/kotlin-multiplatform/\",\"title\":\"Kotlin Multiplatform\",\"platform\":\"kotlin\",\"sdk\":\"sentry.kotlin.kmp\",\"categories\":\"$1c:props:children:0:props:platforms:9:guides:0:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"kotlin.compose-multiplatform\",\"name\":\"compose-multiplatform\",\"type\":\"guide\",\"url\":\"/platforms/kotlin/guides/compose-multiplatform/\",\"title\":\"Compose Multiplatform\",\"platform\":\"kotlin\",\"sdk\":\"sentry.kotlin.multiplatform\",\"categories\":\"$1c:props:children:0:props:platforms:9:guides:1:categories\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"native\",\"name\":\"native\",\"type\":\"platform\",\"url\":\"/platforms/native/\",\"title\":\"Native\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.native\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:10:categories\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"native.breakpad\",\"name\":\"breakpad\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/breakpad/\",\"title\":\"Google Breakpad\",\"platform\":\"native\",\"sdk\":\"sentry.native.breakpad\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.crashpad\",\"name\":\"crashpad\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/crashpad/\",\"title\":\"Google Crashpad\",\"platform\":\"native\",\"sdk\":\"sentry.native.crashpad\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.minidumps\",\"name\":\"minidumps\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/minidumps/\",\"title\":\"Minidumps\",\"platform\":\"native\",\"sdk\":\"sentry.native.minidumps\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.qt\",\"name\":\"qt\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/qt/\",\"title\":\"Qt\",\"platform\":\"native\",\"sdk\":\"sentry.native.qt\",\"categories\":\"$1c:props:children:0:props:platforms:10:guides:3:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"native.wasm\",\"name\":\"wasm\",\"type\":\"guide\",\"url\":\"/platforms/native/guides/wasm/\",\"title\":\"WebAssembly\",\"platform\":\"native\",\"sdk\":\"sentry.native.wasm\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"nintendo-switch\",\"name\":\"nintendo-switch\",\"type\":\"platform\",\"url\":\"/platforms/nintendo-switch/\",\"title\":\"Nintendo Switch\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.nintendo-switch\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:11:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"php\",\"name\":\"php\",\"type\":\"platform\",\"url\":\"/platforms/php/\",\"title\":\"PHP\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.php\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:12:categories\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"php.laravel\",\"name\":\"laravel\",\"type\":\"guide\",\"url\":\"/platforms/php/guides/laravel/\",\"title\":\"Laravel\",\"platform\":\"php\",\"sdk\":\"sentry.php.laravel\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"php.symfony\",\"name\":\"symfony\",\"type\":\"guide\",\"url\":\"/platforms/php/guides/symfony/\",\"title\":\"Symfony\",\"platform\":\"php\",\"sdk\":\"sentry.php.symfony\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"playstation\",\"name\":\"playstation\",\"type\":\"platform\",\"url\":\"/platforms/playstation/\",\"title\":\"PlayStation\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.playstation\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:13:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"powershell\",\"name\":\"powershell\",\"type\":\"platform\",\"url\":\"/platforms/powershell/\",\"title\":\"PowerShell\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.dotnet.powershell\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:14:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"python\",\"name\":\"python\",\"type\":\"platform\",\"url\":\"/platforms/python/\",\"title\":\"Python\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.python\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:15:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[{\"key\":\"aiohttp\",\"name\":\"AIOHTTP\",\"icon\":\"python.aiohttp\",\"url\":\"/platforms/python/integrations/aiohttp\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"aiomysql\",\"name\":\"aiomysql\",\"icon\":\"python.aiomysql\",\"url\":\"/platforms/python/integrations/aiomysql\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"anthropic\",\"name\":\"Anthropic\",\"icon\":\"python.anthropic\",\"url\":\"/platforms/python/integrations/anthropic\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"airflow\",\"name\":\"Apache Airflow\",\"icon\":\"python.airflow\",\"url\":\"/platforms/python/integrations/airflow\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"beam\",\"name\":\"Apache Beam\",\"icon\":\"python.beam\",\"url\":\"/platforms/python/integrations/beam\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"spark\",\"name\":\"Apache Spark\",\"icon\":\"python.spark\",\"url\":\"/platforms/python/integrations/spark\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"ariadne\",\"name\":\"Ariadne\",\"icon\":\"python.ariadne\",\"url\":\"/platforms/python/integrations/ariadne\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"arq\",\"name\":\"arq\",\"icon\":\"python.arq\",\"url\":\"/platforms/python/integrations/arq\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"asgi\",\"name\":\"ASGI\",\"icon\":\"python.asgi\",\"url\":\"/platforms/python/integrations/asgi\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"asyncio\",\"name\":\"asyncio\",\"icon\":\"python.asyncio\",\"url\":\"/platforms/python/integrations/asyncio\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"asyncpg\",\"name\":\"asyncpg\",\"icon\":\"python.asyncpg\",\"url\":\"/platforms/python/integrations/asyncpg\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"aws-lambda\",\"name\":\"AWS Lambda\",\"icon\":\"python.aws-lambda\",\"url\":\"/platforms/python/integrations/aws-lambda\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"boto3\",\"name\":\"Boto3\",\"icon\":\"python.boto3\",\"url\":\"/platforms/python/integrations/boto3\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"bottle\",\"name\":\"Bottle\",\"icon\":\"python.bottle\",\"url\":\"/platforms/python/integrations/bottle\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"celery\",\"name\":\"Celery\",\"icon\":\"python.celery\",\"url\":\"/platforms/python/integrations/celery\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"chalice\",\"name\":\"Chalice\",\"icon\":\"python.chalice\",\"url\":\"/platforms/python/integrations/chalice\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"clickhouse-driver\",\"name\":\"clickhouse-driver\",\"icon\":\"python.clickhouse-driver\",\"url\":\"/platforms/python/integrations/clickhouse-driver\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"cloudresourcecontext\",\"name\":\"Cloud Resource Context\",\"icon\":\"python.cloudresourcecontext\",\"url\":\"/platforms/python/integrations/cloudresourcecontext\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"django\",\"name\":\"Django\",\"icon\":\"python.django\",\"url\":\"/platforms/python/integrations/django\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"dramatiq\",\"name\":\"Dramatiq\",\"icon\":\"python.dramatiq\",\"url\":\"/platforms/python/integrations/dramatiq\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"falcon\",\"name\":\"Falcon\",\"icon\":\"python.falcon\",\"url\":\"/platforms/python/integrations/falcon\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"fastapi\",\"name\":\"FastAPI\",\"icon\":\"python.fastapi\",\"url\":\"/platforms/python/integrations/fastapi\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"flask\",\"name\":\"Flask\",\"icon\":\"python.flask\",\"url\":\"/platforms/python/integrations/flask\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"gnu_backtrace\",\"name\":\"GNU Backtrace\",\"icon\":\"python.gnu_backtrace\",\"url\":\"/platforms/python/integrations/gnu_backtrace\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"gcp-functions\",\"name\":\"Google Cloud Functions\",\"icon\":\"python.gcp-functions\",\"url\":\"/platforms/python/integrations/gcp-functions\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"google-genai\",\"name\":\"Google Gen AI\",\"icon\":\"python.google-genai\",\"url\":\"/platforms/python/integrations/google-genai\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"gql\",\"name\":\"GQL\",\"icon\":\"python.gql\",\"url\":\"/platforms/python/integrations/gql\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"graphene\",\"name\":\"Graphene\",\"icon\":\"python.graphene\",\"url\":\"/platforms/python/integrations/graphene\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"grpc\",\"name\":\"gRPC\",\"icon\":\"python.grpc\",\"url\":\"/platforms/python/integrations/grpc\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"httpx\",\"name\":\"HTTPX\",\"icon\":\"python.httpx\",\"url\":\"/platforms/python/integrations/httpx\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"httpx2\",\"name\":\"HTTPX2\",\"icon\":\"python.httpx2\",\"url\":\"/platforms/python/integrations/httpx2\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"huey\",\"name\":\"huey\",\"icon\":\"python.huey\",\"url\":\"/platforms/python/integrations/huey\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"huggingface_hub\",\"name\":\"Hugging Face Hub\",\"icon\":\"python.huggingface_hub\",\"url\":\"/platforms/python/integrations/huggingface_hub\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"langchain\",\"name\":\"LangChain\",\"icon\":\"python.langchain\",\"url\":\"/platforms/python/integrations/langchain\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"langgraph\",\"name\":\"LangGraph\",\"icon\":\"python.langgraph\",\"url\":\"/platforms/python/integrations/langgraph\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"launchdarkly\",\"name\":\"LaunchDarkly\",\"icon\":\"python.launchdarkly\",\"url\":\"/platforms/python/integrations/launchdarkly\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"litellm\",\"name\":\"LiteLLM\",\"icon\":\"python.litellm\",\"url\":\"/platforms/python/integrations/litellm\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"litestar\",\"name\":\"Litestar\",\"icon\":\"python.litestar\",\"url\":\"/platforms/python/integrations/litestar\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"logging\",\"name\":\"Logging\",\"icon\":\"python.logging\",\"url\":\"/platforms/python/integrations/logging\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"loguru\",\"name\":\"Loguru\",\"icon\":\"python.loguru\",\"url\":\"/platforms/python/integrations/loguru\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"mcp\",\"name\":\"MCP (Model Context Protocol)\",\"icon\":\"python.mcp\",\"url\":\"/platforms/python/integrations/mcp\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"openai\",\"name\":\"OpenAI\",\"icon\":\"python.openai\",\"url\":\"/platforms/python/integrations/openai\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"openai-agents\",\"name\":\"OpenAI Agents\",\"icon\":\"python.openai-agents\",\"url\":\"/platforms/python/integrations/openai-agents\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"openfeature\",\"name\":\"OpenFeature\",\"icon\":\"python.openfeature\",\"url\":\"/platforms/python/integrations/openfeature\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"otlp\",\"name\":\"OpenTelemetry (OTLP)\",\"icon\":\"python.otlp\",\"url\":\"/platforms/python/integrations/otlp\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pure_eval\",\"name\":\"pure_eval\",\"icon\":\"python.pure_eval\",\"url\":\"/platforms/python/integrations/pure_eval\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pydantic-ai\",\"name\":\"Pydantic AI\",\"icon\":\"python.pydantic-ai\",\"url\":\"/platforms/python/integrations/pydantic-ai\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pymongo\",\"name\":\"PyMongo\",\"icon\":\"python.pymongo\",\"url\":\"/platforms/python/integrations/pymongo\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pyramid\",\"name\":\"Pyramid\",\"icon\":\"python.pyramid\",\"url\":\"/platforms/python/integrations/pyramid\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"pyreqwest\",\"name\":\"pyreqwest\",\"icon\":\"python.pyreqwest\",\"url\":\"/platforms/python/integrations/pyreqwest\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"quart\",\"name\":\"Quart\",\"icon\":\"python.quart\",\"url\":\"/platforms/python/integrations/quart\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"ray\",\"name\":\"Ray\",\"icon\":\"python.ray\",\"url\":\"/platforms/python/integrations/ray\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"redis\",\"name\":\"Redis\",\"icon\":\"python.redis\",\"url\":\"/platforms/python/integrations/redis\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"rq\",\"name\":\"RQ (Redis Queue)\",\"icon\":\"python.rq\",\"url\":\"/platforms/python/integrations/rq\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"rust_tracing\",\"name\":\"Rust Tracing\",\"icon\":\"python.rust_tracing\",\"url\":\"/platforms/python/integrations/rust_tracing\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"sanic\",\"name\":\"Sanic\",\"icon\":\"python.sanic\",\"url\":\"/platforms/python/integrations/sanic\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"serverless\",\"name\":\"Serverless\",\"icon\":\"python.serverless\",\"url\":\"/platforms/python/integrations/serverless\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"socket\",\"name\":\"Socket\",\"icon\":\"python.socket\",\"url\":\"/platforms/python/integrations/socket\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"sqlalchemy\",\"name\":\"SQLAlchemy\",\"icon\":\"python.sqlalchemy\",\"url\":\"/platforms/python/integrations/sqlalchemy\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"starlette\",\"name\":\"Starlette\",\"icon\":\"python.starlette\",\"url\":\"/platforms/python/integrations/starlette\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"starlite\",\"name\":\"Starlite\",\"icon\":\"python.starlite\",\"url\":\"/platforms/python/integrations/starlite\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"statsig\",\"name\":\"Statsig\",\"icon\":\"python.statsig\",\"url\":\"/platforms/python/integrations/statsig\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"strawberry\",\"name\":\"Strawberry\",\"icon\":\"python.strawberry\",\"url\":\"/platforms/python/integrations/strawberry\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"sys_exit\",\"name\":\"sys.exit\",\"icon\":\"python.sys_exit\",\"url\":\"/platforms/python/integrations/sys_exit\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"tornado\",\"name\":\"Tornado\",\"icon\":\"python.tornado\",\"url\":\"/platforms/python/integrations/tornado\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"tryton\",\"name\":\"Tryton\",\"icon\":\"python.tryton\",\"url\":\"/platforms/python/integrations/tryton\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"typer\",\"name\":\"Typer\",\"icon\":\"python.typer\",\"url\":\"/platforms/python/integrations/typer\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"unleash\",\"name\":\"Unleash\",\"icon\":\"python.unleash\",\"url\":\"/platforms/python/integrations/unleash\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"wsgi\",\"name\":\"WSGI\",\"icon\":\"python.wsgi\",\"url\":\"/platforms/python/integrations/wsgi\",\"platform\":\"python\",\"type\":\"integration\"},{\"key\":\"default-integrations\",\"name\":\"Default Integrations\",\"icon\":\"python.default-integrations\",\"url\":\"/platforms/python/integrations/default-integrations\",\"platform\":\"python\",\"type\":\"integration\"}]},{\"key\":\"react-native\",\"name\":\"react-native\",\"type\":\"platform\",\"url\":\"/platforms/react-native/\",\"title\":\"React Native\",\"caseStyle\":\"camelCase\",\"sdk\":\"sentry.javascript.react-native\",\"fallbackPlatform\":\"javascript\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:16:categories\",\"keywords\":\"$1c:props:children:0:props:platforms:16:keywords\",\"guides\":[{\"key\":\"react-native\",\"name\":\"react-native\",\"type\":\"guide\",\"url\":\"/platforms/react-native/\",\"title\":\"React Native\",\"platform\":\"react-native\",\"sdk\":\"sentry.javascript.react-native\",\"categories\":\"$1c:props:children:0:props:platforms:16:categories\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"react-native.expo\",\"name\":\"expo\",\"type\":\"guide\",\"url\":\"/platforms/react-native/guides/expo/\",\"title\":\"Expo\",\"platform\":\"react-native\",\"sdk\":\"sentry.javascript.react-native\",\"categories\":\"$1c:props:children:0:props:platforms:16:guides:1:categories\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"ruby\",\"name\":\"ruby\",\"type\":\"platform\",\"url\":\"/platforms/ruby/\",\"title\":\"Ruby\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.ruby\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$undefined\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"ruby.delayed_job\",\"name\":\"delayed_job\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/delayed_job/\",\"title\":\"DelayedJob\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.delayed_job\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.rack\",\"name\":\"rack\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/rack/\",\"title\":\"Rack Middleware\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.rack\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.rails\",\"name\":\"rails\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/rails/\",\"title\":\"Rails\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.rails\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.resque\",\"name\":\"resque\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/resque/\",\"title\":\"Resque\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.resque\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"ruby.sidekiq\",\"name\":\"sidekiq\",\"type\":\"guide\",\"url\":\"/platforms/ruby/guides/sidekiq/\",\"title\":\"Sidekiq\",\"platform\":\"ruby\",\"sdk\":\"sentry.ruby.sidekiq\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"rust\",\"name\":\"rust\",\"type\":\"platform\",\"url\":\"/platforms/rust/\",\"title\":\"Rust\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.rust\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:18:categories\",\"keywords\":\"$undefined\",\"guides\":[{\"key\":\"rust.actix-web\",\"name\":\"actix-web\",\"type\":\"guide\",\"url\":\"/platforms/rust/guides/actix-web/\",\"title\":\"Actix Web\",\"platform\":\"rust\",\"sdk\":\"sentry.rust.actix-web\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"rust.axum\",\"name\":\"axum\",\"type\":\"guide\",\"url\":\"/platforms/rust/guides/axum/\",\"title\":\"axum\",\"platform\":\"rust\",\"sdk\":\"sentry.rust.axum\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"},{\"key\":\"rust.tracing\",\"name\":\"tracing\",\"type\":\"guide\",\"url\":\"/platforms/rust/guides/tracing/\",\"title\":\"tokio-rs/tracing\",\"platform\":\"rust\",\"sdk\":\"sentry.rust.tracing\",\"categories\":\"$undefined\",\"fallbackGuide\":\"$undefined\"}],\"integrations\":[]},{\"key\":\"unity\",\"name\":\"unity\",\"type\":\"platform\",\"url\":\"/platforms/unity/\",\"title\":\"Unity\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.dotnet.unity\",\"fallbackPlatform\":\"dotnet\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:19:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"unreal\",\"name\":\"unreal\",\"type\":\"platform\",\"url\":\"/platforms/unreal/\",\"title\":\"Unreal Engine\",\"caseStyle\":\"PascalCase\",\"sdk\":\"sentry.unreal\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:20:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]},{\"key\":\"xbox\",\"name\":\"xbox\",\"type\":\"platform\",\"url\":\"/platforms/xbox/\",\"title\":\"Xbox\",\"caseStyle\":\"snake_case\",\"sdk\":\"sentry.xbox\",\"fallbackPlatform\":\"$undefined\",\"language\":\"$undefined\",\"categories\":\"$1c:props:children:0:props:platforms:21:categories\",\"keywords\":\"$undefined\",\"guides\":[],\"integrations\":[]}],\"data-sentry-element\":\"MobileSidebarNav\",\"data-sentry-source-file\":\"index.tsx\"}],\"$L10f\"]}]]}]\n"])</script><script>self.__next_f.push([1,"171:I[56286,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"ScrollActiveLink\"]\n173:I[29595,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"SidebarMoreLinks\"]\n7e:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}]\n7f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"code\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"AUTHORIZATION_CODE\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"\\\\\"}],\"\\n\"]}]\n80:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token variable parameter\",\"children\":\"-d\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token variable assign-left\",\"children\":\"code_verifier\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CODE_VERIFIER\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]\n81:[\"$\",\"span\",null"])</script><script>self.__next_f.push([1,",{\"className\":\"token string\",\"children\":\"\\\"{REFRESH_TOKEN}\\\"\"}]\n82:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}]\n83:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_in\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"2591999\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n84:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_at\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"2024-11-27T23:20:21.054320Z\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n85:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"token_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"bearer\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n86:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"scope\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"org:read project:read\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n87:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"user\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\n88:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\""])</script><script>self.__next_f.push([1," \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"123\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n89:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"name\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Jane Doe\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n8a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"email\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"jane@example.com\\\"\"}],\"\\n\"]}]\n8b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]\n8c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]\n8d:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]\n8e:[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"interval\\\"\"}]\n8f:[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}]\n90:[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"5\"}]\n91:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]\n92:[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"{REFRESH_TOKEN}\\\"\"}]\n93:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}]\n94:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"expires_in\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"2591999\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n95:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\","])</script><script>self.__next_f.push([1,"null,{\"className\":\"token property\",\"children\":\"\\\"expires_at\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"2024-11-27T23:20:21.054320Z\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n96:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"token_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"bearer\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n97:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"scope\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"org:read project:read\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n98:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"user\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\n99:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"123\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n9a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"name\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Jane Doe\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n9b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"   "])</script><script>self.__next_f.push([1," \",[\"$\",\"span\",null,{\"className\":\"token property\",\"children\":\"\\\"email\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"jane@example.com\\\"\"}],\"\\n\"]}]\n9c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]\n9d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],\"\\n\"]}]\n9e:[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}]\n9f:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}]\na0:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}]\na1:[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'verification_uri_complete'\"}]\na2:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}]\na3:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    interval \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"get\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'interval'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"5\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\na4:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    expires_in \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'expires_in'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\na5:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\na6:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 2: Display instructions\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"a7:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\\\\nTo authenticate, visit: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"verification_uri\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"a8:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"Enter code: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"user_code\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"a9:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" verification_uri_complete\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"aa:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\\\\nOr open this link directly: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"verification_uri_complete\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"ab:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nac:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nad:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 3: Poll for token\"}],\"\\n\"]}]\nae:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    deadline \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"+\"}],\" expires_in\\n\"]}]\naf:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"while\"}],\" time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"\u003c\"}],\" deadline\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nb0:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"sleep\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"interval\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nb1:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nb2:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"cla"])</script><script>self.__next_f.push([1,"ssName\":\"token punctuation\",\"children\":\"(\"}],\"TOKEN_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\nb3:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'client_id'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\nb4:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'device_code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" device_code\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\nb5:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'grant_type'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'urn:ietf:params:oauth:grant-type:device_code'\"}],\"\\n\"]}]\nb6:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nb7:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        result \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nb8:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nb9:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_tok"])</script><script>self.__next_f.push([1,"en'\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"in\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nba:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 4: Success\"}],\"\\n\"]}]\nbb:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Authentication successful!\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nbc:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\nbd:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nbe:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"get\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'error'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nbf:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" "])</script><script>self.__next_f.push([1,"\",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'authorization_pending'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nc0:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"continue\"}],\"\\n\"]}]\nc1:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"elif\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'slow_down'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nc2:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            interval \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"+=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"5\"}],\"\\n\"]}]\nc3:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"elif\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_denied'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nc4:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"User denied authorization\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nc5:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"elif\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'expired_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nc6:[\"$\",\"span\",null,{\"className\":\"code-line\","])</script><script>self.__next_f.push([1,"\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Device code expired\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nc7:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"else\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"c8:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"Unexpected error: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"error\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"c9:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nca:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Authorization timed out\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\ncb:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\ncc:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" __name__ \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'__main__'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\ncd:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    access_token\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" refresh_token \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" authenticate\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"ce:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"Access token: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"access_token\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],[\"$\",\"span\",null,{\"className\":\"token format-spec\",\"children\":\"20]\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"...\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"cf:[\"$\",\"div\",null,{\"data-code-tab-title\":\"python\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" time\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" requests\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"CLIENT_ID \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-client-id'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"DEVICE_AUTH_URL \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://sentry.io/oauth/device/code/'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"TOKEN_URL \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://sentry.io/oauth/token/'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"authenticate\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 1: Request device code\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"DEVICE_AUTH_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'client_id'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'scope'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'org:read project:read'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    data \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    device_code \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'device_code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    user_code \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'user_code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    verification_uri \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'verification_uri'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    verification_uri_complete \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",\"$L110\",\"get\",\"$L111\",\"$L112\",\"$L113\",\"\\n\"]}],\"$L114\",\"$L115\",\"$L116\",\"$L117\",\"$L118\",\"$L119\",\"$L11a\",\"$L11b\",\"$L11c\",\"$L11d\",\"$L11e\",\"$L11f\",\"$L120\",\"$L121\",\"$L122\",\"$L123\",\"$L124\",\"$L125\",\"$L126\",\"$L127\",\"$L128\",\"$L129\",\"$L12a\",\"$L12b\",\"$L12c\",\"$L12d\",\"$L12e\",\"$L12f\",\"$L130\",\"$L131\",\"$L132\",\"$L133\",\"$L134\",\"$L135\",\"$L136\",\"$L137\",\"$L138\",\"$L139\",\"$L13a\",\"$L13b\",\"$L13c\",\"$L13d\",\"$L13e\",\"$L13f\"]}]}]}]\n"])</script><script>self.__next_f.push([1,"d0:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nd1:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Create code_challenge by hashing the verifier with SHA256\"}],\"\\n\"]}]\nd2:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"code_challenge \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" base64\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"urlsafe_b64encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"d3:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    hashlib\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"sha256\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"digest\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"d4:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"rstrip\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"b'='\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"decode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nd5:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nd6:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Store code_verifier securely - you'll need it for the token exchange\"}],\"\\n\"]}]\nd7:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}]\nd8:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}]\nd9:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}]\nda:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}]\ndb:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"rstrip\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"b'='\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"decode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\ndc:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" code_challenge\\n\"]}]\ndd:[\"$\",\"span\",null,{\"classN"])</script><script>self.__next_f.push([1,"ame\":\"code-line\",\"children\":\"\\n\"}]\nde:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation annotation decorator\",\"children\":[\"@app\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"route\"]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'/connect'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\ndf:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"connect\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\ne0:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" code_challenge \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" generate_pkce_pair\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\ne1:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'code_verifier'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" code_verifier\\n\"]}]\ne2:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\ne3:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" redirect\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"\\n\"]}]\ne4:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\""])</script><script>self.__next_f.push([1,",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"https://sentry.io/oauth/authorize/\\\"\"}]}],\"\\n\"]}]\ne5:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"?client_id=\"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],\"\\n\"]}]\ne6:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026response_type=code\\\"\"}]}],\"\\n\"]}]\ne7:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026scope=org:read%20project:read\\\"\"}]}],\"\\n\"]}]\ne8:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026redirect_uri=\"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"REDIRECT_URI\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],\"\\n\"]}]\ne9:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026code_challenge=\"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"code_challenge\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\""])</script><script>self.__next_f.push([1,",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],\"\\n\"]}]\nea:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026code_challenge_method=S256\\\"\"}]}],\"\\n\"]}]\neb:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nec:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\ned:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation annotation decorator\",\"children\":[\"@app\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"route\"]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'/callback'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nee:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"callback\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\nef:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" request\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"args\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"get\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nf0:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_verifier \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" session\",[\"$\",\"span\",null,{\"className\":\"token "])</script><script>self.__next_f.push([1,"punctuation\",\"children\":\".\"}],\"pop\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'code_verifier'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token boolean\",\"children\":\"None\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nf1:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nf2:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"TOKEN_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\nf3:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\nf4:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_secret\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\nf5:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"grant_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"authorization_code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\nf6:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token"])</script><script>self.__next_f.push([1," string\",\"children\":\"\\\"code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" code\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\nf7:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"code_verifier\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" code_verifier\\n\"]}]\nf8:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nf9:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    tokens \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\nfa:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nfb:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\nfc:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\""])</script><script>self.__next_f.push([1,"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\nfd:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Connected!\\\"\"}],\"\\n\"]}]\nfe:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\nff:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"refresh_token\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n100:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"TOKEN_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\n101:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n102:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_secret\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n103:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\""])</script><script>self.__next_f.push([1,",null,{\"className\":\"token string\",\"children\":\"\\\"grant_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n104:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n105:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n106:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    tokens \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n107:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n108:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\""])</script><script>self.__next_f.push([1,"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"109:[\"$\",\"div\",null,{\"data-code-tab-title\":\"python\",\"hidden\":true,\"children\":[\"$\",\"pre\",null,{\"className\":\"language-python\",\"children\":[\"$\",\"code\",null,{\"className\":\"code-highlight language-python\",\"children\":[[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" base64\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" hashlib\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" secrets\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" requests\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"from\"}],\" flask \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"import\"}],\" Flask\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" redirect\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" request\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" session\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"app \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" Flask\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"__name__\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"app\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"secret_key \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-secret-key'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"CLIENT_ID \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-client-id'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"CLIENT_SECRET \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'your-client-secret'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"REDIRECT_URI \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://your-app.com/callback'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"TOKEN_URL \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'https://sentry.io/oauth/token/'\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"generate_pkce_pair\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token string triple-quoted-string\",\"children\":\"\\\"\\\"\\\"Generate a code verifier and challenge for PKCE.\\\"\\\"\\\"\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_verifier \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" secrets\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"token_urlsafe\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"64\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_challenge \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" base64\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"urlsafe_b64encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"\\n\"]}],[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        hashlib\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"sha256\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"encode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"$L140\",\"digest\",\"$L141\",\"$L142\",\"\\n\"]}],\"$L143\",\"$L144\",\"$L145\",\"$L146\",\"$L147\",\"$L148\",\"$L149\",\"$L14a\",\"$L14b\",\"$L14c\",\"$L14d\",\"$L14e\",\"$L14f\",\"$L150\",\"$L151\",\"$L152\",\"$L153\",\"$L154\",\"$L155\",\"$L156\",\"$L157\",\"$L158\",\"$L159\",\"$L15a\",\"$L15b\",\"$L15c\",\"$L15d\",\"$L15e\",\"$L15f\",\"$L160\",\"$L161\",\"$L162\",\"$L163\",\"$L164\",\"$L165\",\"$L166\",\"$L167\",\"$L168\",\"$L169\",\"$L16a\",\"$L16b\",\"$L16c\",\"$L16d\",\"$L16e\",\"$L16f\",\"$L170\"]}]}]}]\n"])</script><script>self.__next_f.push([1,"10f:[\"$\",\"div\",null,{\"className\":\"style_sidebar-main__z5ka3 px-3\",\"children\":[[\"$\",\"$L171\",null,{\"activeLinkSelector\":\".style_sidebar__iEJoR .toc-item .active\",\"data-sentry-element\":\"ScrollActiveLink\",\"data-sentry-source-file\":\"index.tsx\"}],\"$L172\",[\"$\",\"hr\",null,{\"className\":\"style_sidebar-separator__U8J_J mt-3 mb-3\",\"data-sentry-component\":\"SidebarSeparator\",\"data-sentry-source-file\":\"sidebarLink.tsx\"}],[\"$\",\"$L173\",null,{\"data-sentry-element\":\"SidebarMoreLinks\",\"data-sentry-source-file\":\"index.tsx\"}]]}]\n10c:null\n"])</script><script>self.__next_f.push([1,"174:I[25301,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"\"]\n175:I[51581,[\"1183\",\"static/chunks/dc725793-183928ee11f9d6fd.js\",\"5623\",\"static/chunks/5623-6ab97b635930053b.js\",\"7736\",\"static/chunks/7736-68ba43d0abd11984.js\",\"7938\",\"static/chunks/7938-05eca2ea78392774.js\",\"5070\",\"static/chunks/5070-7c7fd3492aeb0a06.js\",\"9306\",\"static/chunks/9306-fa0aba15f7d5814b.js\",\"3813\",\"static/chunks/3813-f6c357405ab925f0.js\",\"2196\",\"static/chunks/2196-1764eabf231a236f.js\",\"3812\",\"static/chunks/app/%5B%5B...path%5D%5D/page-14cc2d94db0eefd9.js\"],\"CollapsibleSidebarLink\"]\n110:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}]\n111:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}]\n112:[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'verification_uri_complete'\"}]\n113:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}]\n114:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    interval \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"get\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'interval'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"5\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n115:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    expires_in \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"c"])</script><script>self.__next_f.push([1,"hildren\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'expires_in'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n116:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n117:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 2: Display instructions\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"118:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\\\\nTo authenticate, visit: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"verification_uri\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"119:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"Enter code: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"user_code\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"11a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" verification_uri_complete\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"11b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\\\\nOr open this link directly: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"verification_uri_complete\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"11c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n11d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n11e:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 3: Poll for token\"}],\"\\n\"]}]\n11f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    deadline \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"+\"}],\" expires_in\\n\"]}]\n120:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"while\"}],\" time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"\u003c\"}],\" deadline\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n121:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        time\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"sleep\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"interval\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n122:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n123:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",nu"])</script><script>self.__next_f.push([1,"ll,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"TOKEN_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\n124:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'client_id'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n125:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'device_code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" device_code\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n126:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'grant_type'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'urn:ietf:params:oauth:grant-type:device_code'\"}],\"\\n\"]}]\n127:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n128:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        result \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n129:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n12a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"childre"])</script><script>self.__next_f.push([1,"n\":\"'access_token'\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"in\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n12b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token comment\",\"children\":\"# Step 4: Success\"}],\"\\n\"]}]\n12c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Authentication successful!\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n12d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n12e:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n12f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" result\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"get\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'error'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n130:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\""])</script><script>self.__next_f.push([1,",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'authorization_pending'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n131:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"continue\"}],\"\\n\"]}]\n132:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"elif\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'slow_down'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n133:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            interval \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"+=\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token number\",\"children\":\"5\"}],\"\\n\"]}]\n134:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"elif\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_denied'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n135:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"User denied authorization\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n136:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"elif\"}],\" error \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'expired_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n137:[\"$\",\"span\",nu"])</script><script>self.__next_f.push([1,"ll,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Device code expired\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n138:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"else\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"139:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"            \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"Unexpected error: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"error\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"13a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n13b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"raise\"}],\" Exception\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Authorization timed out\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n13c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n13d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"if\"}],\" __name__ \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"==\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'__main__'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n13e:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    access_token\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" refresh_token \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" authenticate\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"13f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"print\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"Access token: \"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"access_token\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],[\"$\",\"span\",null,{\"className\":\"token format-spec\",\"children\":\"20]\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"...\\\"\"}]]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"140:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}]\n141:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}]\n142:[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}]\n143:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"rstrip\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"b'='\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"decode\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n144:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" code_challenge\\n\"]}]\n145:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n146:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation annotation decorator\",\"children\":[\"@app\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"route\"]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'/connect'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n147:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"connect\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n148:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"  "])</script><script>self.__next_f.push([1,"  code_verifier\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" code_challenge \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" generate_pkce_pair\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n149:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'code_verifier'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" code_verifier\\n\"]}]\n14a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n14b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" redirect\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"\\n\"]}]\n14c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"https://sentry.io/oauth/authorize/\\\"\"}]}],\"\\n\"]}]\n14d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"?client_id=\"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],\"\\n\"]}]\n14e:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026response_type=code\\\"\"}]}],\"\\n\"]}]\n14f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"s"])</script><script>self.__next_f.push([1,"pan\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026scope=org:read%20project:read\\\"\"}]}],\"\\n\"]}]\n150:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026redirect_uri=\"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"REDIRECT_URI\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],\"\\n\"]}]\n151:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026code_challenge=\"}],[\"$\",\"span\",null,{\"className\":\"token interpolation\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"code_challenge\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}]]}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"\"}]]}],\"\\n\"]}]\n152:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string-interpolation\",\"children\":[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"f\\\"\u0026code_challenge_method=S256\\\"\"}]}],\"\\n\"]}]\n153:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n154:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n155:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token punctuation annotation decorator\",\"children\":[\"@app\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"route\"]}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'/callback'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation"])</script><script>self.__next_f.push([1,"\",\"children\":\")\"}],\"\\n\"]}]\n156:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"callback\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n157:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" request\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"args\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"get\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'code'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n158:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    code_verifier \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"pop\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'code_verifier'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token boolean\",\"children\":\"None\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n159:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n15a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"TOKEN_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"classN"])</script><script>self.__next_f.push([1,"ame\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\n15b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n15c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_secret\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n15d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"grant_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"authorization_code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n15e:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"code\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" code\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n15f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"code_verifier\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" code_verifier\\n\"]}]\n160:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n161:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    tokens \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],["])</script><script>self.__next_f.push([1,"\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n162:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n163:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n164:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n165:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"return\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"Connected!\\\"\"}],\"\\n\"]}]\n166:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":\"\\n\"}]\n167:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[[\"$\",\"span\",null,{\"className\":\"token keyword\",\"children\":\"def\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token function\",\"children\":\"refresh_token\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\"\\n\"]}]\n168:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\" "])</script><script>self.__next_f.push([1,"   response \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" requests\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"post\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],\"TOKEN_URL\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\" data\",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"{\"}],\"\\n\"]}]\n169:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_id\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_ID\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n16a:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"client_secret\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" CLIENT_SECRET\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n16b:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"grant_type\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\",\"}],\"\\n\"]}]\n16c:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"        \",[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"\\\"refresh_token\\\"\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\":\"}],\" session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n16d:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    \",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"}\"}],[\"$\",\"span\",null,{\"className\":\"token punctua"])</script><script>self.__next_f.push([1,"tion\",\"children\":\")\"}],\"\\n\"]}]\n16e:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    tokens \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" response\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\".\"}],\"json\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"(\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\")\"}],\"\\n\"]}]\n16f:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'access_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n170:[\"$\",\"span\",null,{\"className\":\"code-line\",\"children\":[\"    session\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\" \",[\"$\",\"span\",null,{\"className\":\"token operator\",\"children\":\"=\"}],\" tokens\",[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"[\"}],[\"$\",\"span\",null,{\"className\":\"token string\",\"children\":\"'refresh_token'\"}],[\"$\",\"span\",null,{\"className\":\"token punctuation\",\"children\":\"]\"}],\"\\n\"]}]\n"])</script><script>self.__next_f.push([1,"172:[\"$\",\"ul\",null,{\"data-sidebar-tree\":true,\"children\":[\"$\",\"li\",null,{\"className\":\"mb-3\",\"data-sidebar-branch\":true,\"data-sentry-component\":\"DynamicNav\",\"data-sentry-source-file\":\"dynamicNav.tsx\",\"children\":[[\"$\",\"$L174\",null,{\"href\":\"/api/\",\"onClick\":\"$undefined\",\"className\":\"style_sidebar-link__reH78  style_sidebar-link-top-level__tKgo9 \",\"data-sidebar-link\":true,\"data-sentry-element\":\"LinkComponent\",\"data-sentry-component\":\"SidebarLink\",\"data-sentry-source-file\":\"sidebarLink.tsx\",\"children\":[[\"$\",\"div\",null,{\"className\":\"style_sidebar-link-content__rKA2e\",\"children\":[[\"$\",\"span\",null,{\"children\":\"API Reference\"}],false,false,false]}],false]}],[\"$\",\"ul\",null,{\"data-sidebar-tree\":true,\"className\":\"pl-3\",\"children\":[false,[[\"$\",\"$L175\",\"/api/auth/\",{\"to\":\"/api/auth/\",\"title\":\"Authentication\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/pagination/\",{\"to\":\"/api/pagination/\",\"title\":\"Paginating Results\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/permissions/\",{\"to\":\"/api/permissions/\",\"title\":\"Permissions \u0026 Scopes\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/ratelimits/\",{\"to\":\"/api/ratelimits/\",\"title\":\"Rate Limits\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/requests/\",{\"to\":\"/api/requests/\",\"title\":\"Requests\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/\",{\"to\":\"/api/crons/\",\"title\":\"Crons\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/crons/create-a-monitor/\",{\"to\":\"/api/crons/create-a-monitor/\",\"title\":\"Create a Monitor\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/delete-a-monitor-or-monitor-environments/\",{\"to\":\"/api/crons/delete-a-monitor-or-monitor-environments/\",\"title\":\"Delete a Monitor or Monitor Environments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/delete-a-monitor-or-monitor-environments-for-a-project/\",{\"to\":\"/api/crons/delete-a-monitor-or-monitor-environments-for-a-project/\",\"title\":\"Delete a Monitor or Monitor Environments for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/retrieve-a-monitor/\",{\"to\":\"/api/crons/retrieve-a-monitor/\",\"title\":\"Retrieve a Monitor\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/retrieve-a-monitor-for-a-project/\",{\"to\":\"/api/crons/retrieve-a-monitor-for-a-project/\",\"title\":\"Retrieve a Monitor for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/retrieve-checkins-for-a-monitor/\",{\"to\":\"/api/crons/retrieve-checkins-for-a-monitor/\",\"title\":\"Retrieve Check-Ins for a Monitor\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/retrieve-checkins-for-a-monitor-by-project/\",{\"to\":\"/api/crons/retrieve-checkins-for-a-monitor-by-project/\",\"title\":\"Retrieve Check-Ins for a Monitor by Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/retrieve-monitors-for-an-organization/\",{\"to\":\"/api/crons/retrieve-monitors-for-an-organization/\",\"title\":\"Retrieve Monitors for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/update-a-monitor/\",{\"to\":\"/api/crons/update-a-monitor/\",\"title\":\"Update a Monitor\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/crons/update-a-monitor-for-a-project/\",{\"to\":\"/api/crons/update-a-monitor-for-a-project/\",\"title\":\"Update a Monitor for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}],[\"$\",\"$L175\",\"/api/dashboards/\",{\"to\":\"/api/dashboards/\",\"title\":\"Dashboards\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/dashboards/create-a-new-dashboard-for-an-organization/\",{\"to\":\"/api/dashboards/create-a-new-dashboard-for-an-organization/\",\"title\":\"Create a New Dashboard for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],\"$L176\",\"$L177\",\"$L178\",\"$L179\"]}],\"$L17a\",\"$L17b\",\"$L17c\",\"$L17d\",\"$L17e\",\"$L17f\",\"$L180\",\"$L181\",\"$L182\",\"$L183\",\"$L184\",\"$L185\",\"$L186\",\"$L187\",\"$L188\",\"$L189\",\"$L18a\",\"$L18b\",\"$L18c\"]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"176:[\"$\",\"$L175\",\"/api/dashboards/delete-an-organizations-custom-dashboard/\",{\"to\":\"/api/dashboards/delete-an-organizations-custom-dashboard/\",\"title\":\"Delete an Organization's Custom Dashboard\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n177:[\"$\",\"$L175\",\"/api/dashboards/edit-an-organizations-custom-dashboard/\",{\"to\":\"/api/dashboards/edit-an-organizations-custom-dashboard/\",\"title\":\"Edit an Organization's Custom Dashboard\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n178:[\"$\",\"$L175\",\"/api/dashboards/list-an-organizations-custom-dashboards/\",{\"to\":\"/api/dashboards/list-an-organizations-custom-dashboards/\",\"title\":\"List an Organization's Custom Dashboards\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n179:[\"$\",\"$L175\",\"/api/dashboards/retrieve-an-organizations-custom-dashboard/\",{\"to\":\"/api/dashboards/retrieve-an-organizations-custom-dashboard/\",\"title\":\"Retrieve an Organization's Custom Dashboard\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n"])</script><script>self.__next_f.push([1,"17a:[\"$\",\"$L175\",\"/api/discover/\",{\"to\":\"/api/discover/\",\"title\":\"Discover \u0026 Performance\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/discover/create-a-new-saved-query/\",{\"to\":\"/api/discover/create-a-new-saved-query/\",\"title\":\"Create a New Saved Query\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/delete-an-organizations-discover-saved-query/\",{\"to\":\"/api/discover/delete-an-organizations-discover-saved-query/\",\"title\":\"Delete an Organization's Discover Saved Query\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/edit-an-organizations-discover-saved-query/\",{\"to\":\"/api/discover/edit-an-organizations-discover-saved-query/\",\"title\":\"Edit an Organization's Discover Saved Query\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/list-an-organizations-discover-saved-queries/\",{\"to\":\"/api/discover/list-an-organizations-discover-saved-queries/\",\"title\":\"List an Organization's Discover Saved Queries\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/list-an-organizations-tags/\",{\"to\":\"/api/discover/list-an-organizations-tags/\",\"title\":\"List an Organization's Tags\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/list-trace-item-attributes/\",{\"to\":\"/api/discover/list-trace-item-attributes/\",\"title\":\"List Trace Item Attributes\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/retrieve-a-trace/\",{\"to\":\"/api/discover/retrieve-a-trace/\",\"title\":\"Retrieve a Trace\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/retrieve-an-organizations-discover-saved-query/\",{\"to\":\"/api/discover/retrieve-an-organizations-discover-saved-query/\",\"title\":\"Retrieve an Organization's Discover Saved Query\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/discover/retrieve-trace-metadata/\",{\"to\":\"/api/discover/retrieve-trace-metadata/\",\"title\":\"Retrieve Trace Metadata\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"17b:[\"$\",\"$L175\",\"/api/environments/\",{\"to\":\"/api/environments/\",\"title\":\"Environments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/environments/bulk-update-project-environments/\",{\"to\":\"/api/environments/bulk-update-project-environments/\",\"title\":\"Bulk Update Project Environments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/environments/list-a-projects-environments/\",{\"to\":\"/api/environments/list-a-projects-environments/\",\"title\":\"List a Project's Environments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/environments/list-an-organizations-environments/\",{\"to\":\"/api/environments/list-an-organizations-environments/\",\"title\":\"List an Organization's Environments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/environments/retrieve-a-project-environment/\",{\"to\":\"/api/environments/retrieve-a-project-environment/\",\"title\":\"Retrieve a Project Environment\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/environments/update-a-project-environment/\",{\"to\":\"/api/environments/update-a-project-environment/\",\"title\":\"Update a Project Environment\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"17c:[\"$\",\"$L175\",\"/api/events/\",{\"to\":\"/api/events/\",\"title\":\"Events \u0026 Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/events/bulk-mutate-a-list-of-issues/\",{\"to\":\"/api/events/bulk-mutate-a-list-of-issues/\",\"title\":\"Bulk Mutate a List of Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/bulk-mutate-an-organizations-issues/\",{\"to\":\"/api/events/bulk-mutate-an-organizations-issues/\",\"title\":\"Bulk Mutate an Organization's Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/bulk-remove-a-list-of-issues/\",{\"to\":\"/api/events/bulk-remove-a-list-of-issues/\",\"title\":\"Bulk Remove a List of Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/bulk-remove-an-organizations-issues/\",{\"to\":\"/api/events/bulk-remove-an-organizations-issues/\",\"title\":\"Bulk Remove an Organization's Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/get-debug-information-related-to-source-maps-for-a-given-event/\",{\"to\":\"/api/events/get-debug-information-related-to-source-maps-for-a-given-event/\",\"title\":\"Get Debug Information Related to Source Maps for a Given Event\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-a-projects-error-events/\",{\"to\":\"/api/events/list-a-projects-error-events/\",\"title\":\"List a Project's Error Events\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-a-projects-issues/\",{\"to\":\"/api/events/list-a-projects-issues/\",\"title\":\"List a Project's Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-a-tags-values-for-an-issue/\",{\"to\":\"/api/events/list-a-tags-values-for-an-issue/\",\"title\":\"List a Tag's Values for an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-an-events-attachments/\",{\"to\":\"/api/events/list-an-events-attachments/\",\"title\":\"List an Event's Attachments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-an-issues-events/\",{\"to\":\"/api/events/list-an-issues-events/\",\"title\":\"List an Issue's Events\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-an-issues-hashes/\",{\"to\":\"/api/events/list-an-issues-hashes/\",\"title\":\"List an Issue's Hashes\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/list-an-organizations-issues/\",{\"to\":\"/api/events/list-an-organizations-issues/\",\"title\":\"List an Organization's Issues\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/remove-an-issue/\",{\"to\":\"/api/events/remove-an-issue/\",\"title\":\"Remove an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/retrieve-an-event-attachment/\",{\"to\":\"/api/events/retrieve-an-event-attachment/\",\"title\":\"Retrieve an Event Attachment\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/retrieve-an-event-for-a-project/\",{\"to\":\"/api/events/retrieve-an-event-for-a-project/\",\"title\":\"Retrieve an Event for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/retrieve-an-issue/\",{\"to\":\"/api/events/retrieve-an-issue/\",\"title\":\"Retrieve an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/retrieve-an-issue-event/\",{\"to\":\"/api/events/retrieve-an-issue-event/\",\"title\":\"Retrieve an Issue Event\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/events/retrieve-tag-details/\",{\"to\":\"/api/events/retrieve-tag-details/\",\"title\":\"Retrieve Tag Details\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],\"$L18d\"]}]\n"])</script><script>self.__next_f.push([1,"17d:[\"$\",\"$L175\",\"/api/explore/\",{\"to\":\"/api/explore/\",\"title\":\"Explore\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/explore/query-explore-events-in-table-format/\",{\"to\":\"/api/explore/query-explore-events-in-table-format/\",\"title\":\"Query Explore Events in Table Format\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/explore/query-explore-events-in-timeseries-format/\",{\"to\":\"/api/explore/query-explore-events-in-timeseries-format/\",\"title\":\"Query Explore Events in Timeseries Format\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/explore/retrieve-trace-item-statistics/\",{\"to\":\"/api/explore/retrieve-trace-item-statistics/\",\"title\":\"Retrieve Trace Item Statistics\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"17e:[\"$\",\"$L175\",\"/api/integration/\",{\"to\":\"/api/integration/\",\"title\":\"Integration Platform\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/integration/create-an-external-issue-and-link-it-to-an-issue/\",{\"to\":\"/api/integration/create-an-external-issue-and-link-it-to-an-issue/\",\"title\":\"Create an External Issue and Link It to an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/create-or-update-an-external-issue/\",{\"to\":\"/api/integration/create-or-update-an-external-issue/\",\"title\":\"Create or update an External Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/delete-a-custom-integration/\",{\"to\":\"/api/integration/delete-a-custom-integration/\",\"title\":\"Delete a custom integration.\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/delete-an-external-issue/\",{\"to\":\"/api/integration/delete-an-external-issue/\",\"title\":\"Delete an External Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/link-an-existing-external-issue-to-an-issue/\",{\"to\":\"/api/integration/link-an-existing-external-issue-to-an-issue/\",\"title\":\"Link an Existing External Issue to an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/list-an-organizations-integration-platform-installations/\",{\"to\":\"/api/integration/list-an-organizations-integration-platform-installations/\",\"title\":\"List an Organization's Integration Platform Installations\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/retrieve-a-custom-integration-by-id-or-slug/\",{\"to\":\"/api/integration/retrieve-a-custom-integration-by-id-or-slug/\",\"title\":\"Retrieve a custom integration by ID or slug.\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/retrieve-an-integrations-issue-config-for-an-issue/\",{\"to\":\"/api/integration/retrieve-an-integrations-issue-config-for-an-issue/\",\"title\":\"Retrieve an Integration's Issue Config for an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/retrieve-custom-integration-issue-links-for-the-given-sentry-issue/\",{\"to\":\"/api/integration/retrieve-custom-integration-issue-links-for-the-given-sentry-issue/\",\"title\":\"Retrieve custom integration issue links for the given Sentry issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/retrieve-the-custom-integrations-created-by-an-organization/\",{\"to\":\"/api/integration/retrieve-the-custom-integrations-created-by-an-organization/\",\"title\":\"Retrieve the custom integrations created by an organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/unlink-an-external-issue-from-an-issue/\",{\"to\":\"/api/integration/unlink-an-external-issue-from-an-issue/\",\"title\":\"Unlink an External Issue from an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integration/update-an-existing-custom-integration/\",{\"to\":\"/api/integration/update-an-existing-custom-integration/\",\"title\":\"Update an existing custom integration.\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"17f:[\"$\",\"$L175\",\"/api/integrations/\",{\"to\":\"/api/integrations/\",\"title\":\"Integrations\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/integrations/create-a-data-forwarder-for-an-organization/\",{\"to\":\"/api/integrations/create-a-data-forwarder-for-an-organization/\",\"title\":\"Create a Data Forwarder for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/create-an-external-team/\",{\"to\":\"/api/integrations/create-an-external-team/\",\"title\":\"Create an External Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/create-an-external-user/\",{\"to\":\"/api/integrations/create-an-external-user/\",\"title\":\"Create an External User\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/delete-a-data-forwarder-for-an-organization/\",{\"to\":\"/api/integrations/delete-a-data-forwarder-for-an-organization/\",\"title\":\"Delete a Data Forwarder for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/delete-an-external-team/\",{\"to\":\"/api/integrations/delete-an-external-team/\",\"title\":\"Delete an External Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/delete-an-external-user/\",{\"to\":\"/api/integrations/delete-an-external-user/\",\"title\":\"Delete an External User\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/delete-an-integration-for-an-organization/\",{\"to\":\"/api/integrations/delete-an-integration-for-an-organization/\",\"title\":\"Delete an Integration for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/get-integration-provider-information/\",{\"to\":\"/api/integrations/get-integration-provider-information/\",\"title\":\"Get Integration Provider Information\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/list-an-organizations-available-integrations/\",{\"to\":\"/api/integrations/list-an-organizations-available-integrations/\",\"title\":\"List an Organization's Available Integrations\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/retrieve-an-integration-for-an-organization/\",{\"to\":\"/api/integrations/retrieve-an-integration-for-an-organization/\",\"title\":\"Retrieve an Integration for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/retrieve-data-forwarders-for-an-organization/\",{\"to\":\"/api/integrations/retrieve-data-forwarders-for-an-organization/\",\"title\":\"Retrieve Data Forwarders for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/update-a-data-forwarder-for-an-organization/\",{\"to\":\"/api/integrations/update-a-data-forwarder-for-an-organization/\",\"title\":\"Update a Data Forwarder for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/update-an-external-team/\",{\"to\":\"/api/integrations/update-an-external-team/\",\"title\":\"Update an External Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/integrations/update-an-external-user/\",{\"to\":\"/api/integrations/update-an-external-user/\",\"title\":\"Update an External User\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"180:[\"$\",\"$L175\",\"/api/mobile-builds/\",{\"to\":\"/api/mobile-builds/\",\"title\":\"Mobile Builds\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/mobile-builds/create-a-skipped-size-analysis-status-check/\",{\"to\":\"/api/mobile-builds/create-a-skipped-size-analysis-status-check/\",\"title\":\"Create a skipped Size Analysis status check\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/mobile-builds/get-the-latest-installable-build-for-a-project/\",{\"to\":\"/api/mobile-builds/get-the-latest-installable-build-for-a-project/\",\"title\":\"Get the latest installable build for a project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/mobile-builds/retrieve-install-info-for-a-given-artifact/\",{\"to\":\"/api/mobile-builds/retrieve-install-info-for-a-given-artifact/\",\"title\":\"Retrieve install info for a given artifact\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/mobile-builds/retrieve-size-analysis-results-for-a-given-artifact/\",{\"to\":\"/api/mobile-builds/retrieve-size-analysis-results-for-a-given-artifact/\",\"title\":\"Retrieve Size Analysis results for a given artifact\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/mobile-builds/retrieve-size-analysis-status-check-rules-for-a-project/\",{\"to\":\"/api/mobile-builds/retrieve-size-analysis-status-check-rules-for-a-project/\",\"title\":\"Retrieve Size Analysis status check rules for a project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"181:[\"$\",\"$L175\",\"/api/monitors/\",{\"to\":\"/api/monitors/\",\"title\":\"Monitors \u0026 Alerts\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/monitors/bulk-delete-alerts/\",{\"to\":\"/api/monitors/bulk-delete-alerts/\",\"title\":\"Bulk Delete Alerts\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/bulk-delete-monitors/\",{\"to\":\"/api/monitors/bulk-delete-monitors/\",\"title\":\"Bulk Delete Monitors\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/create-a-monitor-for-a-project/\",{\"to\":\"/api/monitors/create-a-monitor-for-a-project/\",\"title\":\"Create a Monitor for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/create-an-alert-for-an-organization/\",{\"to\":\"/api/monitors/create-an-alert-for-an-organization/\",\"title\":\"Create an Alert for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/delete-a-monitor/\",{\"to\":\"/api/monitors/delete-a-monitor/\",\"title\":\"Delete a Monitor\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/delete-an-alert/\",{\"to\":\"/api/monitors/delete-an-alert/\",\"title\":\"Delete an Alert\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/fetch-a-monitor/\",{\"to\":\"/api/monitors/fetch-a-monitor/\",\"title\":\"Fetch a Monitor\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/fetch-alerts/\",{\"to\":\"/api/monitors/fetch-alerts/\",\"title\":\"Fetch Alerts\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/fetch-an-alert/\",{\"to\":\"/api/monitors/fetch-an-alert/\",\"title\":\"Fetch an Alert\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/fetch-an-organizations-monitors/\",{\"to\":\"/api/monitors/fetch-an-organizations-monitors/\",\"title\":\"Fetch an Organization's Monitors\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/mutate-an-organizations-alerts/\",{\"to\":\"/api/monitors/mutate-an-organizations-alerts/\",\"title\":\"Mutate an Organization's Alerts\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/mutate-an-organizations-monitors/\",{\"to\":\"/api/monitors/mutate-an-organizations-monitors/\",\"title\":\"Mutate an Organization's Monitors\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/update-a-monitor-by-id/\",{\"to\":\"/api/monitors/update-a-monitor-by-id/\",\"title\":\"Update a Monitor by ID\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/monitors/update-an-alert-by-id/\",{\"to\":\"/api/monitors/update-an-alert-by-id/\",\"title\":\"Update an Alert by ID\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"182:[\"$\",\"$L175\",\"/api/organizations/\",{\"to\":\"/api/organizations/\",\"title\":\"Organizations\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/organizations/add-a-member-to-an-organization/\",{\"to\":\"/api/organizations/add-a-member-to-an-organization/\",\"title\":\"Add a Member to an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/delete-an-organization-member/\",{\"to\":\"/api/organizations/delete-an-organization-member/\",\"title\":\"Delete an Organization Member\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/list-a-repositorys-commits/\",{\"to\":\"/api/organizations/list-a-repositorys-commits/\",\"title\":\"List a Repository's Commits\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/list-an-organizations-client-keys/\",{\"to\":\"/api/organizations/list-an-organizations-client-keys/\",\"title\":\"List an Organization's Client Keys\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/list-an-organizations-members/\",{\"to\":\"/api/organizations/list-an-organizations-members/\",\"title\":\"List an Organization's Members\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/list-an-organizations-projects/\",{\"to\":\"/api/organizations/list-an-organizations-projects/\",\"title\":\"List an Organization's Projects\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/list-an-organizations-repositories/\",{\"to\":\"/api/organizations/list-an-organizations-repositories/\",\"title\":\"List an Organization's Repositories\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/list-an-organizations-trusted-relays/\",{\"to\":\"/api/organizations/list-an-organizations-trusted-relays/\",\"title\":\"List an Organization's trusted Relays\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/resolve-a-short-id/\",{\"to\":\"/api/organizations/resolve-a-short-id/\",\"title\":\"Resolve a Short ID\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/resolve-an-event-id/\",{\"to\":\"/api/organizations/resolve-an-event-id/\",\"title\":\"Resolve an Event ID\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/retrieve-an-organization/\",{\"to\":\"/api/organizations/retrieve-an-organization/\",\"title\":\"Retrieve an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/retrieve-an-organization-member/\",{\"to\":\"/api/organizations/retrieve-an-organization-member/\",\"title\":\"Retrieve an Organization Member\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/retrieve-an-organizations-events-count-by-project/\",{\"to\":\"/api/organizations/retrieve-an-organizations-events-count-by-project/\",\"title\":\"Retrieve an Organization's Events Count by Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/retrieve-event-counts-for-an-organization-v2/\",{\"to\":\"/api/organizations/retrieve-event-counts-for-an-organization-v2/\",\"title\":\"Retrieve Event Counts for an Organization (v2)\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/update-an-organization/\",{\"to\":\"/api/organizations/update-an-organization/\",\"title\":\"Update an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/organizations/update-an-organization-members-roles/\",{\"to\":\"/api/organizations/update-an-organization-members-roles/\",\"title\":\"Update an Organization Member's Roles\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"183:[\"$\",\"$L175\",\"/api/profiling/\",{\"to\":\"/api/profiling/\",\"title\":\"Profiling\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/profiling/retrieve-a-flamegraph-for-an-organization/\",{\"to\":\"/api/profiling/retrieve-a-flamegraph-for-an-organization/\",\"title\":\"Retrieve a Flamegraph for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/profiling/retrieve-a-profile/\",{\"to\":\"/api/profiling/retrieve-a-profile/\",\"title\":\"Retrieve a Profile\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/profiling/retrieve-profile-chunks-for-an-organization/\",{\"to\":\"/api/profiling/retrieve-profile-chunks-for-an-organization/\",\"title\":\"Retrieve Profile Chunks for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"184:[\"$\",\"$L175\",\"/api/projects/\",{\"to\":\"/api/projects/\",\"title\":\"Projects\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/projects/add-a-symbol-source-to-a-project/\",{\"to\":\"/api/projects/add-a-symbol-source-to-a-project/\",\"title\":\"Add a Symbol Source to a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/add-a-team-to-a-project/\",{\"to\":\"/api/projects/add-a-team-to-a-project/\",\"title\":\"Add a Team to a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/create-a-new-client-key/\",{\"to\":\"/api/projects/create-a-new-client-key/\",\"title\":\"Create a New Client Key\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/create-a-new-project/\",{\"to\":\"/api/projects/create-a-new-project/\",\"title\":\"Create a New Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/create-a-project-for-an-organization/\",{\"to\":\"/api/projects/create-a-project-for-an-organization/\",\"title\":\"Create a Project for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/delete-a-client-key/\",{\"to\":\"/api/projects/delete-a-client-key/\",\"title\":\"Delete a Client Key\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/delete-a-project/\",{\"to\":\"/api/projects/delete-a-project/\",\"title\":\"Delete a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/delete-a-symbol-source-from-a-project/\",{\"to\":\"/api/projects/delete-a-symbol-source-from-a-project/\",\"title\":\"Delete a Symbol Source from a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/delete-a-team-from-a-project/\",{\"to\":\"/api/projects/delete-a-team-from-a-project/\",\"title\":\"Delete a Team from a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/disable-spike-protection/\",{\"to\":\"/api/projects/disable-spike-protection/\",\"title\":\"Disable Spike Protection\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/enable-spike-protection/\",{\"to\":\"/api/projects/enable-spike-protection/\",\"title\":\"Enable Spike Protection\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/link-a-repository-to-a-project/\",{\"to\":\"/api/projects/link-a-repository-to-a-project/\",\"title\":\"Link a Repository to a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/list-a-projects-client-keys/\",{\"to\":\"/api/projects/list-a-projects-client-keys/\",\"title\":\"List a Project's Client Keys\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/list-a-projects-data-filters/\",{\"to\":\"/api/projects/list-a-projects-data-filters/\",\"title\":\"List a Project's Data Filters\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/list-a-projects-debug-information-files/\",{\"to\":\"/api/projects/list-a-projects-debug-information-files/\",\"title\":\"List a Project's Debug Information Files\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/list-a-projects-organization-members/\",{\"to\":\"/api/projects/list-a-projects-organization-members/\",\"title\":\"List a Project's Organization Members\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/list-a-projects-service-hooks/\",{\"to\":\"/api/projects/list-a-projects-service-hooks/\",\"title\":\"List a Project's Service Hooks\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/projects/list-a-projects-user-feedback/\",{\"to\":\"/api/projects/list-a-projects-user-feedback/\",\"title\":\"List a Project's User Feedback\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],\"$L18e\",\"$L18f\",\"$L190\",\"$L191\",\"$L192\",\"$L193\",\"$L194\",\"$L195\",\"$L196\",\"$L197\",\"$L198\",\"$L199\",\"$L19a\",\"$L19b\",\"$L19c\",\"$L19d\",\"$L19e\"]}]\n"])</script><script>self.__next_f.push([1,"185:[\"$\",\"$L175\",\"/api/releases/\",{\"to\":\"/api/releases/\",\"title\":\"Releases\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/releases/create-a-deploy/\",{\"to\":\"/api/releases/create-a-deploy/\",\"title\":\"Create a Deploy\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/create-a-new-release-for-an-organization/\",{\"to\":\"/api/releases/create-a-new-release-for-an-organization/\",\"title\":\"Create a New Release for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/delete-a-project-releases-file/\",{\"to\":\"/api/releases/delete-a-project-releases-file/\",\"title\":\"Delete a Project Release's File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/delete-an-organization-releases-file/\",{\"to\":\"/api/releases/delete-an-organization-releases-file/\",\"title\":\"Delete an Organization Release's File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/delete-an-organizations-release/\",{\"to\":\"/api/releases/delete-an-organizations-release/\",\"title\":\"Delete an Organization's Release\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-a-project-releases-commits/\",{\"to\":\"/api/releases/list-a-project-releases-commits/\",\"title\":\"List a Project Release's Commits\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-a-projects-release-files/\",{\"to\":\"/api/releases/list-a-projects-release-files/\",\"title\":\"List a Project's Release Files\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-a-projects-releases/\",{\"to\":\"/api/releases/list-a-projects-releases/\",\"title\":\"List a Project's Releases\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-a-releases-deploys/\",{\"to\":\"/api/releases/list-a-releases-deploys/\",\"title\":\"List a Release's Deploys\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-an-organization-releases-commits/\",{\"to\":\"/api/releases/list-an-organization-releases-commits/\",\"title\":\"List an Organization Release's Commits\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-an-organizations-release-files/\",{\"to\":\"/api/releases/list-an-organizations-release-files/\",\"title\":\"List an Organization's Release Files\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/list-an-organizations-releases/\",{\"to\":\"/api/releases/list-an-organizations-releases/\",\"title\":\"List an Organization's Releases\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/retrieve-a-project-releases-file/\",{\"to\":\"/api/releases/retrieve-a-project-releases-file/\",\"title\":\"Retrieve a Project Release's File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/retrieve-an-organization-releases-file/\",{\"to\":\"/api/releases/retrieve-an-organization-releases-file/\",\"title\":\"Retrieve an Organization Release's File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/retrieve-an-organizations-release/\",{\"to\":\"/api/releases/retrieve-an-organizations-release/\",\"title\":\"Retrieve an Organization's Release\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/retrieve-files-changed-in-a-releases-commits/\",{\"to\":\"/api/releases/retrieve-files-changed-in-a-releases-commits/\",\"title\":\"Retrieve Files Changed in a Release's Commits\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/releases/retrieve-release-health-session-statistics/\",{\"to\":\"/api/releases/retrieve-release-health-session-statistics/\",\"title\":\"Retrieve Release Health Session Statistics\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],\"$L19f\",\"$L1a0\",\"$L1a1\",\"$L1a2\",\"$L1a3\",\"$L1a4\"]}]\n"])</script><script>self.__next_f.push([1,"186:[\"$\",\"$L175\",\"/api/replays/\",{\"to\":\"/api/replays/\",\"title\":\"Replays\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/replays/create-replay-batch-deletion-job/\",{\"to\":\"/api/replays/create-replay-batch-deletion-job/\",\"title\":\"Create Replay Batch Deletion Job\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/delete-a-replay-instance/\",{\"to\":\"/api/replays/delete-a-replay-instance/\",\"title\":\"Delete a Replay Instance\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/list-an-organizations-replays/\",{\"to\":\"/api/replays/list-an-organizations-replays/\",\"title\":\"List an Organization's Replays\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/list-an-organizations-selectors/\",{\"to\":\"/api/replays/list-an-organizations-selectors/\",\"title\":\"List an Organization's Selectors\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/list-clicked-nodes/\",{\"to\":\"/api/replays/list-clicked-nodes/\",\"title\":\"List Clicked Nodes\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/list-recording-segments/\",{\"to\":\"/api/replays/list-recording-segments/\",\"title\":\"List Recording Segments\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/list-replay-batchdeletion-jobs/\",{\"to\":\"/api/replays/list-replay-batchdeletion-jobs/\",\"title\":\"List Replay Batch-Deletion Jobs\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/list-users-who-have-viewed-a-replay/\",{\"to\":\"/api/replays/list-users-who-have-viewed-a-replay/\",\"title\":\"List Users Who Have Viewed a Replay\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/retrieve-a-count-of-replays-for-a-given-issue-or-transaction/\",{\"to\":\"/api/replays/retrieve-a-count-of-replays-for-a-given-issue-or-transaction/\",\"title\":\"Retrieve a Count of Replays for a Given Issue or Transaction\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/retrieve-a-recording-segment/\",{\"to\":\"/api/replays/retrieve-a-recording-segment/\",\"title\":\"Retrieve a Recording Segment\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/retrieve-a-replay-batchdeletion-job/\",{\"to\":\"/api/replays/retrieve-a-replay-batchdeletion-job/\",\"title\":\"Retrieve a Replay Batch-Deletion Job\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/replays/retrieve-a-replay-instance/\",{\"to\":\"/api/replays/retrieve-a-replay-instance/\",\"title\":\"Retrieve a Replay Instance\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"187:[\"$\",\"$L175\",\"/api/scim/\",{\"to\":\"/api/scim/\",\"title\":\"SCIM\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/scim/delete-an-individual-team/\",{\"to\":\"/api/scim/delete-an-individual-team/\",\"title\":\"Delete an Individual Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/delete-an-organization-member-via-scim/\",{\"to\":\"/api/scim/delete-an-organization-member-via-scim/\",\"title\":\"Delete an Organization Member via SCIM\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/list-an-organizations-paginated-teams/\",{\"to\":\"/api/scim/list-an-organizations-paginated-teams/\",\"title\":\"List an Organization's Paginated Teams\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/list-an-organizations-scim-members/\",{\"to\":\"/api/scim/list-an-organizations-scim-members/\",\"title\":\"List an Organization's SCIM Members\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/provision-a-new-organization-member/\",{\"to\":\"/api/scim/provision-a-new-organization-member/\",\"title\":\"Provision a New Organization Member\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/provision-a-new-team/\",{\"to\":\"/api/scim/provision-a-new-team/\",\"title\":\"Provision a New Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/query-an-individual-organization-member/\",{\"to\":\"/api/scim/query-an-individual-organization-member/\",\"title\":\"Query an Individual Organization Member\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/query-an-individual-team/\",{\"to\":\"/api/scim/query-an-individual-team/\",\"title\":\"Query an Individual Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/update-a-teams-attributes/\",{\"to\":\"/api/scim/update-a-teams-attributes/\",\"title\":\"Update a Team's Attributes\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/scim/update-an-organization-members-attributes/\",{\"to\":\"/api/scim/update-an-organization-members-attributes/\",\"title\":\"Update an Organization Member's Attributes\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"188:[\"$\",\"$L175\",\"/api/seer/\",{\"to\":\"/api/seer/\",\"title\":\"Seer\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/seer/list-seer-ai-models/\",{\"to\":\"/api/seer/list-seer-ai-models/\",\"title\":\"List Seer AI Models\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/seer/retrieve-seer-issue-fix-state/\",{\"to\":\"/api/seer/retrieve-seer-issue-fix-state/\",\"title\":\"Retrieve Seer Issue Fix State\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/seer/start-seer-issue-fix/\",{\"to\":\"/api/seer/start-seer-issue-fix/\",\"title\":\"Start Seer Issue Fix\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"189:[\"$\",\"$L175\",\"/api/snapshots/\",{\"to\":\"/api/snapshots/\",\"title\":\"Snapshots\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/snapshots/create-a-skipped-snapshot-status-check/\",{\"to\":\"/api/snapshots/create-a-skipped-snapshot-status-check/\",\"title\":\"Create a skipped Snapshot status check\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/snapshots/delete-a-snapshot/\",{\"to\":\"/api/snapshots/delete-a-snapshot/\",\"title\":\"Delete a Snapshot\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/snapshots/retrieve-latest-base-snapshot/\",{\"to\":\"/api/snapshots/retrieve-latest-base-snapshot/\",\"title\":\"Retrieve latest base Snapshot\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/snapshots/retrieve-snapshot-details/\",{\"to\":\"/api/snapshots/retrieve-snapshot-details/\",\"title\":\"Retrieve Snapshot details\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/snapshots/retrieve-snapshot-image-detail/\",{\"to\":\"/api/snapshots/retrieve-snapshot-image-detail/\",\"title\":\"Retrieve Snapshot image detail\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/snapshots/retrieve-snapshot-status-check-rules-for-a-project/\",{\"to\":\"/api/snapshots/retrieve-snapshot-status-check-rules-for-a-project/\",\"title\":\"Retrieve Snapshot status check rules for a project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/snapshots/upload-a-snapshot/\",{\"to\":\"/api/snapshots/upload-a-snapshot/\",\"title\":\"Upload a Snapshot\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"18a:[\"$\",\"$L175\",\"/api/spike-protection/\",{\"to\":\"/api/spike-protection/\",\"title\":\"Spike Protection Notifications\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/spike-protection/create-a-spike-protection-notification-action/\",{\"to\":\"/api/spike-protection/create-a-spike-protection-notification-action/\",\"title\":\"Create a Spike Protection Notification Action\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/spike-protection/delete-a-spike-protection-notification-action/\",{\"to\":\"/api/spike-protection/delete-a-spike-protection-notification-action/\",\"title\":\"Delete a Spike Protection Notification Action\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/spike-protection/list-spike-protection-notifications/\",{\"to\":\"/api/spike-protection/list-spike-protection-notifications/\",\"title\":\"List Spike Protection Notifications\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/spike-protection/retrieve-a-spike-protection-notification-action/\",{\"to\":\"/api/spike-protection/retrieve-a-spike-protection-notification-action/\",\"title\":\"Retrieve a Spike Protection Notification Action\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/spike-protection/update-a-spike-protection-notification-action/\",{\"to\":\"/api/spike-protection/update-a-spike-protection-notification-action/\",\"title\":\"Update a Spike Protection Notification Action\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"18b:[\"$\",\"$L175\",\"/api/teams/\",{\"to\":\"/api/teams/\",\"title\":\"Teams\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/teams/add-an-organization-member-to-a-team/\",{\"to\":\"/api/teams/add-an-organization-member-to-a-team/\",\"title\":\"Add an Organization Member to a Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/create-a-new-team/\",{\"to\":\"/api/teams/create-a-new-team/\",\"title\":\"Create a New Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/delete-a-team/\",{\"to\":\"/api/teams/delete-a-team/\",\"title\":\"Delete a Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/delete-an-organization-member-from-a-team/\",{\"to\":\"/api/teams/delete-an-organization-member-from-a-team/\",\"title\":\"Delete an Organization Member from a Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/list-a-projects-teams/\",{\"to\":\"/api/teams/list-a-projects-teams/\",\"title\":\"List a Project's Teams\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/list-a-teams-members/\",{\"to\":\"/api/teams/list-a-teams-members/\",\"title\":\"List a Team's Members\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/list-a-teams-projects/\",{\"to\":\"/api/teams/list-a-teams-projects/\",\"title\":\"List a Team's Projects\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/list-a-users-teams-for-an-organization/\",{\"to\":\"/api/teams/list-a-users-teams-for-an-organization/\",\"title\":\"List a User's Teams for an Organization\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/list-an-organizations-teams/\",{\"to\":\"/api/teams/list-an-organizations-teams/\",\"title\":\"List an Organization's Teams\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/retrieve-a-team/\",{\"to\":\"/api/teams/retrieve-a-team/\",\"title\":\"Retrieve a Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/update-a-team/\",{\"to\":\"/api/teams/update-a-team/\",\"title\":\"Update a Team\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}],[\"$\",\"$L175\",\"/api/teams/update-an-organization-members-team-role/\",{\"to\":\"/api/teams/update-an-organization-members-team-role/\",\"title\":\"Update an Organization Member's Team Role\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"18c:[\"$\",\"$L175\",\"/api/users/\",{\"to\":\"/api/users/\",\"title\":\"Users\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[[\"$\",\"$L175\",\"/api/users/list-your-organizations/\",{\"to\":\"/api/users/list-your-organizations/\",\"title\":\"List Your Organizations\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]]}]\n"])</script><script>self.__next_f.push([1,"18d:[\"$\",\"$L175\",\"/api/events/update-an-issue/\",{\"to\":\"/api/events/update-an-issue/\",\"title\":\"Update an Issue\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n18e:[\"$\",\"$L175\",\"/api/projects/list-a-projects-users/\",{\"to\":\"/api/projects/list-a-projects-users/\",\"title\":\"List a Project's Users\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n18f:[\"$\",\"$L175\",\"/api/projects/list-a-tags-values/\",{\"to\":\"/api/projects/list-a-tags-values/\",\"title\":\"List a Tag's Values\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n190:[\"$\",\"$L175\",\"/api/projects/register-a-new-service-hook/\",{\"to\":\"/api/projects/register-a-new-service-hook/\",\"title\":\"Register a New Service Hook\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n191:[\"$\",\"$L175\",\"/api/projects/remove-a-service-hook/\",{\"to\":\"/api/projects/remove-a-service-hook/\",\"title\":\"Remove a Service Hook\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n192:[\"$\",\"$L175\",\"/api/projects/retrieve-a-client-key/\",{\"to\":\"/api/projects/retrieve-a-client-key/\",\"title\":\"Retrieve a Client Key\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n193:[\"$\",\"$L175\",\"/api/projects/retrieve-a-project/\",{\"to\":\"/api/projects/retrieve-a-project/\",\"title\":\"Retrieve a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n194:[\"$\",\"$L175\",\"/api/projects/retrieve-a-projects-symbol-sources/\",{\"to\":\"/api/projects/retrieve-a-projects-symbol-sources/\",\"title\":\"Retrieve a Project's Symbol Sources\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":["])</script><script>self.__next_f.push([1,"]}]\n195:[\"$\",\"$L175\",\"/api/projects/retrieve-a-service-hook/\",{\"to\":\"/api/projects/retrieve-a-service-hook/\",\"title\":\"Retrieve a Service Hook\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n196:[\"$\",\"$L175\",\"/api/projects/retrieve-event-counts-for-a-project/\",{\"to\":\"/api/projects/retrieve-event-counts-for-a-project/\",\"title\":\"Retrieve Event Counts for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n197:[\"$\",\"$L175\",\"/api/projects/retrieve-ownership-configuration-for-a-project/\",{\"to\":\"/api/projects/retrieve-ownership-configuration-for-a-project/\",\"title\":\"Retrieve Ownership Configuration for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n198:[\"$\",\"$L175\",\"/api/projects/submit-user-feedback/\",{\"to\":\"/api/projects/submit-user-feedback/\",\"title\":\"Submit User Feedback\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n199:[\"$\",\"$L175\",\"/api/projects/update-a-client-key/\",{\"to\":\"/api/projects/update-a-client-key/\",\"title\":\"Update a Client Key\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n19a:[\"$\",\"$L175\",\"/api/projects/update-a-project/\",{\"to\":\"/api/projects/update-a-project/\",\"title\":\"Update a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n19b:[\"$\",\"$L175\",\"/api/projects/update-a-projects-symbol-source/\",{\"to\":\"/api/projects/update-a-projects-symbol-source/\",\"title\":\"Update a Project's Symbol Source\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n19c:[\"$\",\"$L175\",\"/api/projects/update-a-service-hook/\",{\"to\":\"/api/projects/update-a-service-hook/\",\"title\":\"Update a Service Hook\",\"co"])</script><script>self.__next_f.push([1,"llapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n19d:[\"$\",\"$L175\",\"/api/projects/update-an-inbound-data-filter/\",{\"to\":\"/api/projects/update-an-inbound-data-filter/\",\"title\":\"Update an Inbound Data Filter\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n19e:[\"$\",\"$L175\",\"/api/projects/update-ownership-configuration-for-a-project/\",{\"to\":\"/api/projects/update-ownership-configuration-for-a-project/\",\"title\":\"Update Ownership Configuration for a Project\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n19f:[\"$\",\"$L175\",\"/api/releases/retrieve-statuses-of-release-thresholds-alpha/\",{\"to\":\"/api/releases/retrieve-statuses-of-release-thresholds-alpha/\",\"title\":\"Retrieve Statuses of Release Thresholds (Alpha)\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n1a0:[\"$\",\"$L175\",\"/api/releases/update-a-project-release-file/\",{\"to\":\"/api/releases/update-a-project-release-file/\",\"title\":\"Update a Project Release File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n1a1:[\"$\",\"$L175\",\"/api/releases/update-an-organization-release-file/\",{\"to\":\"/api/releases/update-an-organization-release-file/\",\"title\":\"Update an Organization Release File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n1a2:[\"$\",\"$L175\",\"/api/releases/update-an-organizations-release/\",{\"to\":\"/api/releases/update-an-organizations-release/\",\"title\":\"Update an Organization's Release\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n1a3:[\"$\",\"$L175\",\"/api/releases/upload-a-new-organization-release-file/\",{\"to\":\"/api/releases/upload-a-new-organization-release-file/\",\"title\""])</script><script>self.__next_f.push([1,":\"Upload a New Organization Release File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n1a4:[\"$\",\"$L175\",\"/api/releases/upload-a-new-project-release-file/\",{\"to\":\"/api/releases/upload-a-new-project-release-file/\",\"title\":\"Upload a New Project Release File\",\"collapsed\":true,\"path\":\"/api/auth/\",\"beta\":\"$undefined\",\"isNew\":\"$undefined\",\"earlyAccess\":\"$undefined\",\"children\":[]}]\n"])</script></body></html>