CINXE.COM
GraphQL | A query language for your API
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="theme-color" content="#111" media="(prefers-color-scheme: dark)"/><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"/><style>:root{--nextra-primary-hue:319deg;--nextra-primary-saturation:100%;--nextra-navbar-height:4rem;--nextra-menu-height:3.75rem;--nextra-banner-height:2.5rem;--nextra-bg:250,250,250;}.dark{--nextra-primary-hue:319deg;--nextra-primary-saturation:100%;--nextra-bg:27,27,27;}</style><title>GraphQL | A query language for your API</title><meta property="og:title" content="GraphQL | A query language for your API"/><meta property="og:image" content="/img/og-image.png"/><meta property="twitter:site" content="@graphql"/><meta name="next-head-count" content="8"/><link rel="preload" href="/_next/static/media/83d7d13e2307bc53-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/92f44bb82993d879-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/7c5bc1db88b085f4.css" as="style"/><link rel="stylesheet" href="/_next/static/css/7c5bc1db88b085f4.css" data-n-g=""/><link rel="preload" href="/_next/static/css/fa2787c0da15a9fd.css" as="style"/><link rel="stylesheet" href="/_next/static/css/fa2787c0da15a9fd.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-431ca528a6392c6a.js" defer=""></script><script src="/_next/static/chunks/framework-66a3842b975d4c52.js" defer=""></script><script src="/_next/static/chunks/main-673357edd7232b24.js" defer=""></script><script src="/_next/static/chunks/pages/_app-97f7c54e0ee7d59a.js" defer=""></script><script src="/_next/static/chunks/7487-91cae87c9f405cbe.js" defer=""></script><script src="/_next/static/chunks/4692-0821ed55f70c918b.js" defer=""></script><script src="/_next/static/chunks/pages/index-d30b9ef222597bf8.js" defer=""></script><script src="/_next/static/ANYoRcQUjMjxlujFCfpei/_buildManifest.js" defer=""></script><script src="/_next/static/ANYoRcQUjMjxlujFCfpei/_ssgManifest.js" defer=""></script><style id="__jsx-3927496071">html{font-family:'__Roboto_Flex_d05349', '__Roboto_Flex_Fallback_d05349'}.roboto-mono{font-family:'__Roboto_Mono_c9cbed', '__Roboto_Mono_Fallback_c9cbed'}</style></head><body><div id="__next"><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 dir="ltr"><script>document.documentElement.setAttribute('dir','ltr')</script><script>try{if(localStorage.getItem("graphqlconf-2024")==='0'){document.body.classList.add('nextra-banner-hidden')}}catch(e){}</script><div class="nextra-banner-container max-md:_sticky _top-0 _z-20 _flex _items-center _h-[var(--nextra-banner-height)] [body.nextra-banner-hidden_&]:_hidden _text-slate-50 dark:_text-white _bg-neutral-900 dark:_bg-[linear-gradient(1deg,#383838,#212121)] _px-2 _ps-10 print:_hidden"><div class="_w-full _truncate _text-center _font-medium _text-sm">🎬 That's a Wrap for GraphQLConf 2024! • Watch the Videos •<!-- --> <a class="underline after:content-['_→'] after:font-sans" href="/conf/2024/">Check out the recorded talks and workshops</a></div><button type="button" aria-label="Dismiss banner" class="_w-8 _h-8 _opacity-80 hover:_opacity-100"><svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" class="_mx-auto _h-4 _w-4"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button></div><div class="nextra-nav-container _sticky _top-0 _z-20 _w-full _bg-transparent print:_hidden"><div class="nextra-nav-container-blur"></div><nav class="_mx-auto _flex _h-[var(--nextra-navbar-height)] _max-w-[90rem] _items-center _justify-end _gap-4 _pl-[max(env(safe-area-inset-left),1.5rem)] _pr-[max(env(safe-area-inset-right),1.5rem)]"><a class="_flex _items-center hover:_opacity-75 ltr:_mr-auto rtl:_ml-auto" href="/"><svg xmlns="http://www.w3.org/2000/svg" style="fill:color(display-p3 .8824 0 .5961)" viewBox="0 0 367 100" class="h-8 nextra-logo" title="GraphQL"><path fill-rule="evenodd" d="m50 6.468 37.7 21.766v43.532L50 93.532 12.3 71.766V28.234zM16.53 30.676v31.976l27.692-47.964zM50 13.14 18.078 68.43h63.844zm27.692 59.52H22.308L50 88.648zm5.778-10.008L55.778 14.688 83.47 30.676z" clip-rule="evenodd"></path><circle cx="14.41" cy="29.45" r="8.91"></circle><circle cx="14.41" cy="70.545" r="8.91"></circle><circle cx="50" cy="91.09" r="8.91"></circle><circle cx="85.585" cy="70.545" r="8.91"></circle><circle cx="85.585" cy="29.455" r="8.91"></circle><circle cx="50" cy="8.91" r="8.91"></circle><path d="M138.875 71.625q-7.812 0-12.125-4.5t-4.562-12.062q-.063-1.876-.063-5.938t.063-5.937q.25-7.563 4.562-12.063t12.125-4.5q5.313 0 8.938 2 3.624 2 5.375 4.75 1.812 2.688 1.937 4.813v.124q0 .501-.375.813-.375.313-.938.313h-1.374q-.562 0-.813-.25t-.5-1q-1.062-3.313-4.125-5.563-3-2.25-8.125-2.25-5.812 0-9.187 3.188-3.313 3.187-3.563 9.937-.062 1.875-.062 5.625t.062 5.625q.25 6.75 3.563 9.938 3.375 3.186 9.187 3.187 5.813 0 9.375-3.312 3.562-3.314 3.562-9.813v-3.187h-10.874q-.625 0-1-.376a1.58 1.58 0 0 1-.375-1.062v-.875q0-.625.375-1 .375-.437 1-.437h13.374q.688 0 1.063.374.375.376.375 1.063v5.5q0 4.999-2 8.813-2 3.811-5.812 5.937-3.813 2.125-9.063 2.125M165.941 71q-.625 0-1-.375t-.375-1V39.938q0-.625.375-1 .375-.438 1-.438h1q.625 0 1 .438.438.375.438 1v2.874q2.25-4.312 8.5-4.312h2.312q.625 0 1 .375t.375 1v.875q0 .625-.375 1t-1 .375h-2.687q-3.75 0-5.938 2.188-2.187 2.187-2.187 5.937v19.375q0 .625-.438 1-.375.375-1 .375zM194.557 71.625q-3 0-5.563-1.25T184.869 67q-1.5-2.126-1.5-4.687 0-4.125 3.313-6.75 3.374-2.625 9.062-3.376l9.875-1.374v-2.188q0-3.438-2.125-5.25-2.063-1.875-6.375-1.875-3.188 0-5.25 1.25-2 1.25-2.562 3-.25.75-.625 1.063-.313.25-.875.25h-.875q-.563 0-1-.376a1.5 1.5 0 0 1-.375-1q0-1.374 1.25-3.187 1.25-1.875 3.875-3.25t6.437-1.375q6.687 0 9.5 3.188 2.813 3.187 2.813 7.75v20.812q0 .625-.375 1-.376.375-1 .375h-1.063q-.625 0-1-.375t-.375-1v-2.937q-1.375 2.061-4.062 3.5-2.626 1.437-7 1.437m.625-3.625q4.561 0 7.5-3 2.937-3 2.937-8.625V54.25l-8.062 1.125q-5.125.687-7.75 2.375T187.182 62q0 2.875 2.375 4.438Q191.994 68 195.182 68M220.752 82.875q-.624 0-1-.375-.375-.375-.375-1V39.875q0-.625.375-1 .376-.375 1-.375h1.063q.625 0 1 .375t.375 1v2.938q3.626-4.938 10.5-4.938 6.75 0 9.937 4.313 3.25 4.25 3.438 10.5.063.624.062 2.062 0 1.437-.062 2.063-.187 6.25-3.438 10.562-3.187 4.25-9.937 4.25-6.813 0-10.5-4.937V81.5q0 .625-.375 1t-1 .375zM233.315 68q5.062 0 7.375-3.187 2.375-3.25 2.562-8.313.063-.625.063-1.75 0-5.813-2.25-9.5-2.25-3.75-7.75-3.75-4.938 0-7.438 3.313-2.5 3.25-2.687 7.687l-.063 2.438.063 2.437a12.8 12.8 0 0 0 1.187 5.125q1.125 2.375 3.375 3.938Q230.002 68 233.315 68M257.068 71q-.625 0-1-.375t-.375-1V28q0-.625.375-1t1-.375h1.063q.625 0 1 .375t.375 1v14.813q1.875-2.439 4.25-3.688 2.437-1.25 6.25-1.25 6.125 0 9.437 3.938 3.313 3.874 3.313 10.062v17.75q0 .625-.375 1t-1 .375h-1.063q-.625 0-1-.375t-.375-1V52.188q0-5.063-2.5-7.876-2.437-2.812-7.062-2.812-4.5 0-7.188 2.875-2.687 2.813-2.687 7.813v17.437q0 .625-.375 1t-1 .375zM321.682 75.063q-.938 0-2-1.438l-2.75-3.812q-3.75 1.812-8.75 1.812-16.062 0-16.5-17.25-.062-1.875-.062-5.25t.062-5.25q.25-8.5 4.625-12.875t11.875-4.375T320.057 31t4.625 12.875q.125 3.75.125 5.25t-.125 5.25q-.312 8.937-4.562 13.125l4 5.625q.187.376.187.688a1.2 1.2 0 0 1-.375.874 1.2 1.2 0 0 1-.875.376zm-13.5-7.188q5.625 0 8.938-3.375 3.375-3.437 3.625-10.437.125-3.75.125-4.938t-.125-4.937q-.25-7-3.625-10.376-3.375-3.437-8.938-3.437-5.562 0-8.937 3.438-3.375 3.375-3.625 10.374-.063 1.875-.063 4.938t.063 4.938q.25 6.999 3.562 10.437 3.375 3.375 9 3.375M336.126 71q-.625 0-1-.375t-.375-1v-41q0-.625.375-1t1-.375h1.188q.625 0 1 .375t.375 1V67.25h21.562q.688 0 1.063.375t.375 1.063v.937q0 .625-.438 1-.375.375-1 .375z"></path></svg></a><a class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 max-md:_hidden _whitespace-nowrap _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200" aria-current="false" href="/learn/">Learn</a><div class="_relative" data-headlessui-state=""><button class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200 max-md:_hidden _items-center _whitespace-nowrap _rounded _flex _gap-1" id="headlessui-menu-button-:Rkl56:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state="">Community<svg fill="none" viewBox="0 0 24 24" stroke="currentColor" class="_h-[18px] _min-w-[18px] _rounded-sm _p-0.5"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" class="_origin-center _transition-transform _rotate-90"></path></svg></button></div><a class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 max-md:_hidden _whitespace-nowrap _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200" aria-current="false" href="/faq/">FAQ</a><a href="https://spec.graphql.org" target="_blank" rel="noreferrer" class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 max-md:_hidden _whitespace-nowrap _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200" aria-current="false"><span class="after:content-['_↗'] after:font-sans">Spec</span></a><a class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 max-md:_hidden _whitespace-nowrap _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200" aria-current="false" href="/blog/">Blog</a><a class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 max-md:_hidden _whitespace-nowrap _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200" aria-current="false" href="/conf/2024/">GraphQLConf</a><a class="_text-sm contrast-more:_text-gray-700 contrast-more:dark:_text-gray-100 max-md:_hidden _whitespace-nowrap _text-gray-600 hover:_text-gray-800 dark:_text-gray-400 dark:hover:_text-gray-200" aria-current="false" href="/graphql-js/">GraphQL.JS Tutorial</a><div class="nextra-search _relative md:_w-64 max-md:_hidden"><div class="_relative _flex _items-center _text-gray-900 contrast-more:_text-gray-800 dark:_text-gray-300 contrast-more:dark:_text-gray-300"><input spellcheck="false" class="_w-full _appearance-none _rounded-lg _px-3 _py-2 _transition-colors _text-base _leading-tight md:_text-sm _bg-black/[.05] dark:_bg-gray-50/10 focus:!_bg-transparent placeholder:_text-gray-500 dark:placeholder:_text-gray-400 contrast-more:_border contrast-more:_border-current" type="search" placeholder="Search…" value=""/></div></div><button title="Change theme" class="_h-7 _rounded-md _px-2 _text-left _text-xs _font-medium _text-gray-600 _transition-colors dark:_text-gray-400 hover:_bg-gray-100 hover:_text-gray-900 dark:hover:_bg-primary-100/5 dark:hover:_text-gray-50 [&_span]:hidden" id="headlessui-listbox-button-:R5l56:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><div class="_flex _items-center _gap-2 _capitalize"><svg fill="none" viewBox="3 3 18 18" width="12" height="12" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg><span class="md:_hidden">Light</span></div></button><button type="button" aria-label="Menu" class="nextra-hamburger _rounded active:_bg-gray-400/20 md:_hidden"><svg fill="none" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" class=""><g><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16"></path></g><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 12h16"></path><g><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 18h16"></path></g></svg></button></nav></div><div class="_mx-auto _flex"><div class="motion-reduce:_transition-none [transition:background-color_1.5s_ease] _bg-transparent"></div><aside class="nextra-sidebar-container _flex _flex-col md:_top-16 md:_shrink-0 motion-reduce:_transform-none _transform-gpu _transition-all _ease-in-out print:_hidden md:_w-64 md:_hidden max-md:[transform:translate3d(0,-100%,0)]"><div class="_px-4 _pt-4 md:_hidden"><div class="nextra-search _relative md:_w-64"><div class="_relative _flex _items-center _text-gray-900 contrast-more:_text-gray-800 dark:_text-gray-300 contrast-more:dark:_text-gray-300"><input spellcheck="false" class="_w-full _appearance-none _rounded-lg _px-3 _py-2 _transition-colors _text-base _leading-tight md:_text-sm _bg-black/[.05] dark:_bg-gray-50/10 focus:!_bg-transparent placeholder:_text-gray-500 dark:placeholder:_text-gray-400 contrast-more:_border contrast-more:_border-current" type="search" placeholder="Search…" value=""/></div></div></div><div class="_overflow-y-auto _overflow-x-hidden _p-4 _grow md:_h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))] nextra-scrollbar"></div><div class="nextra-sidebar-footer _sticky _bottom-0 _flex _items-center _gap-2 _mx-4 _py-4" data-toggle-animation="off"><div class="_grow _flex _flex-col"><button title="Change theme" class="_h-7 _rounded-md _px-2 _text-left _text-xs _font-medium _text-gray-600 _transition-colors dark:_text-gray-400 hover:_bg-gray-100 hover:_text-gray-900 dark:hover:_bg-primary-100/5 dark:hover:_text-gray-50" id="headlessui-listbox-button-:R2njd6:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><div class="_flex _items-center _gap-2 _capitalize"><svg fill="none" viewBox="3 3 18 18" width="12" height="12" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg><span class="">Light</span></div></button></div><button title="Hide sidebar" class="max-md:_hidden _h-7 _rounded-md _transition-colors _text-gray-600 dark:_text-gray-400 _px-2 hover:_bg-gray-100 hover:_text-gray-900 dark:hover:_bg-primary-100/5 dark:hover:_text-gray-50"><svg height="12" width="12" viewBox="0 0 16 16" fill="currentColor"><path fill-rule="evenodd" d="M4.177 7.823l2.396-2.396A.25.25 0 017 5.604v4.792a.25.25 0 01-.427.177L4.177 8.177a.25.25 0 010-.354z" class=""></path><path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25V1.75zm1.75-.25a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25H9.5v-13H1.75zm12.5 13H11v-13h3.25a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25z"></path></svg></button></div></aside><div id="reach-skip-nav"></div><div class="_w-full _break-words"><div class="index"><div class="[background:url('/img/graph-wash.png'),#171e26_repeat_center_center] xl:py-20"><div class="container conf-block"><section class="flex-wrap gap-14 justify-center items-center flex max-sm:flex-col [&_h3]:text-white [&_h3]:text-2xl max-lg:[&_h3]:text-center [&_pre]:!bg-transparent [&_pre]:ring-0 [&_pre_span]:text-[--shiki-dark] [&_h3]:font-extralight [&_code]:whitespace-pre-wrap"><div class="max-md:grow max-xl:w-full flex flex-col items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" style="fill:color(display-p3 .8824 0 .5961)" viewBox="0 0 100 100" class="w-24"><path fill-rule="evenodd" d="m50 6.903 37.323 21.549v43.096L50 93.097 12.677 71.548V28.451zM16.865 30.87v31.656L44.28 15.041zM50 13.51 18.398 68.246h63.205zm27.415 58.924h-54.83L50 88.261zm5.72-9.908L55.72 15.041 83.136 30.87z" clip-rule="evenodd"></path><circle cx="50" cy="9.321" r="8.82"></circle><circle cx="85.229" cy="29.66" r="8.82"></circle><circle cx="85.229" cy="70.34" r="8.82"></circle><circle cx="50" cy="90.679" r="8.82"></circle><circle cx="14.766" cy="70.34" r="8.82"></circle><circle cx="14.766" cy="29.66" r="8.82"></circle></svg><h1 class="text-primary text-3xl">GraphQL</h1></div><div><h3>Describe your data</h3><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Project</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> tagline</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> contributors</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">User</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div><h3>Ask for what you want</h3><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> project</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"GraphQL"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> tagline</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div><h3>Get predictable results</h3><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "project"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "tagline"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"A query language for APIs"</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div></section><a class="text-white border-white index-button block w-fit mx-auto mt-10" href="/learn/">Get Started</a></div></div><section class="text-center flex flex-col container items-center conf-block max-w-3xl"><h2>A query language for your API</h2><p>GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.</p></section><div class="index-gradient"><section class="gap-14 justify-around container flex flex-col conf-block lg:flex-row-reverse lg:items-start lg:*:w-1/2" id="predictable-results"><div class="max-lg:text-center"><h2>Ask for what you need, <br class="max-lg:hidden"/>get exactly that</h2><p>Send a GraphQL query to your API and get exactly what you need, nothing more and nothing less. GraphQL queries always return predictable results. Apps using GraphQL are fast and stable because they control the data they get, not the server.</p></div><div class="nextra-codeblocks flex *:w-1/2 [&_pre]:!h-48" aria-hidden="true"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><span class="_truncate">Query</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md p-4">{<!-- --> hero {<!-- --> name<span id="ch0" class="hidden"><br/></span><span id="ch1" class="hidden"> </span><span id="ch2" class="hidden"> </span><span id="ch3" class="hidden"> </span><span id="ch4" class="hidden"> </span><span id="ch5" class="hidden">h</span><span id="ch6" class="hidden">e</span><span id="ch7" class="hidden">i</span><span id="ch8" class="hidden">g</span><span id="ch9" class="hidden">h</span><span id="ch10" class="hidden">t</span><span id="ch11" class="hidden"><br/></span><span id="ch12" class="hidden"> </span><span id="ch13" class="hidden"> </span><span id="ch14" class="hidden"> </span><span id="ch15" class="hidden"> </span><span id="ch16" class="hidden">m</span><span id="ch17" class="hidden">a</span><span id="ch18" class="hidden">s</span><span id="ch19" class="hidden">s</span><span class="inline-block !bg-primary/50 h-4 w-2 ml-px -mb-0.5 predictable-results_cursor__iK5iH"></span> }<!-- --> }</pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><span class="_truncate">Response</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "hero"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Luke Skywalker"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "height"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.72</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "mass"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">77</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></div></section></div><section class="*:w-full lg:*:w-1/2 gap-14 flex max-lg:flex-col container conf-block !justify-around [&_pre]:!bg-transparent" id="single-request"><div class="max-lg:text-center"><h2>Get many resources <br class="max-lg:hidden"/>in a single request</h2><p>GraphQL queries access not just the properties of one resource but also smoothly follow references between them. While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request. Apps using GraphQL can be quick even on slow mobile network connections.</p></div><div class="-my-8 h-[520px] relative pointer-events-none" aria-hidden="true"><img alt="Server" loading="lazy" width="496" height="440" decoding="async" data-nimg="1" class="absolute left-1/2 -translate-x-1/2" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 440'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='/_next/static/media/server.fd65c513.svg'/%3E%3C/svg%3E")" src="/_next/static/media/server.fd65c513.svg"/><img alt="Phone" loading="lazy" width="496" height="440" decoding="async" data-nimg="1" class="absolute left-1/2 -translate-x-1/2 bottom-0" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 440'%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='none' style='filter: url(%23b);' href='/_next/static/media/phone.e3b79349.svg'/%3E%3C/svg%3E")" src="/_next/static/media/phone.e3b79349.svg"/><div class="single-request_query__TZNVo"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> hero</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div class="single-request_response__EIUXV"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "hero"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Luke Skywalker"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span> <span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "friends"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Obi-Wan Kenobi"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> },</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"R2-D2"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> },</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Han Solo"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> },</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Leia Organa"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> ]</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div></div></section><div class="index-gradient"><section class="container conf-block flex gap-14 max-lg:flex-col lg:flex-row-reverse lg:*:w-1/2" id="type-system"><div class="max-lg:text-center"><h2>Describe what's possible <br class="max-lg:hidden"/>with a type system</h2><p>GraphQL APIs are organized in terms of types and fields, not endpoints. Access the full capabilities of your data from a single endpoint. GraphQL uses types to ensure Apps only ask for what's possible and provide clear and helpful errors. Apps can use types to avoid writing manual parsing code.</p></div><div class="grid nextra-codeblocks grid-cols-2 [&_.highlighted]:!bg-primary/50" aria-hidden="true"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.65674L20.9575 6.82836V17.1716L12 22.3432L3.04248 17.1716V6.82836L12 1.65674ZM4.04753 7.40863V15.006L10.6271 3.60994L4.04753 7.40863ZM12 3.24206L4.4154 16.379H19.5846L12 3.24206ZM18.5796 17.384H5.42045L12 21.1827L18.5796 17.384ZM19.9525 15.006L13.3729 3.60994L19.9525 7.40863V15.006Z"></path><path d="M12 4.35381C13.1691 4.35381 14.1168 3.40609 14.1168 2.23701C14.1168 1.06793 13.1691 0.120209 12 0.120209C10.8309 0.120209 9.88319 1.06793 9.88319 2.23701C9.88319 3.40609 10.8309 4.35381 12 4.35381Z"></path><path d="M20.455 9.23532C21.6241 9.23532 22.5718 8.2876 22.5718 7.11852C22.5718 5.94945 21.6241 5.00172 20.455 5.00172C19.2859 5.00172 18.3382 5.94945 18.3382 7.11852C18.3382 8.2876 19.2859 9.23532 20.455 9.23532Z"></path><path d="M20.455 18.9983C21.6241 18.9983 22.5718 18.0506 22.5718 16.8815C22.5718 15.7124 21.6241 14.7647 20.455 14.7647C19.2859 14.7647 18.3382 15.7124 18.3382 16.8815C18.3382 18.0506 19.2859 18.9983 20.455 18.9983Z"></path><path d="M12 23.8798C13.1691 23.8798 14.1168 22.9321 14.1168 21.763C14.1168 20.5939 13.1691 19.6462 12 19.6462C10.8309 19.6462 9.88319 20.5939 9.88319 21.763C9.88319 22.9321 10.8309 23.8798 12 23.8798Z"></path><path d="M3.54382 18.9983C4.71289 18.9983 5.66062 18.0506 5.66062 16.8815C5.66062 15.7124 4.71289 14.7647 3.54382 14.7647C2.37474 14.7647 1.42702 15.7124 1.42702 16.8815C1.42702 18.0506 2.37474 18.9983 3.54382 18.9983Z"></path><path d="M3.54382 9.23532C4.71289 9.23532 5.66062 8.2876 5.66062 7.11852C5.66062 5.94945 4.71289 5.00172 3.54382 5.00172C2.37474 5.00172 1.42702 5.94945 1.42702 7.11852C1.42702 8.2876 2.37474 9.23532 3.54382 9.23532Z"></path></svg><span class="_truncate">Query</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> hero</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> homeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> climate</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> species</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> lifespan</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> origin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.65674L20.9575 6.82836V17.1716L12 22.3432L3.04248 17.1716V6.82836L12 1.65674ZM4.04753 7.40863V15.006L10.6271 3.60994L4.04753 7.40863ZM12 3.24206L4.4154 16.379H19.5846L12 3.24206ZM18.5796 17.384H5.42045L12 21.1827L18.5796 17.384ZM19.9525 15.006L13.3729 3.60994L19.9525 7.40863V15.006Z"></path><path d="M12 4.35381C13.1691 4.35381 14.1168 3.40609 14.1168 2.23701C14.1168 1.06793 13.1691 0.120209 12 0.120209C10.8309 0.120209 9.88319 1.06793 9.88319 2.23701C9.88319 3.40609 10.8309 4.35381 12 4.35381Z"></path><path d="M20.455 9.23532C21.6241 9.23532 22.5718 8.2876 22.5718 7.11852C22.5718 5.94945 21.6241 5.00172 20.455 5.00172C19.2859 5.00172 18.3382 5.94945 18.3382 7.11852C18.3382 8.2876 19.2859 9.23532 20.455 9.23532Z"></path><path d="M20.455 18.9983C21.6241 18.9983 22.5718 18.0506 22.5718 16.8815C22.5718 15.7124 21.6241 14.7647 20.455 14.7647C19.2859 14.7647 18.3382 15.7124 18.3382 16.8815C18.3382 18.0506 19.2859 18.9983 20.455 18.9983Z"></path><path d="M12 23.8798C13.1691 23.8798 14.1168 22.9321 14.1168 21.763C14.1168 20.5939 13.1691 19.6462 12 19.6462C10.8309 19.6462 9.88319 20.5939 9.88319 21.763C9.88319 22.9321 10.8309 23.8798 12 23.8798Z"></path><path d="M3.54382 18.9983C4.71289 18.9983 5.66062 18.0506 5.66062 16.8815C5.66062 15.7124 4.71289 14.7647 3.54382 14.7647C2.37474 14.7647 1.42702 15.7124 1.42702 16.8815C1.42702 18.0506 2.37474 18.9983 3.54382 18.9983Z"></path><path d="M3.54382 9.23532C4.71289 9.23532 5.66062 8.2876 5.66062 7.11852C5.66062 5.94945 4.71289 5.00172 3.54382 5.00172C2.37474 5.00172 1.42702 5.94945 1.42702 7.11852C1.42702 8.2876 2.37474 9.23532 3.54382 9.23532Z"></path></svg><span class="_truncate">Schema</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Query</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> hero</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Character</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span> <span> </span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> homeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Planet</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> species</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Species</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span> <span> </span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Planet</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> climate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span> <span> </span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Species</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> lifespan</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Int</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> origin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Planet</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></div></section></div><section class="container conf-block lg:w-4/6" id="powerful-tools"><div class="text-center"><h2>Move faster with powerful developer tools</h2><p class="lg:w-2/3 mx-auto">Know exactly what data you can request from your API without leaving your editor, highlight potential issues before sending a query, and take advantage of improved code intelligence. GraphQL makes it easy to build powerful tools like<!-- --> <a href="https://github.com/graphql/graphiql" target="_blank" rel="noopener" class="text-primary hover:underline">Graph<em class="font-sans">i</em>QL</a> <!-- -->by leveraging your API’s type system.</p></div><div class="rounded-t-xl overflow-hidden shadow-[0_0_0_1px_rgba(0,0,0,.2),0_16px_64px_rgba(0,0,0,.6)]"><video disablepictureinpicture="" autoplay="" muted="" loop="" playsinline="" class="dark:block hidden"><source src="https://github.com/dimaMachina/graphql.github.io/raw/nextra/static/img/graphiql-dark.mp4" type="video/mp4"/></video><video disablepictureinpicture="" autoplay="" muted="" loop="" playsinline="" class="dark:hidden block"><source src="https://github.com/dimaMachina/graphql.github.io/raw/nextra/static/img/graphiql-light.mp4" type="video/mp4"/></video></div></section><div class="index-gradient"><section class="container conf-block flex max-lg:flex-col lg:flex-row-reverse lg:*:w-1/2 gap-14 justify-around" id="without-versions"><div class="max-lg:text-center"><h2>Evolve your API <br class="max-lg:hidden"/>without versions</h2><p>Add new fields and types to your GraphQL API without impacting existing queries. Aging fields can be deprecated and hidden from tools. By using a single evolving version, GraphQL APIs give apps continuous access to new features and encourage cleaner, more maintainable server code.</p></div><div class="type-evolution mx-auto [&_div.nextra-code]:h-full [&_pre]:ring-0 border rounded-md border-gray-300 dark:border-neutral-700 [&_pre]:rounded-none [&_pre]:h-full _bg-white dark:_bg-black" aria-hidden="true"><div id="typeEvolveView"><div class="v1"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> episode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Int</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> releaseDate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div class="v2"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> episode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Int</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> releaseDate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> openingCrawl</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div class="v3"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> episode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Int</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> releaseDate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> openingCrawl</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> director</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div class="v4"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> episode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Int</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> releaseDate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> openingCrawl</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> director</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> directedBy</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Person</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span> <span> </span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Person</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> directed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> actedIn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div><div class="v5"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> episode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Int</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> releaseDate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> openingCrawl</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> director</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> @deprecated</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> directedBy</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Person</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span> <span> </span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Person</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> directed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> actedIn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Film</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-2"></div></div></div></div></div></section></div><section class="container conf-block" id="bring-your-own-code"><div class="mx-auto text-center"><h2>Bring your own data and code</h2><p class="lg:w-2/3 mx-auto">GraphQL creates a uniform API across your entire application without being limited by a specific storage engine. Write GraphQL APIs that leverage your existing data and code with GraphQL engines available in many languages. You provide functions for each field in the type system, and GraphQL calls them with optimal concurrency.</p></div></section><div class="relative max-w-7xl overflow-hidden [mask-image:linear-gradient(to_right,transparent,white_20%,white_80%,transparent)] mx-auto [&_pre]:h-[calc(100%-48px)] [&_div.nextra-code]:h-full" style="--animation-duration:40s;--animation-direction:reverse"><ul class="flex min-w-full shrink-0 gap-4 py-4 w-max flex-nowrap animate-scroll hover:[animation-play-state:paused]"><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.65674L20.9575 6.82836V17.1716L12 22.3432L3.04248 17.1716V6.82836L12 1.65674ZM4.04753 7.40863V15.006L10.6271 3.60994L4.04753 7.40863ZM12 3.24206L4.4154 16.379H19.5846L12 3.24206ZM18.5796 17.384H5.42045L12 21.1827L18.5796 17.384ZM19.9525 15.006L13.3729 3.60994L19.9525 7.40863V15.006Z"></path><path d="M12 4.35381C13.1691 4.35381 14.1168 3.40609 14.1168 2.23701C14.1168 1.06793 13.1691 0.120209 12 0.120209C10.8309 0.120209 9.88319 1.06793 9.88319 2.23701C9.88319 3.40609 10.8309 4.35381 12 4.35381Z"></path><path d="M20.455 9.23532C21.6241 9.23532 22.5718 8.2876 22.5718 7.11852C22.5718 5.94945 21.6241 5.00172 20.455 5.00172C19.2859 5.00172 18.3382 5.94945 18.3382 7.11852C18.3382 8.2876 19.2859 9.23532 20.455 9.23532Z"></path><path d="M20.455 18.9983C21.6241 18.9983 22.5718 18.0506 22.5718 16.8815C22.5718 15.7124 21.6241 14.7647 20.455 14.7647C19.2859 14.7647 18.3382 15.7124 18.3382 16.8815C18.3382 18.0506 19.2859 18.9983 20.455 18.9983Z"></path><path d="M12 23.8798C13.1691 23.8798 14.1168 22.9321 14.1168 21.763C14.1168 20.5939 13.1691 19.6462 12 19.6462C10.8309 19.6462 9.88319 20.5939 9.88319 21.763C9.88319 22.9321 10.8309 23.8798 12 23.8798Z"></path><path d="M3.54382 18.9983C4.71289 18.9983 5.66062 18.0506 5.66062 16.8815C5.66062 15.7124 4.71289 14.7647 3.54382 14.7647C2.37474 14.7647 1.42702 15.7124 1.42702 16.8815C1.42702 18.0506 2.37474 18.9983 3.54382 18.9983Z"></path><path d="M3.54382 9.23532C4.71289 9.23532 5.66062 8.2876 5.66062 7.11852C5.66062 5.94945 4.71289 5.00172 3.54382 5.00172C2.37474 5.00172 1.42702 5.94945 1.42702 7.11852C1.42702 8.2876 2.37474 9.23532 3.54382 9.23532Z"></path></svg><span class="_truncate">GraphQL</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> homeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Planet</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path d="M21.8182 0H2.18182C0.976364 0 0 0.976364 0 2.18182V21.8182C0 23.0236 0.976364 24 2.18182 24H21.8182C23.0236 24 24 23.0236 24 21.8182V2.18182C24 0.976364 23.0236 0 21.8182 0ZM12 17.8691C12 19.8076 10.8109 20.8942 8.83636 20.8942C6.88582 20.8942 5.64327 19.7542 5.64327 17.9105H7.75636C7.76182 18.5945 8.16982 19.0265 8.80036 19.0265C9.44836 19.0265 9.79636 18.6185 9.79636 17.8505V11.9978H12V17.8691ZM17.9793 20.8942C15.7876 20.8942 14.4087 19.8622 14.3716 18.1931H16.4727C16.5262 18.8236 17.1556 19.2251 18.0687 19.2251C18.8913 19.2251 19.4564 18.8291 19.4564 18.2585C19.4564 17.7785 19.0778 17.52 18.0873 17.3225L16.9473 17.0945C15.3622 16.7945 14.5462 15.9305 14.5462 14.568C14.5462 12.8749 15.9033 11.7644 17.9913 11.7644C20.0204 11.7644 21.4244 12.8629 21.4604 14.4655H19.4258C19.3778 13.8535 18.7953 13.4269 18.0196 13.4269C17.2462 13.4269 16.7367 13.7935 16.7367 14.3695C16.7367 14.844 17.1207 15.12 18.0327 15.3L19.1476 15.516C20.8593 15.8465 21.6273 16.62 21.6273 17.9945C21.6284 19.8022 20.2484 20.8942 17.9793 20.8942Z"></path></svg><span class="_truncate">JavaScript</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// type Character {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // name: String</span></span> <span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getName</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._name</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // homeWorld: Planet</span></span> <span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getHomeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fetchHomeworld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._homeworldID)</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // friends: [Character]</span></span> <span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getFriends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._friendIDs.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(fetchCharacter)</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path d="M11.8972 0.00675201C5.81981 0.00675201 6.19928 2.64229 6.19928 2.64229L6.20603 5.37278H12.0056V6.19254H3.90253C3.90253 6.19254 0.0135803 5.75149 0.0135803 11.8836C0.0135803 18.0158 3.40795 17.7984 3.40795 17.7984H5.43369V14.9528C5.43369 14.9528 5.32449 11.5584 8.77388 11.5584H14.526C14.526 11.5584 17.7578 11.6106 17.7578 8.43502V3.18439C17.7578 3.18439 18.2486 0.00675201 11.8972 0.00675201ZM8.69936 1.84295C8.8364 1.84283 8.97213 1.86973 9.09877 1.92212C9.22541 1.97451 9.34048 2.05136 9.43738 2.14827C9.53429 2.24517 9.61114 2.36024 9.66353 2.48688C9.71592 2.61352 9.74282 2.74925 9.7427 2.88629C9.74282 3.02334 9.71592 3.15907 9.66353 3.28571C9.61114 3.41235 9.53429 3.52741 9.43738 3.62432C9.34048 3.72123 9.22541 3.79808 9.09877 3.85046C8.97213 3.90285 8.8364 3.92976 8.69936 3.92963C8.56231 3.92976 8.42658 3.90285 8.29994 3.85046C8.1733 3.79808 8.05824 3.72123 7.96133 3.62432C7.86442 3.52741 7.78757 3.41235 7.73519 3.28571C7.6828 3.15907 7.65589 3.02334 7.65602 2.88629C7.65589 2.74925 7.6828 2.61352 7.73519 2.48688C7.78757 2.36024 7.86442 2.24517 7.96133 2.14827C8.05824 2.05136 8.1733 1.97451 8.29994 1.92212C8.42658 1.86973 8.56231 1.84283 8.69936 1.84295Z"></path><path d="M12.0698 23.8221C18.1473 23.8221 17.7678 21.1865 17.7678 21.1865L17.761 18.4561H11.9614V17.6364H20.0645C20.0645 17.6364 23.9534 18.0774 23.9534 11.9452C23.9534 5.81299 20.559 6.03046 20.559 6.03046H18.5333V8.87598C18.5333 8.87598 18.6425 12.2703 15.1931 12.2703H9.44096C9.44096 12.2703 6.20923 12.2181 6.20923 15.3938V20.6445C6.20923 20.6445 5.7185 23.8221 12.0697 23.8221H12.0698ZM15.2677 21.9861C15.1307 21.9862 14.9949 21.9593 14.8683 21.9069C14.7417 21.8545 14.6266 21.7777 14.5297 21.6807C14.4328 21.5838 14.3559 21.4688 14.3036 21.3421C14.2512 21.2155 14.2243 21.0798 14.2244 20.9427C14.2242 20.8057 14.2511 20.6699 14.3035 20.5433C14.3559 20.4166 14.4328 20.3015 14.5297 20.2046C14.6266 20.1077 14.7416 20.0309 14.8683 19.9785C14.9949 19.9261 15.1307 19.8992 15.2677 19.8993C15.4048 19.8992 15.5405 19.9261 15.6671 19.9785C15.7938 20.0308 15.9088 20.1077 16.0057 20.2046C16.1027 20.3015 16.1795 20.4166 16.2319 20.5432C16.2843 20.6698 16.3112 20.8056 16.3111 20.9426C16.3112 21.0797 16.2843 21.2154 16.2319 21.342C16.1795 21.4687 16.1027 21.5837 16.0057 21.6806C15.9088 21.7776 15.7938 21.8544 15.6671 21.9068C15.5405 21.9592 15.4048 21.9862 15.2677 21.9861Z"></path></svg><span class="_truncate">Python</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># type Character {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # name: String</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(self):</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._name</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # homeWorld: Planet</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> homeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(self):</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fetchHomeworld(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._homeworldID)</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # friends: [Character]</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(self):</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(fetchCharacter, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._friendIDs)</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 22 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M21.2974 7.0377C21.2973 6.6352 21.2112 6.27953 21.0371 5.97428C20.8661 5.67411 20.61 5.42253 20.2665 5.22361C19.0514 4.52296 17.8357 3.82323 16.6201 3.12349C14.9991 2.19045 13.3782 1.25741 11.7584 0.322198C10.9943 -0.118969 10.2533 -0.102885 9.49483 0.344615C8.81468 0.745735 6.49221 2.08088 4.38542 3.29203L4.38537 3.29206C2.99635 4.09058 1.7011 4.8352 1.03208 5.2227C0.338667 5.62411 0.00125 6.23845 0.00108333 7.03695C0.000541667 8.68091 0.000541667 10.3248 0.000541667 11.9688C0.000541667 13.6127 0.000541667 15.2567 0 16.9007C0 17.2944 0.0825833 17.6431 0.249 17.9438C0.420083 18.253 0.67975 18.5115 1.03117 18.7149C1.69787 19.1011 2.98654 19.8418 4.37017 20.6371L4.37096 20.6376L4.37111 20.6377C6.48174 21.8508 8.81303 23.1909 9.4945 23.5929C10.2533 24.0407 10.9943 24.0567 11.7587 23.6154C13.4005 22.6674 15.0435 21.7217 16.6867 20.776L16.6899 20.7741C17.8826 20.0877 19.0752 19.4013 20.2674 18.7139C20.6188 18.5106 20.8785 18.2519 21.0496 17.9429C21.2158 17.6423 21.2985 17.2935 21.2985 16.8998C21.2985 16.8998 21.2985 10.3257 21.2974 7.0377ZM16.8243 9.69116V10.814H17.9472V9.69116H18.5086V10.814H19.6314V11.3754H18.5086V12.4982H19.6314V13.0596H18.5086V14.1824H17.9472V13.0596H16.8243V14.1824H16.2629V13.0596H15.1401V12.4982H16.2629V11.3754H15.1401V10.814H16.2629V9.69116H16.8243ZM17.9472 11.3754H16.8243V12.4982H17.9472V11.3754ZM17.5599 8.00683C16.1903 5.64268 13.6334 4.05215 10.7047 4.05215C6.33238 4.05215 2.78802 7.5966 2.78802 11.9688C2.78802 13.4032 3.16961 14.7483 3.83653 15.9085C5.20263 18.2852 7.76686 19.8855 10.7047 19.8855L10.7929 19.885C13.6875 19.8534 16.2094 18.2678 17.564 15.9237L14.1235 13.9305C14.129 13.9209 14.1344 13.9113 14.1399 13.9017L14.1234 13.9305L14.1235 13.9305C13.4432 15.1136 12.1673 15.9109 10.7047 15.9109C9.23939 15.9109 7.96199 15.1108 7.28248 13.9246C6.95238 13.3481 6.76257 12.6807 6.76257 11.9688C6.76257 9.79164 8.52761 8.02669 10.7047 8.02669L10.7497 8.02695C12.1774 8.04292 13.4219 8.81863 14.1008 9.96809L17.5465 7.98407L17.5599 8.00683Z"></path></svg><span class="_truncate">C Sharp</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// type Character {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // name: String</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> public</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> String</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">get</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // homeWorld: Planet</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Planet</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">> </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">GetHomeWorldAsync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> FetchHomeworldAsync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(_HomeworldID);</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // friends: [Character]</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> IEnumerable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>> </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">GetFriendsAsync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> _FriendIDs.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Select</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(FetchCharacterAsync);</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.65674L20.9575 6.82836V17.1716L12 22.3432L3.04248 17.1716V6.82836L12 1.65674ZM4.04753 7.40863V15.006L10.6271 3.60994L4.04753 7.40863ZM12 3.24206L4.4154 16.379H19.5846L12 3.24206ZM18.5796 17.384H5.42045L12 21.1827L18.5796 17.384ZM19.9525 15.006L13.3729 3.60994L19.9525 7.40863V15.006Z"></path><path d="M12 4.35381C13.1691 4.35381 14.1168 3.40609 14.1168 2.23701C14.1168 1.06793 13.1691 0.120209 12 0.120209C10.8309 0.120209 9.88319 1.06793 9.88319 2.23701C9.88319 3.40609 10.8309 4.35381 12 4.35381Z"></path><path d="M20.455 9.23532C21.6241 9.23532 22.5718 8.2876 22.5718 7.11852C22.5718 5.94945 21.6241 5.00172 20.455 5.00172C19.2859 5.00172 18.3382 5.94945 18.3382 7.11852C18.3382 8.2876 19.2859 9.23532 20.455 9.23532Z"></path><path d="M20.455 18.9983C21.6241 18.9983 22.5718 18.0506 22.5718 16.8815C22.5718 15.7124 21.6241 14.7647 20.455 14.7647C19.2859 14.7647 18.3382 15.7124 18.3382 16.8815C18.3382 18.0506 19.2859 18.9983 20.455 18.9983Z"></path><path d="M12 23.8798C13.1691 23.8798 14.1168 22.9321 14.1168 21.763C14.1168 20.5939 13.1691 19.6462 12 19.6462C10.8309 19.6462 9.88319 20.5939 9.88319 21.763C9.88319 22.9321 10.8309 23.8798 12 23.8798Z"></path><path d="M3.54382 18.9983C4.71289 18.9983 5.66062 18.0506 5.66062 16.8815C5.66062 15.7124 4.71289 14.7647 3.54382 14.7647C2.37474 14.7647 1.42702 15.7124 1.42702 16.8815C1.42702 18.0506 2.37474 18.9983 3.54382 18.9983Z"></path><path d="M3.54382 9.23532C4.71289 9.23532 5.66062 8.2876 5.66062 7.11852C5.66062 5.94945 4.71289 5.00172 3.54382 5.00172C2.37474 5.00172 1.42702 5.94945 1.42702 7.11852C1.42702 8.2876 2.37474 9.23532 3.54382 9.23532Z"></path></svg><span class="_truncate">GraphQL</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">type</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">String</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> homeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Planet</span></span> <span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path d="M21.8182 0H2.18182C0.976364 0 0 0.976364 0 2.18182V21.8182C0 23.0236 0.976364 24 2.18182 24H21.8182C23.0236 24 24 23.0236 24 21.8182V2.18182C24 0.976364 23.0236 0 21.8182 0ZM12 17.8691C12 19.8076 10.8109 20.8942 8.83636 20.8942C6.88582 20.8942 5.64327 19.7542 5.64327 17.9105H7.75636C7.76182 18.5945 8.16982 19.0265 8.80036 19.0265C9.44836 19.0265 9.79636 18.6185 9.79636 17.8505V11.9978H12V17.8691ZM17.9793 20.8942C15.7876 20.8942 14.4087 19.8622 14.3716 18.1931H16.4727C16.5262 18.8236 17.1556 19.2251 18.0687 19.2251C18.8913 19.2251 19.4564 18.8291 19.4564 18.2585C19.4564 17.7785 19.0778 17.52 18.0873 17.3225L16.9473 17.0945C15.3622 16.7945 14.5462 15.9305 14.5462 14.568C14.5462 12.8749 15.9033 11.7644 17.9913 11.7644C20.0204 11.7644 21.4244 12.8629 21.4604 14.4655H19.4258C19.3778 13.8535 18.7953 13.4269 18.0196 13.4269C17.2462 13.4269 16.7367 13.7935 16.7367 14.3695C16.7367 14.844 17.1207 15.12 18.0327 15.3L19.1476 15.516C20.8593 15.8465 21.6273 16.62 21.6273 17.9945C21.6284 19.8022 20.2484 20.8942 17.9793 20.8942Z"></path></svg><span class="_truncate">JavaScript</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// type Character {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // name: String</span></span> <span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getName</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._name</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // homeWorld: Planet</span></span> <span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getHomeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fetchHomeworld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._homeworldID)</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // friends: [Character]</span></span> <span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getFriends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._friendIDs.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(fetchCharacter)</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 24 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path d="M11.8972 0.00675201C5.81981 0.00675201 6.19928 2.64229 6.19928 2.64229L6.20603 5.37278H12.0056V6.19254H3.90253C3.90253 6.19254 0.0135803 5.75149 0.0135803 11.8836C0.0135803 18.0158 3.40795 17.7984 3.40795 17.7984H5.43369V14.9528C5.43369 14.9528 5.32449 11.5584 8.77388 11.5584H14.526C14.526 11.5584 17.7578 11.6106 17.7578 8.43502V3.18439C17.7578 3.18439 18.2486 0.00675201 11.8972 0.00675201ZM8.69936 1.84295C8.8364 1.84283 8.97213 1.86973 9.09877 1.92212C9.22541 1.97451 9.34048 2.05136 9.43738 2.14827C9.53429 2.24517 9.61114 2.36024 9.66353 2.48688C9.71592 2.61352 9.74282 2.74925 9.7427 2.88629C9.74282 3.02334 9.71592 3.15907 9.66353 3.28571C9.61114 3.41235 9.53429 3.52741 9.43738 3.62432C9.34048 3.72123 9.22541 3.79808 9.09877 3.85046C8.97213 3.90285 8.8364 3.92976 8.69936 3.92963C8.56231 3.92976 8.42658 3.90285 8.29994 3.85046C8.1733 3.79808 8.05824 3.72123 7.96133 3.62432C7.86442 3.52741 7.78757 3.41235 7.73519 3.28571C7.6828 3.15907 7.65589 3.02334 7.65602 2.88629C7.65589 2.74925 7.6828 2.61352 7.73519 2.48688C7.78757 2.36024 7.86442 2.24517 7.96133 2.14827C8.05824 2.05136 8.1733 1.97451 8.29994 1.92212C8.42658 1.86973 8.56231 1.84283 8.69936 1.84295Z"></path><path d="M12.0698 23.8221C18.1473 23.8221 17.7678 21.1865 17.7678 21.1865L17.761 18.4561H11.9614V17.6364H20.0645C20.0645 17.6364 23.9534 18.0774 23.9534 11.9452C23.9534 5.81299 20.559 6.03046 20.559 6.03046H18.5333V8.87598C18.5333 8.87598 18.6425 12.2703 15.1931 12.2703H9.44096C9.44096 12.2703 6.20923 12.2181 6.20923 15.3938V20.6445C6.20923 20.6445 5.7185 23.8221 12.0697 23.8221H12.0698ZM15.2677 21.9861C15.1307 21.9862 14.9949 21.9593 14.8683 21.9069C14.7417 21.8545 14.6266 21.7777 14.5297 21.6807C14.4328 21.5838 14.3559 21.4688 14.3036 21.3421C14.2512 21.2155 14.2243 21.0798 14.2244 20.9427C14.2242 20.8057 14.2511 20.6699 14.3035 20.5433C14.3559 20.4166 14.4328 20.3015 14.5297 20.2046C14.6266 20.1077 14.7416 20.0309 14.8683 19.9785C14.9949 19.9261 15.1307 19.8992 15.2677 19.8993C15.4048 19.8992 15.5405 19.9261 15.6671 19.9785C15.7938 20.0308 15.9088 20.1077 16.0057 20.2046C16.1027 20.3015 16.1795 20.4166 16.2319 20.5432C16.2843 20.6698 16.3112 20.8056 16.3111 20.9426C16.3112 21.0797 16.2843 21.2154 16.2319 21.342C16.1795 21.4687 16.1027 21.5837 16.0057 21.6806C15.9088 21.7776 15.7938 21.8544 15.6671 21.9068C15.5405 21.9592 15.4048 21.9862 15.2677 21.9861Z"></path></svg><span class="_truncate">Python</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># type Character {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # name: String</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(self):</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._name</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # homeWorld: Planet</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> homeWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(self):</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fetchHomeworld(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._homeworldID)</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # friends: [Character]</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> friends</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(self):</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(fetchCharacter, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">._friendIDs)</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li><li class="w-[350px] max-w-full shrink-0 md:w-[450px]"><div class="nextra-code _relative [&:not(:first-child)]:_mt-6"><div class="_px-4 _text-xs _text-gray-700 dark:_text-gray-200 _bg-gray-100 dark:_bg-neutral-900 _flex _items-center _h-12 _gap-2 _rounded-t-md _border _border-gray-300 dark:_border-neutral-700 contrast-more:_border-gray-900 contrast-more:dark:_border-gray-50 _border-b-0"><svg viewBox="0 0 22 24" fill="currentColor" class="_h-4 _w-auto _shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M21.2974 7.0377C21.2973 6.6352 21.2112 6.27953 21.0371 5.97428C20.8661 5.67411 20.61 5.42253 20.2665 5.22361C19.0514 4.52296 17.8357 3.82323 16.6201 3.12349C14.9991 2.19045 13.3782 1.25741 11.7584 0.322198C10.9943 -0.118969 10.2533 -0.102885 9.49483 0.344615C8.81468 0.745735 6.49221 2.08088 4.38542 3.29203L4.38537 3.29206C2.99635 4.09058 1.7011 4.8352 1.03208 5.2227C0.338667 5.62411 0.00125 6.23845 0.00108333 7.03695C0.000541667 8.68091 0.000541667 10.3248 0.000541667 11.9688C0.000541667 13.6127 0.000541667 15.2567 0 16.9007C0 17.2944 0.0825833 17.6431 0.249 17.9438C0.420083 18.253 0.67975 18.5115 1.03117 18.7149C1.69787 19.1011 2.98654 19.8418 4.37017 20.6371L4.37096 20.6376L4.37111 20.6377C6.48174 21.8508 8.81303 23.1909 9.4945 23.5929C10.2533 24.0407 10.9943 24.0567 11.7587 23.6154C13.4005 22.6674 15.0435 21.7217 16.6867 20.776L16.6899 20.7741C17.8826 20.0877 19.0752 19.4013 20.2674 18.7139C20.6188 18.5106 20.8785 18.2519 21.0496 17.9429C21.2158 17.6423 21.2985 17.2935 21.2985 16.8998C21.2985 16.8998 21.2985 10.3257 21.2974 7.0377ZM16.8243 9.69116V10.814H17.9472V9.69116H18.5086V10.814H19.6314V11.3754H18.5086V12.4982H19.6314V13.0596H18.5086V14.1824H17.9472V13.0596H16.8243V14.1824H16.2629V13.0596H15.1401V12.4982H16.2629V11.3754H15.1401V10.814H16.2629V9.69116H16.8243ZM17.9472 11.3754H16.8243V12.4982H17.9472V11.3754ZM17.5599 8.00683C16.1903 5.64268 13.6334 4.05215 10.7047 4.05215C6.33238 4.05215 2.78802 7.5966 2.78802 11.9688C2.78802 13.4032 3.16961 14.7483 3.83653 15.9085C5.20263 18.2852 7.76686 19.8855 10.7047 19.8855L10.7929 19.885C13.6875 19.8534 16.2094 18.2678 17.564 15.9237L14.1235 13.9305C14.129 13.9209 14.1344 13.9113 14.1399 13.9017L14.1234 13.9305L14.1235 13.9305C13.4432 15.1136 12.1673 15.9109 10.7047 15.9109C9.23939 15.9109 7.96199 15.1108 7.28248 13.9246C6.95238 13.3481 6.76257 12.6807 6.76257 11.9688C6.76257 9.79164 8.52761 8.02669 10.7047 8.02669L10.7497 8.02695C12.1774 8.04292 13.4219 8.81863 14.1008 9.96809L17.5465 7.98407L17.5599 8.00683Z"></path></svg><span class="_truncate">C Sharp</span></div><pre class="_overflow-x-auto _subpixel-antialiased _text-[.9em] _bg-white dark:_bg-black _py-4 _ring-1 _ring-inset _ring-gray-300 dark:_ring-neutral-700 contrast-more:_ring-gray-900 contrast-more:dark:_ring-gray-50 contrast-more:_contrast-150 _rounded-b-md" tabindex="0"><code class="nextra-code" dir="ltr"><span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// type Character {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // name: String</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> public</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> String</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">get</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // homeWorld: Planet</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Planet</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">> </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">GetHomeWorldAsync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> FetchHomeworldAsync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(_HomeworldID);</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span> </span> <span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> // friends: [Character]</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> IEnumerable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"><</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Character</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>> </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">GetFriendsAsync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span> <span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> _FriendIDs.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Select</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(FetchCharacterAsync);</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span> <span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><div class="_opacity-0 _transition [div:hover>&]:_opacity-100 focus-within:_opacity-100 _flex _gap-1 _absolute _right-4 _top-14"></div></div></li></ul></div><div class="index-gradient"><section id="whos-using"><div class="container conf-block flex flex-col items-center"><h2>Who's using GraphQL?</h2><p class="text-balance text-center">Facebook's mobile apps have been powered by GraphQL since 2012. A GraphQL spec was open sourced in 2015 and is now available in many environments and used by teams of all sizes.</p><div class="flex flex-wrap gap-10 lg:gap-16 justify-center mt-10 mb-20"><a href="https://facebook.com" target="_blank" rel="noreferrer" class="shrink-0"><img alt="Facebook" title="Facebook" loading="lazy" width="512" height="512" decoding="async" data-nimg="1" class="h-16 lg:h-28 w-auto" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("/nextImageExportOptimizer/facebook.0e9e1517-opt-10.WEBP")" srcSet="/nextImageExportOptimizer/facebook.0e9e1517-opt-640.WEBP 1x, /nextImageExportOptimizer/facebook.0e9e1517-opt-640.WEBP 2x" src="/nextImageExportOptimizer/facebook.0e9e1517-opt-640.WEBP"/></a><a href="https://docs.github.com/en/graphql" target="_blank" rel="noreferrer" class="shrink-0"><img alt="GitHub" title="GitHub" loading="lazy" width="600" height="600" decoding="async" data-nimg="1" class="h-16 lg:h-28 w-auto dark:invert" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("/nextImageExportOptimizer/github.0821dbe0-opt-10.WEBP")" srcSet="/nextImageExportOptimizer/github.0821dbe0-opt-640.WEBP 1x, /nextImageExportOptimizer/github.0821dbe0-opt-640.WEBP 2x" src="/nextImageExportOptimizer/github.0821dbe0-opt-640.WEBP"/></a><a href="https://pinterest.com" target="_blank" rel="noreferrer" class="shrink-0"><img alt="Pinterest" title="Pinterest" loading="lazy" width="600" height="600" decoding="async" data-nimg="1" class="h-16 lg:h-28 w-auto" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("/nextImageExportOptimizer/pinterest.36b58187-opt-10.WEBP")" srcSet="/nextImageExportOptimizer/pinterest.36b58187-opt-640.WEBP 1x, /nextImageExportOptimizer/pinterest.36b58187-opt-640.WEBP 2x" src="/nextImageExportOptimizer/pinterest.36b58187-opt-640.WEBP"/></a><a href="https://intuit.com" target="_blank" rel="noreferrer" class="shrink-0"><img alt="Intuit" title="Intuit" loading="lazy" width="773" height="400" decoding="async" data-nimg="1" class="h-16 lg:h-28 w-auto" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("/nextImageExportOptimizer/intuit.04140a09-opt-10.WEBP")" srcSet="/nextImageExportOptimizer/intuit.04140a09-opt-828.WEBP 1x, /nextImageExportOptimizer/intuit.04140a09-opt-828.WEBP 2x" src="/nextImageExportOptimizer/intuit.04140a09-opt-828.WEBP"/></a><a href="https://coursera.org" target="_blank" rel="noreferrer" class="shrink-0"><img alt="Coursera" title="Coursera" loading="lazy" width="1024" height="1024" decoding="async" data-nimg="1" class="h-16 lg:h-28 w-auto" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("/nextImageExportOptimizer/coursera.968d6897-opt-10.WEBP")" srcSet="/nextImageExportOptimizer/coursera.968d6897-opt-1080.WEBP 1x, /nextImageExportOptimizer/coursera.968d6897-opt-1080.WEBP 2x" src="/nextImageExportOptimizer/coursera.968d6897-opt-1080.WEBP"/></a><a href="https://shopify.com" target="_blank" rel="noreferrer" class="shrink-0"><img alt="Shopify" title="Shopify" loading="lazy" width="600" height="683" decoding="async" data-nimg="1" class="h-16 lg:h-28 w-auto" style="color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url("/nextImageExportOptimizer/shopify.2cb330ea-opt-10.WEBP")" srcSet="/nextImageExportOptimizer/shopify.2cb330ea-opt-640.WEBP 1x, /nextImageExportOptimizer/shopify.2cb330ea-opt-640.WEBP 2x" src="/nextImageExportOptimizer/shopify.2cb330ea-opt-640.WEBP"/></a></div><a class="index-button" href="/users/">More GraphQL Users</a></div></section></div></div></div></div><footer class="_bg-gray-100 _pb-[env(safe-area-inset-bottom)] dark:_bg-neutral-900 print:_bg-transparent"><div class="_mx-auto _flex _max-w-[90rem] _gap-2 _py-2 _px-4 _flex"><button title="Change theme" class="_h-7 _rounded-md _px-2 _text-left _text-xs _font-medium _text-gray-600 _transition-colors dark:_text-gray-400 hover:_bg-gray-100 hover:_text-gray-900 dark:hover:_bg-primary-100/5 dark:hover:_text-gray-50" id="headlessui-listbox-button-:R2jl6:" type="button" aria-haspopup="listbox" aria-expanded="false" data-headlessui-state=""><div class="_flex _items-center _gap-2 _capitalize"><svg fill="none" viewBox="3 3 18 18" width="12" height="12" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill="currentColor" d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"></path></svg><span class="">Light</span></div></button></div><hr class="dark:_border-neutral-800"/><div class="_mx-auto _flex _max-w-[90rem] _justify-center _py-12 _text-gray-600 dark:_text-gray-400 md:_justify-start _pl-[max(env(safe-area-inset-left),1.5rem)] _pr-[max(env(safe-area-inset-right),1.5rem)]"><div class="w-full"><div class="flex justify-between items-start mb-24 flex-wrap gap-10"><a class="max-lg:w-full" href="/"><svg xmlns="http://www.w3.org/2000/svg" style="fill:color(display-p3 .8824 0 .5961)" viewBox="0 0 367 100" class="h-8 nextra-logo" title="GraphQL"><path fill-rule="evenodd" d="m50 6.468 37.7 21.766v43.532L50 93.532 12.3 71.766V28.234zM16.53 30.676v31.976l27.692-47.964zM50 13.14 18.078 68.43h63.844zm27.692 59.52H22.308L50 88.648zm5.778-10.008L55.778 14.688 83.47 30.676z" clip-rule="evenodd"></path><circle cx="14.41" cy="29.45" r="8.91"></circle><circle cx="14.41" cy="70.545" r="8.91"></circle><circle cx="50" cy="91.09" r="8.91"></circle><circle cx="85.585" cy="70.545" r="8.91"></circle><circle cx="85.585" cy="29.455" r="8.91"></circle><circle cx="50" cy="8.91" r="8.91"></circle><path d="M138.875 71.625q-7.812 0-12.125-4.5t-4.562-12.062q-.063-1.876-.063-5.938t.063-5.937q.25-7.563 4.562-12.063t12.125-4.5q5.313 0 8.938 2 3.624 2 5.375 4.75 1.812 2.688 1.937 4.813v.124q0 .501-.375.813-.375.313-.938.313h-1.374q-.562 0-.813-.25t-.5-1q-1.062-3.313-4.125-5.563-3-2.25-8.125-2.25-5.812 0-9.187 3.188-3.313 3.187-3.563 9.937-.062 1.875-.062 5.625t.062 5.625q.25 6.75 3.563 9.938 3.375 3.186 9.187 3.187 5.813 0 9.375-3.312 3.562-3.314 3.562-9.813v-3.187h-10.874q-.625 0-1-.376a1.58 1.58 0 0 1-.375-1.062v-.875q0-.625.375-1 .375-.437 1-.437h13.374q.688 0 1.063.374.375.376.375 1.063v5.5q0 4.999-2 8.813-2 3.811-5.812 5.937-3.813 2.125-9.063 2.125M165.941 71q-.625 0-1-.375t-.375-1V39.938q0-.625.375-1 .375-.438 1-.438h1q.625 0 1 .438.438.375.438 1v2.874q2.25-4.312 8.5-4.312h2.312q.625 0 1 .375t.375 1v.875q0 .625-.375 1t-1 .375h-2.687q-3.75 0-5.938 2.188-2.187 2.187-2.187 5.937v19.375q0 .625-.438 1-.375.375-1 .375zM194.557 71.625q-3 0-5.563-1.25T184.869 67q-1.5-2.126-1.5-4.687 0-4.125 3.313-6.75 3.374-2.625 9.062-3.376l9.875-1.374v-2.188q0-3.438-2.125-5.25-2.063-1.875-6.375-1.875-3.188 0-5.25 1.25-2 1.25-2.562 3-.25.75-.625 1.063-.313.25-.875.25h-.875q-.563 0-1-.376a1.5 1.5 0 0 1-.375-1q0-1.374 1.25-3.187 1.25-1.875 3.875-3.25t6.437-1.375q6.687 0 9.5 3.188 2.813 3.187 2.813 7.75v20.812q0 .625-.375 1-.376.375-1 .375h-1.063q-.625 0-1-.375t-.375-1v-2.937q-1.375 2.061-4.062 3.5-2.626 1.437-7 1.437m.625-3.625q4.561 0 7.5-3 2.937-3 2.937-8.625V54.25l-8.062 1.125q-5.125.687-7.75 2.375T187.182 62q0 2.875 2.375 4.438Q191.994 68 195.182 68M220.752 82.875q-.624 0-1-.375-.375-.375-.375-1V39.875q0-.625.375-1 .376-.375 1-.375h1.063q.625 0 1 .375t.375 1v2.938q3.626-4.938 10.5-4.938 6.75 0 9.937 4.313 3.25 4.25 3.438 10.5.063.624.062 2.062 0 1.437-.062 2.063-.187 6.25-3.438 10.562-3.187 4.25-9.937 4.25-6.813 0-10.5-4.937V81.5q0 .625-.375 1t-1 .375zM233.315 68q5.062 0 7.375-3.187 2.375-3.25 2.562-8.313.063-.625.063-1.75 0-5.813-2.25-9.5-2.25-3.75-7.75-3.75-4.938 0-7.438 3.313-2.5 3.25-2.687 7.687l-.063 2.438.063 2.437a12.8 12.8 0 0 0 1.187 5.125q1.125 2.375 3.375 3.938Q230.002 68 233.315 68M257.068 71q-.625 0-1-.375t-.375-1V28q0-.625.375-1t1-.375h1.063q.625 0 1 .375t.375 1v14.813q1.875-2.439 4.25-3.688 2.437-1.25 6.25-1.25 6.125 0 9.437 3.938 3.313 3.874 3.313 10.062v17.75q0 .625-.375 1t-1 .375h-1.063q-.625 0-1-.375t-.375-1V52.188q0-5.063-2.5-7.876-2.437-2.812-7.062-2.812-4.5 0-7.188 2.875-2.687 2.813-2.687 7.813v17.437q0 .625-.375 1t-1 .375zM321.682 75.063q-.938 0-2-1.438l-2.75-3.812q-3.75 1.812-8.75 1.812-16.062 0-16.5-17.25-.062-1.875-.062-5.25t.062-5.25q.25-8.5 4.625-12.875t11.875-4.375T320.057 31t4.625 12.875q.125 3.75.125 5.25t-.125 5.25q-.312 8.937-4.562 13.125l4 5.625q.187.376.187.688a1.2 1.2 0 0 1-.375.874 1.2 1.2 0 0 1-.875.376zm-13.5-7.188q5.625 0 8.938-3.375 3.375-3.437 3.625-10.437.125-3.75.125-4.938t-.125-4.937q-.25-7-3.625-10.376-3.375-3.437-8.938-3.437-5.562 0-8.937 3.438-3.375 3.375-3.625 10.374-.063 1.875-.063 4.938t.063 4.938q.25 6.999 3.562 10.437 3.375 3.375 9 3.375M336.126 71q-.625 0-1-.375t-.375-1v-41q0-.625.375-1t1-.375h1.188q.625 0 1 .375t.375 1V67.25h21.562q.688 0 1.063.375t.375 1.063v.937q0 .625-.438 1-.375.375-1 .375z"></path></svg></a><ul class="text-sm flex flex-col gap-4 max-lg:w-[46%]"><h3 class="text-lg font-bold">Learn</h3><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/learn/">Introduction to GraphQL</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/learn/best-practices/">Best Practices</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/faq/">Frequently Asked Questions</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/community/resources/training-courses/">Training Courses</a></li></ul><ul class="text-sm flex flex-col gap-4 max-lg:w-[46%]"><h3 class="text-lg font-bold">Code</h3><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="https://github.com/graphql">GitHub</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="https://spec.graphql.org">GraphQL Specification</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/code/">Libraries & Tools</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/code/?tags=services">Services & Vendors</a></li></ul><ul class="text-sm flex flex-col gap-4 max-lg:w-[46%]"><h3 class="text-lg font-bold">Community</h3><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/community/resources/official-channels/">Resources</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/community/events/">Events & Meetups</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/community/contribute/essential-links/">Contribute to GraphQL</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="https://landscape.graphql.org">Landscape</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="https://store.graphql.org">Shop</a></li></ul><ul class="text-sm flex flex-col gap-4 max-lg:w-[46%]"><h3 class="text-lg font-bold">& More</h3><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/blog/">Blog</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/foundation/">GraphQL Foundation</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/foundation/community-grant/">GraphQL Community Grant</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/brand/">Logo and Brand Guidelines</a></li><li><a class="hover:underline decoration-from-font [text-underline-position:from-font]" href="/codeofconduct/">Code of Conduct</a></li></ul></div><div class="flex justify-between flex-wrap gap-10"><p class="text-sm">Copyright © <!-- -->2024<!-- --> The GraphQL Foundation. All rights reserved.<br/>For web site terms of use, trademark policy and general project policies please see<!-- --> <a href="https://lfprojects.org" target="_blank" rel="noreferrer" class="text-primary hover:underline decoration-from-font [text-underline-position:from-font]">https://lfprojects.org</a></p><div class="flex flex-col gap-4 lg:items-end"><ul class="flex gap-5"><li><a href="https://github.com/graphql" target="_blank" rel="noreferrer" class="hover:text-primary transition-colors block"><svg xmlns="http://www.w3.org/2000/svg" width="30" fill="currentColor" viewBox="0 0 30 30" class="h-5 w-auto *:fill-current"><path fill-rule="evenodd" d="M15.1.413a14.81 14.81 0 0 0-4.684 28.862c.742.138 1.012-.32 1.012-.712 0-.35-.013-1.283-.02-2.518-4.12.893-4.99-1.987-4.99-1.987-.675-1.71-1.643-2.165-1.643-2.165-1.345-.918.1-.9.1-.9 1.488.105 2.27 1.525 2.27 1.525 1.32 2.265 3.466 1.61 4.31 1.23.133-.955.515-1.608.94-1.978-3.29-.375-6.747-1.645-6.747-7.32 0-1.615.577-2.937 1.525-3.975-.15-.372-.66-1.88.145-3.917 0 0 1.242-.4 4.075 1.517a14.3 14.3 0 0 1 3.705-.5 14.2 14.2 0 0 1 3.707.5c2.826-1.915 4.068-1.517 4.068-1.517.807 2.037.3 3.545.15 3.92.95 1.035 1.52 2.357 1.52 3.975 0 5.687-3.462 6.94-6.76 7.305.53.457 1.005 1.36 1.005 2.742 0 1.98-.02 3.575-.02 4.063 0 .395.267.857 1.02.712A14.816 14.816 0 0 0 15.101.413" clip-rule="evenodd"></path></svg></a></li><li><a href="https://discord.graphql.org" target="_blank" rel="noreferrer" class="hover:text-primary transition-colors block"><svg xmlns="http://www.w3.org/2000/svg" fill="#5865f2" viewBox="0 0 20 20" class="h-5 w-auto *:fill-current"><path d="M16.956 3.693a16.5 16.5 0 0 0-4.134-1.274 10 10 0 0 0-.526 1.072 15.8 15.8 0 0 0-4.58 0 13 13 0 0 0-.525-1.072c-1.429.239-2.82.667-4.135 1.274C.44 7.553-.269 11.323.085 15.043a16.8 16.8 0 0 0 5.065 2.536q.614-.828 1.08-1.747a10.6 10.6 0 0 1-1.708-.82 6 6 0 0 0 .415-.323c3.295 1.507 6.864 1.507 10.119 0 .141.111.272.223.414.324-.546.323-1.112.596-1.709.818a12.3 12.3 0 0 0 1.083 1.75 16.8 16.8 0 0 0 5.064-2.538c.434-4.305-.689-8.045-2.952-11.35m-10.27 9.056c-.99 0-1.8-.9-1.8-2.002s.79-2.001 1.8-2.001c1 0 1.82.9 1.798 2.002 0 1.101-.798 2-1.798 2m6.641 0c-.99 0-1.8-.9-1.8-2.002s.79-2.001 1.8-2.001c1 0 1.82.9 1.8 2.002 0 1.101-.79 2-1.8 2"></path></svg></a></li><li><a href="https://twitter.com/graphql" target="_blank" rel="noreferrer" class="hover:text-primary transition-colors block"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20" class="h-5 w-auto *:fill-current"><path d="m11.396 9.473 5.461-6.216h-1.293L10.82 8.654 7.034 3.257H2.666l5.726 8.161-5.726 6.518H3.96l5.006-5.7 4 5.7h4.367M4.427 4.212h1.987l9.149 12.816h-1.988"></path></svg></a></li><li><a href="http://stackoverflow.com/questions/tagged/graphql" target="_blank" rel="noreferrer" class="hover:text-primary transition-colors block"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 124" class="h-5 w-auto *:fill-current"><path fill="#bbb" fill-rule="evenodd" d="M88 80h11v44H0V80h11v33h77z" clip-rule="evenodd"></path><path fill="#f58025" d="m22.988 76.73 54.025 11.355 2.27-10.8-54.024-11.36zm7.149-25.869 50.046 23.308 4.662-10.009-50.047-23.308zm13.848-24.553 42.428 35.331 7.066-8.485-42.428-35.33zM71.372.192l-8.86 6.59 32.948 44.3 8.86-6.589zM22 102h55V91H22z"></path></svg></a></li></ul><a href="https://nextra.site" target="_blank" rel="noreferrer" class="text-xs hover:text-primary transition-colors flex items-center gap-2">Powered by<!-- --> <svg viewBox="0 0 361 70" fill="currentColor" class="shrink-0 h-3"><path d="M114.913 33.2763v28.7642h-11.57V12.9496h11.059v8.3416h.575c1.129-2.7485 2.93-4.9325 5.401-6.5518 2.493-1.6193 5.572-2.429 9.237-2.429 3.388 0 6.339.7244 8.853 2.1733 2.535 1.4489 4.496 3.5476 5.88 6.2962 1.407 2.7486 2.099 6.0831 2.078 10.0035v31.2571h-11.57V32.5732c0-3.2813-.852-5.8487-2.557-7.7024-1.683-1.8537-4.016-2.7806-6.999-2.7806-2.024 0-3.824.4475-5.401 1.3424-1.556.8736-2.781 2.1413-3.676 3.8032-.873 1.662-1.31 3.6755-1.31 6.0405Zm61.407 29.723c-4.922 0-9.172-1.0227-12.752-3.0681-3.558-2.0668-6.296-4.9858-8.214-8.7572-1.917-3.7926-2.876-8.2563-2.876-13.3913 0-5.0497.959-9.4815 2.876-13.2954 1.939-3.8353 4.645-6.8182 8.118-8.9489 3.473-2.152 7.553-3.228 12.241-3.228 3.026 0 5.881.4901 8.565 1.4702 2.706.9588 5.093 2.4503 7.159 4.4744 2.088 2.0242 3.729 4.6023 4.922 7.7344 1.193 3.1108 1.79 6.8182 1.79 11.1221v3.5476h-40.238v-7.7983h29.148c-.021-2.2159-.501-4.1868-1.438-5.9126-.938-1.7472-2.248-3.1215-3.931-4.1229-1.662-1.0014-3.601-1.5021-5.817-1.5021-2.365 0-4.443.5753-6.232 1.7258-1.79 1.1293-3.186 2.6208-4.187 4.4745-.98 1.8324-1.481 3.8459-1.502 6.0405v6.8075c0 2.8551.522 5.3054 1.566 7.3508 1.044 2.0242 2.503 3.5796 4.378 4.6662 1.875 1.0654 4.07 1.598 6.584 1.598 1.683 0 3.207-.2343 4.57-.7031 1.364-.49 2.546-1.2038 3.548-2.1413 1.001-.9375 1.758-2.0987 2.269-3.4837l10.803 1.2145c-.682 2.8551-1.982 5.348-3.9 7.4787-1.896 2.1094-4.325 3.75-7.286 4.9219-2.962 1.1506-6.35 1.7258-10.164 1.7258Zm34.777-50.0497 9.908 18.1215 10.067-18.1215h12.241l-14.798 24.5455 15.054 24.5454h-12.177l-10.387-17.674-10.291 17.674h-12.273l14.957-24.5454-14.574-24.5455h12.273Zm63.878 0v8.9489h-28.221v-8.9489h28.221ZM253.722 1.18825h11.569V47.2749c0 1.5554.235 2.7486.704 3.5795.49.8097 1.129 1.3637 1.917 1.662s1.662.4474 2.621.4474c.724 0 1.385-.0532 1.981-.1598.618-.1065 1.087-.2024 1.407-.2876l1.949 9.0447c-.618.2131-1.502.4475-2.652.7031-1.13.2557-2.515.4049-4.155.4475-2.898.0852-5.508-.3516-7.831-1.3104-2.322-.9801-4.165-2.4929-5.529-4.5383-1.342-2.0455-2.003-4.6023-1.981-7.6705V1.18825Zm29.129 60.85225V12.9496h11.218v8.1818h.512c.895-2.8338 2.429-5.0177 4.602-6.5518 2.173-1.5554 4.677-2.3331 7.511-2.3331 1.321 0 2.535.1598 3.643.4794 1.108.3196 2.088.7564 2.94 1.3104l-3.579 9.588c-.618-.2983-1.3-.5433-2.046-.7351-.745-.1917-1.587-.2876-2.524-.2876-2.003 0-3.814.4474-5.434 1.3423-1.619.8949-2.908 2.1414-3.867 3.7394-.937 1.5767-1.406 3.4091-1.406 5.4971v28.8601h-11.57Zm51.222.863c-3.856 0-7.308-.9908-10.355-2.9723-3.047-1.9816-5.454-4.858-7.223-8.6293-1.768-3.7713-2.652-8.3523-2.652-13.7429 0-5.4546.894-10.0568 2.684-13.8068 1.811-3.7713 4.251-6.6158 7.319-8.5334 3.068-1.9389 6.488-2.9084 10.259-2.9084 2.877 0 5.242.4901 7.095 1.4702 1.854.9588 3.324 2.12 4.411 3.4836 1.087 1.3424 1.928 2.6101 2.525 3.8033h.479v-8.1179h11.602v49.0909h-11.378v-7.7343h-.703c-.597 1.1931-1.46 2.4609-2.589 3.8032-1.129 1.321-2.621 2.4503-4.474 3.3878-1.854.9375-4.187 1.4063-7 1.4063Zm3.228-9.4922c2.451 0 4.539-.6605 6.265-1.9816 1.725-1.3423 3.036-3.2066 3.931-5.593s1.342-5.1669 1.342-8.3416c0-3.1747-.447-5.934-1.342-8.2777-.874-2.3438-2.174-4.1655-3.9-5.4652-1.704-1.2997-3.803-1.9496-6.296-1.9496-2.578 0-4.73.6712-6.456 2.0135s-3.025 3.196-3.899 5.5611c-.873 2.365-1.31 5.071-1.31 8.1179 0 3.0682.437 5.8061 1.31 8.2138.895 2.3863 2.205 4.272 3.931 5.6569 1.747 1.3636 3.889 2.0455 6.424 2.0455Z"></path><path d="m64.8833 1.81335-2.8464 2.84638C47.1274 19.5692 22.9543 19.5692 8.04485 4.65972L5.19848 1.81335c-.93479-.93478-2.45037-.93478-3.38515 0-.93479.93478-.93478 2.45037 0 3.38515L4.6597 8.04487c14.9095 14.90953 14.9095 39.08263 0 53.99213l-2.84637 2.8463c-.93479.9348-.93479 2.4504 0 3.3852.93478.9348 2.45037.9348 3.38515 0l2.84637-2.8464c14.90955-14.9095 39.08255-14.9095 53.99205 0l2.8464 2.8464c.9348.9348 2.4504.9348 3.3852 0 .9347-.9348.9347-2.4504 0-3.3852l-2.8464-2.8463c-14.9095-14.9095-14.9095-39.0826 0-53.99213l2.8464-2.84637c.9347-.93478.9347-2.45037 0-3.38515-.9348-.93478-2.4504-.93478-3.3852 0Z" stroke="currentColor" stroke-width="2"></path></svg></a></div></div></div></div></footer></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"ANYoRcQUjMjxlujFCfpei","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>