<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script>
			(() => {
				const KEY = "ui-mode";
				const media = window.matchMedia("(prefers-color-scheme: dark)");
				const isPref = (v) => v === "light" || v === "dark" || v === "auto";

				const readPref = () => {
					try {
						const v = localStorage.getItem(KEY);
						return isPref(v) ? v : "auto";
					} catch {
						return "auto";
					}
				};

				const resolveMode = (pref) =>
					pref === "light" || pref === "dark"
						? pref
						: media.matches
							? "dark"
							: "light";

				const applyTheme = () => {
					const root = document.documentElement;
					const pref = readPref();
					const mode = resolveMode(pref);
					// data-mode drives Nimbus dark-mode CSS; data-theme is kept for
					// any ported component CSS that still keys off Starlight's attribute.
					if (mode === "dark") root.setAttribute("data-mode", "dark");
					else root.removeAttribute("data-mode");
					root.setAttribute("data-theme", mode);
					root.style.colorScheme = mode;
					// Drive the toggle icon from the root attribute (set here, pre-paint)
					// so it never flashes the SSR default before the toggle script loads.
					root.setAttribute("data-nb-pref", pref); // selected preference
					root.setAttribute("data-nb-state", mode); // resolved (light/dark)
				};

				applyTheme();
				document.addEventListener("astro:after-swap", applyTheme);
				// Live OS changes only move the page when the user is following the
				// system (auto). An explicit light/dark choice is left untouched.
				media.addEventListener("change", () => {
					if (readPref() === "auto") applyTheme();
				});

				// Cross-tab sync.
				window.addEventListener("storage", (e) => {
					if (e.key === KEY) applyTheme();
				});

				window.__nbApplyTheme = applyTheme;
			})();
		</script><title>Create API token · Cloudflare Fundamentals docs</title><meta name="generator" content="Astro v7.1.4"><meta name="generator" content="Nimbus v0.2.2"><meta name="description" content="Learn how to create a token to perform actions using the Cloudflare API."><link rel="shortcut icon" type="image/png" href="/favicon.png"><link rel="stylesheet" href="/_nimbus/shiki.css"><link rel="canonical" href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/"><link rel="sitemap" href="/sitemap-index.xml"><link rel="alternate" type="text/markdown" href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/index.md"><meta property="og:title" content="Create API token"><meta property="og:title" content="Create API token · Cloudflare Fundamentals docs"><meta property="og:type" content="article"><meta property="og:site_name" content="Cloudflare Docs"><meta property="og:locale" content="en"><meta property="og:description" content="Learn how to create a token to perform actions using the Cloudflare API."><meta property="og:url" content="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/"><meta property="image" content="https://developers.cloudflare.com/og-docs.png"><meta property="og:image" content="https://developers.cloudflare.com/og-docs.png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@cloudflare"><meta property="twitter:image" content="https://developers.cloudflare.com/og-docs.png"><meta name="pcx_product" content="Cloudflare Fundamentals"><meta name="algolia_product_filter" content="Cloudflare Fundamentals"><meta name="pcx_content_group" content="Core platform"><meta name="pcx_content_type" content="How to"><meta name="algolia_content_type" content="How to"><meta name="pcx_additional_products" content="Cloudflare Fundamentals,API documentation"><meta name="pcx_last_modified" content="109"><script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/fundamentals/api/get-started/create-token/#page","headline":"Create API token · Cloudflare Fundamentals docs","description":"Learn how to create a token to perform actions using the Cloudflare API.","url":"https://developers.cloudflare.com/fundamentals/api/get-started/create-token/","inLanguage":"en","image":"https://developers.cloudflare.com/og-docs.png","dateModified":"2026-04-20","publisher":{"@type":"Organization","name":"Cloudflare","url":"https://www.cloudflare.com/"},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}</script><script type="module">var e=null;async function t(e){let{query:t,limit:n=5}=e,r=await fetch(`https://ai-search.developers.cloudflare.com/api/ai-search/search`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"cf-ai-search-source":`snippet-search`},body:JSON.stringify({messages:[{role:`user`,content:t}],stream:!1,ai_search_options:{retrieval:{metadata_only:!0,max_num_results:Math.min(Math.max(1,n),20)}}})});if(!r.ok)throw Error(`Search failed: ${r.status} ${r.statusText}`);let i=await r.json();if(!i.success||!i.result)throw Error(i.error??`Search returned an invalid response`);return i.result.chunks.map(({item:e})=>({title:e.metadata?.title??`Untitled`,url:e.key,snippet:e.metadata?.description??``}))}async function n(t){if(e)return e;let n=await fetch(`https://developers.cloudflare.com/llms.txt`);if(!n.ok)throw Error(`Failed to fetch directory: ${n.status} ${n.statusText}`);let r=await n.text(),i=[],a=``;for(let e of r.split(`
`)){let t=/^##\s+(.+)$/.exec(e);if(t){a=t[1].trim();continue}let n=/^-\s+\[([^\]]+)\]\(([^)]+)\)(?::\s+(.*))?$/.exec(e);if(n){let e=n[1].trim(),t=n[2].trim().replace(/\/llms\.txt$/,`/`),r=(n[3]??``).trim();i.push({name:e,url:t,description:r,group:a})}}return e=i,i}function r(){if(!(`modelContext`in navigator)||!navigator.modelContext)return;let e=new AbortController,{signal:r}=e;navigator.modelContext.registerTool({name:`search`,title:`Search Cloudflare Docs`,description:`Full-text search across Cloudflare developer documentation. Returns matching pages with titles, URLs, and content snippets. Use this to find documentation on any Cloudflare product or feature.`,inputSchema:{type:`object`,properties:{query:{type:`string`,description:`The search query`},limit:{type:`integer`,description:`Maximum number of results to return (1–20, default 5)`,default:5,minimum:1,maximum:20}},required:[`query`]},execute:t,annotations:{readOnlyHint:!0}},{signal:r}),navigator.modelContext.registerTool({name:`list-directories`,title:`List Cloudflare Docs Products`,description:`Returns a list of all Cloudflare products available in the developer documentation, including each product's name, docs URL, short description, and category group. Use this to discover what products exist before searching or navigating.`,inputSchema:{type:`object`,properties:{}},execute:n,annotations:{readOnlyHint:!0}},{signal:r}),document.addEventListener(`astro:before-swap`,()=>{e.abort()},{once:!0})}document.addEventListener(`astro:page-load`,r),document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,r):r();</script><link rel="stylesheet" href="/_astro/Header.3T9PbNXw.css"><style>.medium-zoom-overlay{opacity:0;will-change:opacity;transition:opacity .3s;position:fixed;inset:0}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{cursor:pointer;cursor:zoom-out;will-change:transform;position:relative}
.banner-card[data-astro-cid-feslum5t]{border:1px solid color-mix(in oklch, var(--_c) 25%, transparent);background:var(--_t)}.banner-card-body[data-astro-cid-feslum5t] p{margin:0}.banner-card-body[data-astro-cid-feslum5t] p+p{margin-top:.375rem}.banner-card-body[data-astro-cid-feslum5t] a{text-underline-offset:2px;text-decoration:underline}.banner-card-body[data-astro-cid-feslum5t] code:not(:where(pre *)){font-family:var(--nb-font-mono);background:color-mix(in oklch, var(--_c) 10%, transparent);border:1px solid color-mix(in oklch, var(--_c) 15%, transparent);border-radius:.25rem;padding:.0625rem .3125rem;font-size:.8125em}.nb-scroll-track[data-astro-cid-yfiougcv]{stroke:var(--nb-border)}.nb-scroll-progress[data-astro-cid-yfiougcv]{stroke:var(--nb-primary);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}
.aside-card[data-astro-cid-znle5jil]{border:1px solid color-mix(in oklch, var(--_c) 25%, transparent);background:var(--_t)}.aside-card[data-astro-cid-znle5jil]>:first-child,.aside-card[data-astro-cid-znle5jil]>:last-child>:first-child{color:var(--_c)}.aside-card-body[data-astro-cid-znle5jil]{color:var(--nb-foreground)}.aside-card-body[data-astro-cid-znle5jil] p{margin:0}.aside-card-body[data-astro-cid-znle5jil] p+p{margin-top:.375rem}.aside-card-body[data-astro-cid-znle5jil] a{text-underline-offset:2px;text-decoration:underline}.aside-card-body[data-astro-cid-znle5jil] code:not(:where(pre *)){font-family:var(--nb-font-mono);background:color-mix(in oklch, var(--_c) 10%, transparent);border:1px solid color-mix(in oklch, var(--_c) 15%, transparent);border-radius:.25rem;padding:.0625rem .3125rem;font-size:.8125em}.aside-card-body[data-astro-cid-znle5jil] strong{color:inherit;font-weight:600}.aside-card-body[data-astro-cid-znle5jil] .astro-code{margin:.75rem 0}
[data-nb-collapsible-trigger][data-nb-state=open] [data-nb-caret]{rotate:90deg}[data-nb-sidebar-hidden]{display:none}
.file-tree[data-astro-cid-mo2qcc7j]{font-family:var(--nb-font-mono);background:var(--nb-card);box-shadow:0 0 0 1px var(--nb-border);border-radius:.5rem;margin:1rem 0;padding:.75rem 1rem;font-size:.875rem;line-height:1}.file-tree[data-astro-cid-mo2qcc7j] p{margin:0;display:inline}.file-tree[data-astro-cid-mo2qcc7j] ul{margin:0;padding:0 0 0 1.25rem;list-style:none}.file-tree[data-astro-cid-mo2qcc7j]>ul{padding-left:0}.file-tree[data-astro-cid-mo2qcc7j] ul ul{position:relative}.file-tree[data-astro-cid-mo2qcc7j] ul ul:before{content:"";background:var(--nb-border);pointer-events:none;width:1px;position:absolute;top:0;bottom:.25rem;left:.4375rem}.file-tree[data-astro-cid-mo2qcc7j] li{color:var(--nb-foreground);margin:0;padding-top:.0625rem;padding-bottom:.0625rem;position:relative}.file-tree[data-astro-cid-mo2qcc7j] details{margin:0}.file-tree[data-astro-cid-mo2qcc7j] summary{cursor:pointer;user-select:none;border-radius:.375rem;align-items:center;gap:.5rem;margin:0 -.375rem;padding:.3125rem .375rem;list-style:none;transition:background .12s;display:flex}.file-tree[data-astro-cid-mo2qcc7j] summary::-webkit-details-marker{display:none}.file-tree[data-astro-cid-mo2qcc7j] summary::marker{content:"";display:none}.file-tree[data-astro-cid-mo2qcc7j] summary:hover{background:var(--nb-accent)}.file-tree[data-astro-cid-mo2qcc7j] [data-file]{cursor:default;border-radius:.375rem;align-items:center;gap:.5rem;margin:0 -.375rem;padding:.3125rem .375rem;display:flex}.file-tree[data-astro-cid-mo2qcc7j] .ft-chev{width:.875rem;height:.875rem;color:var(--nb-muted-foreground);flex-shrink:0;transition:transform .15s}.file-tree[data-astro-cid-mo2qcc7j] details[open]>summary>.ft-chev{transform:rotate(90deg)}.file-tree[data-astro-cid-mo2qcc7j] .ft-icon{width:.875rem;height:.875rem;color:var(--nb-muted-foreground);flex-shrink:0}.file-tree[data-astro-cid-mo2qcc7j] .ft-sp{flex-shrink:0;width:.875rem}.file-tree[data-astro-cid-mo2qcc7j] .ft-label{white-space:nowrap;min-width:0}.file-tree[data-astro-cid-mo2qcc7j] strong{color:var(--nb-foreground);font-weight:600}.file-tree[data-astro-cid-mo2qcc7j] [data-placeholder]{color:var(--nb-muted-foreground);letter-spacing:.1em;align-items:center;gap:.5rem;margin:0 -.375rem;padding:.3125rem .375rem;display:flex}
.steps[data-astro-cid-sfejetki]{--_start:var(--steps-start,1);counter-reset:step calc(var(--_start) - 1);margin:1.5rem 0}.steps[data-astro-cid-sfejetki] ol{counter-reset:step calc(var(--_start) - 1);margin:0;padding:0;list-style:none}.steps[data-astro-cid-sfejetki] ol>li,.steps[data-astro-cid-sfejetki] [data-step]{counter-increment:step;min-height:1.75rem;margin:0;padding-bottom:1.5rem;padding-left:2.5rem;position:relative}.steps[data-astro-cid-sfejetki] ol>li:last-child,.steps[data-astro-cid-sfejetki] [data-step]:last-child{padding-bottom:0}.steps[data-astro-cid-sfejetki] ol>li>*+*,.steps[data-astro-cid-sfejetki] [data-step]>*+*{margin-top:.5rem}.steps[data-astro-cid-sfejetki] ol>li:before,.steps[data-astro-cid-sfejetki] [data-step]:before{content:counter(step);background:var(--nb-accent);width:1.75rem;height:1.75rem;color:var(--nb-foreground);border:1px solid var(--nb-border-strong);z-index:1;border-radius:.5rem;place-items:center;font-size:.6875rem;font-weight:600;display:grid;position:absolute;top:0;left:0}.steps[data-astro-cid-sfejetki] ol>li:not(:last-child):after,.steps[data-astro-cid-sfejetki] [data-step]:not(:last-child):after{content:"";background:var(--nb-border);width:1.5px;position:absolute;top:1.75rem;bottom:0;left:calc(.875rem - .75px)}.steps[data-astro-cid-sfejetki] ol>li>p:first-child>strong:only-child{color:var(--nb-foreground)}.steps[data-astro-cid-sfejetki] ol>li>p{margin:0}
summary[data-astro-cid-nziubcoq] p{margin:0;display:inline}
.prose>.feature:not(.feature+.feature){border-top:none}.feature-description[data-astro-cid-xzyjxe2g] p{margin:0}.feature-description[data-astro-cid-xzyjxe2g] p+p{margin-top:.375rem}.feature-description[data-astro-cid-xzyjxe2g] a{color:var(--color-foreground);text-underline-offset:2px;text-decoration:underline #0000;transition:text-decoration-color .15s}.feature-description[data-astro-cid-xzyjxe2g] a:hover{text-decoration-color:currentColor}
.glossary-tooltip[data-astro-cid-hklyqugd]{border-bottom:2px dashed var(--nb-border-strong);cursor:help}
</style><script type="module" src="/_astro/page.Dv3oULGt.js"></script><style>animated-workflow-diagram[data-astro-cid-efko65q2]{width:100%;position:relative}.diagram-container[data-astro-cid-efko65q2]{width:100%;max-width:400px;margin:0 auto;padding:0;position:relative}animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-line{z-index:0;background-color:#d4d4d4;width:2px;position:absolute;left:50%;transform:translate(-50%)}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-line{background-color:#404040}animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node{justify-content:center;margin-bottom:.75rem;display:flex;position:relative}animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node:last-child{margin-bottom:0}animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node-card{background:#fff;border:1px solid #e5e5e5;border-radius:.5rem;align-items:center;gap:.5rem;width:280px;padding:.5rem .75rem;display:flex}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node-card{background:#171717;border-color:#404040}animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.running .workflow-node-card,animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.completed .workflow-node-card{border-color:#a3a3a3}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.running .workflow-node-card,:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.completed .workflow-node-card{border-color:#737373}animated-workflow-diagram[data-astro-cid-efko65q2] .step-badge{color:#737373;background-color:#f5f5f5;border-radius:.25rem;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;display:inline-flex}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .step-badge{color:#a3a3a3;background-color:#262626}animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.running .step-badge,animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.completed .step-badge{color:#404040;background-color:#e5e5e5}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.running .step-badge,:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .workflow-node.completed .step-badge{color:#d4d4d4;background-color:#404040}animated-workflow-diagram[data-astro-cid-efko65q2] .step-badge svg{width:.75rem;height:.75rem}animated-workflow-diagram[data-astro-cid-efko65q2] .step-badge svg.animate-spin{animation:1s linear infinite spin}animated-workflow-diagram[data-astro-cid-efko65q2] .step-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;margin-top:0;display:flex}animated-workflow-diagram[data-astro-cid-efko65q2] .step-name{color:#171717;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .step-name{color:#f5f5f5}animated-workflow-diagram[data-astro-cid-efko65q2] .step-description{color:#737373;font-size:.625rem}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .step-description{color:#a3a3a3}animated-workflow-diagram[data-astro-cid-efko65q2] .start-end-node{justify-content:center;margin-bottom:.75rem;display:flex;position:relative}animated-workflow-diagram[data-astro-cid-efko65q2] .start-end-node:last-child{margin-bottom:0}animated-workflow-diagram[data-astro-cid-efko65q2] .start-end-btn{color:#fff;text-transform:uppercase;letter-spacing:.05em;cursor:default;background-color:#171717;border:none;border-radius:9999px;padding:.375rem 1rem;font-size:.6875rem;font-weight:600}:root[data-mode=dark] animated-workflow-diagram[data-astro-cid-efko65q2] .start-end-btn{background-color:#404040}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){animated-workflow-diagram[data-astro-cid-efko65q2] .step-badge svg{animation:none!important}}
</style><link rel="stylesheet" href="/_astro/2026-06-05-gateway-egress.B1e7uZqc.css"><link rel="stylesheet" href="/_astro/AiSearchNamespacesDiagram.CXeRBStW.css"><link rel="stylesheet" href="/_astro/AutoconfigDiagram.DrobL_R0.css"><link rel="stylesheet" href="/_astro/MeshHostnameRoutingDiagram.Bw0PGEGW.css"><link rel="stylesheet" href="/_astro/agents.Cf11kM64.css"><link rel="stylesheet" href="/_astro/ai-search.B2XDpJTl.css"><link rel="stylesheet" href="/_astro/how-ai-search-works.ayxX7OSG.css"><link rel="stylesheet" href="/_astro/how-workers-works.Dwn_Sx3-.css"><link rel="stylesheet" href="/_astro/local-uploads.BMZvIo6T.css"><link rel="stylesheet" href="/_astro/talk-to-your-knowledge-base.CKcO7pti.css"><link rel="stylesheet" href="/_astro/workers-vpc.FN4NJ9Ms.css"></head><body class="bg-background text-foreground min-h-screen"><a href="#main-content" class="focus:bg-primary focus:text-primary-foreground focus-visible:outline-ring sr-only focus:not-sr-only focus:absolute focus:top-2 focus:left-2 focus:z-100 focus:rounded-md focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:no-underline focus-visible:outline-2 focus-visible:outline-offset-2">Skip to content</a><blockquote class="llms-txt-directive" aria-hidden="true" data-astro-cid-f4apggxk>Documentation Index<br data-astro-cid-f4apggxk>Fetch the complete documentation index at: https://developers.cloudflare.com/fundamentals/llms.txt<br data-astro-cid-f4apggxk>Use this file to discover all available pages before exploring further.</blockquote><div class="flex min-h-screen flex-col"><header class="border-border sticky top-0 z-30 border-b"><div aria-hidden="true" class="bg-card/80 pointer-events-none absolute inset-0 backdrop-blur-lg"></div><div class="relative mx-auto flex h-14 items-center justify-between px-4 lg:px-6"><div class="flex items-center gap-3"><a href="/" aria-label="Cloudflare Docs" class="group flex items-center gap-2 lg:w-[calc(var(--nb-sidebar-width)-3.25rem-1px)] lg:shrink-0"><img src="/_astro/logo.DMYpXs3t.svg" alt="" width="51" height="23" class="h-[20px] w-auto"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 719 59" fill="none" role="img" aria-label="Cloudflare" class="text-foreground group-hover:text-primary hidden h-[11px] w-auto transition-colors sm:block"><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor"></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor"></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor"></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor"></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor"></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor"></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor"></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor"></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor"></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor"></path></svg><span class="text-foreground/70 border-border-strong hidden rounded-md border px-1.5 py-0.5 text-[11px] leading-none font-semibold tracking-[0.08em] uppercase sm:inline-block">Docs</span></a><nav aria-label="Sections" class="border-border ml-4 hidden h-6 items-center gap-1 border-l pl-4 md:flex"><a href="/directory/" class="rounded-md px-2 py-1 text-[0.8125rem] font-medium no-underline transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/60">Directory</a><a href="/api/" class="rounded-md px-2 py-1 text-[0.8125rem] font-medium no-underline transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/60">API</a><a href="/fundamentals/api/reference/sdks/" class="rounded-md px-2 py-1 text-[0.8125rem] font-medium no-underline transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/60">SDKs</a><a href="/changelog/" class="rounded-md px-2 py-1 text-[0.8125rem] font-medium no-underline transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/60">Changelog</a></nav></div><div class="flex items-center gap-2"><cfdocs-search id="search" data-astro-transition-persist="search"><button type="button" class="search-button" aria-label="Search" data-search-trigger><svg width="20" height="20" class="search-icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="search-placeholder">Search</span><span class="search-keys"><kbd class="search-key" data-search-shortcut-modifier>Ctrl</kbd><kbd class="search-key">K</kbd></span></button><search-modal-snippet api-url="https://ai-search.developers.cloudflare.com/api/ai-search" placeholder="Search documentation..." max-results="50" max-render-results="10" group-by="product" hide-thumbnails="true" show-url="false"></search-modal-snippet></cfdocs-search><script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.DCsHo38W.js"></script><a href="https://github.com/cloudflare/cloudflare-docs" data-nb-button class="group shrink-0 items-center justify-center font-medium whitespace-nowrap no-underline transition-colors cursor-pointer select-none focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 bg-transparent shadow-none hover:bg-accent size-9 p-0 rounded-lg text-muted-foreground hidden sm:flex" aria-label="GitHub" target="_blank" rel="noopener"><svg width="1em" height="1em" class="h-4 w-4" data-icon="ph:github-logo"><symbol id="ai:ph:github-logo" viewBox="0 0 256 256"><path fill="currentColor" d="M208.31 75.68A59.78 59.78 0 0 0 202.93 28a8 8 0 0 0-6.93-4a59.75 59.75 0 0 0-48 24h-24a59.75 59.75 0 0 0-48-24a8 8 0 0 0-6.93 4a59.78 59.78 0 0 0-5.38 47.68A58.14 58.14 0 0 0 56 104v8a56.06 56.06 0 0 0 48.44 55.47A39.8 39.8 0 0 0 96 192v8H72a24 24 0 0 1-24-24a40 40 0 0 0-40-40a8 8 0 0 0 0 16a24 24 0 0 1 24 24a40 40 0 0 0 40 40h24v16a8 8 0 0 0 16 0v-40a24 24 0 0 1 48 0v40a8 8 0 0 0 16 0v-40a39.8 39.8 0 0 0-8.44-24.53A56.06 56.06 0 0 0 216 112v-8a58.14 58.14 0 0 0-7.69-28.32M200 112a40 40 0 0 1-40 40h-48a40 40 0 0 1-40-40v-8a41.74 41.74 0 0 1 6.9-22.48a8 8 0 0 0 1.1-7.69a43.8 43.8 0 0 1 .79-33.58a43.88 43.88 0 0 1 32.32 20.06a8 8 0 0 0 6.71 3.69h32.35a8 8 0 0 0 6.74-3.69a43.87 43.87 0 0 1 32.32-20.06a43.8 43.8 0 0 1 .77 33.58a8.09 8.09 0 0 0 1 7.65a41.7 41.7 0 0 1 7 22.52Z"/></symbol><use href="#ai:ph:github-logo"></use></svg></a><button data-nb-theme-toggle class="group flex items-center justify-center w-8 h-8 rounded-md text-muted-foreground hover:text-foreground hover:bg-accent transition-colors" aria-label="Toggle theme (light, dark, system)"><svg width="1em" height="1em" class="nb-theme-ico nb-theme-ico-light h-[1.125rem] w-[1.125rem]" data-icon="ph:sun"><symbol id="ai:ph:sun" viewBox="0 0 256 256"><path fill="currentColor" d="M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0m72 88a64 64 0 1 1-64-64a64.07 64.07 0 0 1 64 64m-16 0a48 48 0 1 0-48 48a48.05 48.05 0 0 0 48-48M58.34 69.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68l-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32M192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72m5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8m80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8m112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16"/></symbol><use href="#ai:ph:sun"></use></svg><svg width="1em" height="1em" class="nb-theme-ico nb-theme-ico-dark h-[1.125rem] w-[1.125rem]" data-icon="ph:moon"><symbol id="ai:ph:moon" viewBox="0 0 256 256"><path fill="currentColor" d="M233.54 142.23a8 8 0 0 0-8-2a88.08 88.08 0 0 1-109.8-109.8a8 8 0 0 0-10-10a104.84 104.84 0 0 0-52.91 37A104 104 0 0 0 136 224a103.1 103.1 0 0 0 62.52-20.88a104.84 104.84 0 0 0 37-52.91a8 8 0 0 0-1.98-7.98m-44.64 48.11A88 88 0 0 1 65.66 67.11a89 89 0 0 1 31.4-26A106 106 0 0 0 96 56a104.11 104.11 0 0 0 104 104a106 106 0 0 0 14.92-1.06a89 89 0 0 1-26.02 31.4"/></symbol><use href="#ai:ph:moon"></use></svg><svg width="1em" height="1em" class="nb-theme-ico nb-theme-ico-auto h-[1.125rem] w-[1.125rem]" data-icon="ph:monitor"><symbol id="ai:ph:monitor" viewBox="0 0 256 256"><path fill="currentColor" d="M208 40H48a24 24 0 0 0-24 24v112a24 24 0 0 0 24 24h160a24 24 0 0 0 24-24V64a24 24 0 0 0-24-24m8 136a8 8 0 0 1-8 8H48a8 8 0 0 1-8-8V64a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8Zm-48 48a8 8 0 0 1-8 8H96a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8"/></symbol><use href="#ai:ph:monitor"></use></svg></button><script type="module" src="/_astro/ThemeToggle.astro_astro_type_script_index_0_lang.DrgserwX.js"></script><div class="bg-border mx-1.5 hidden h-4 w-px shrink-0 md:block" role="separator"></div><a href="https://dash.cloudflare.com/" data-nb-button class="group w-max shrink-0 items-center justify-center rounded-full font-medium whitespace-nowrap no-underline shadow-xs transition-colors cursor-pointer select-none focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary-hover h-9 gap-1.5 px-3 text-sm hidden md:inline-flex" id="header-login-button">Log in</a><button type="button" data-nb-button class="group inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap no-underline transition-colors cursor-pointer select-none focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 bg-transparent shadow-none hover:bg-accent size-9 p-0 rounded-lg text-muted-foreground lg:hidden" aria-label="Open navigation" data-menu-btn="true"><svg width="1em" height="1em" class="h-4 w-4" data-icon="ph:list"><symbol id="ai:ph:list" viewBox="0 0 256 256"><path fill="currentColor" d="M224 128a8 8 0 0 1-8 8H40a8 8 0 0 1 0-16h176a8 8 0 0 1 8 8M40 72h176a8 8 0 0 0 0-16H40a8 8 0 0 0 0 16m176 112H40a8 8 0 0 0 0 16h176a8 8 0 0 0 0-16"/></symbol><use href="#ai:ph:list"></use></svg></button></div></div></header><div class="mx-auto flex w-full flex-1 flex-col"><div class="flex flex-1"><aside id="desktop-sidebar" data-nb-desktop-sidebar class="border-border relative sticky top-14 hidden max-h-[calc(100vh-3.5rem)] w-(--nb-sidebar-width) shrink-0 flex-col overflow-y-auto border-r lg:flex"><div data-sidebar-home class="flex-1"><nav data-shared-sidebar-nav class="flex-1 pb-12 max-lg:pb-8"><div class="bg-background z-10 px-4 pb-3 lg:sticky lg:top-0"><div class="flex items-center gap-1 py-2.5"><a href="/" aria-label="All products" class="text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-ring flex size-10 shrink-0 items-center justify-center rounded-lg transition-[background-color,color,scale] duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-1 active:scale-[0.96]"><svg width="1em" height="1em" aria-hidden="true" class="h-[1.125rem] w-[1.125rem]" data-icon="ph:squares-four"><symbol id="ai:ph:squares-four" viewBox="0 0 256 256"><path fill="currentColor" d="M104 40H56a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h48a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16m0 64H56V56h48zm96-64h-48a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h48a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16m0 64h-48V56h48zm-96 32H56a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h48a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16m0 64H56v-48h48zm96-64h-48a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h48a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16m0 64h-48v-48h48z"/></symbol><use href="#ai:ph:squares-four"></use></svg></a><span class="bg-border mx-0.5 h-5 w-px shrink-0" aria-hidden="true"></span><a href="/fundamentals/" class="hover:bg-accent focus-visible:outline-ring flex min-h-10 min-w-0 flex-1 items-center rounded-lg px-2.5 no-underline transition-[background-color,scale] duration-150 focus-visible:outline-2 focus-visible:outline-offset-1 active:scale-[0.96]"><span class="text-foreground truncate text-sm font-semibold">Cloudflare Fundamentals</span></a></div><div class="relative mb-0"><input data-nb-sidebar-filter-input type="search" placeholder="Filter sidebar" class="peer border-border bg-card text-foreground placeholder:text-muted-foreground focus-visible:border-brand focus-visible:outline-ring w-full rounded-md border py-1.5 pr-9 pl-3 text-sm transition-colors focus-visible:outline-2 [&amp;:not(:placeholder-shown)]:pr-2" aria-label="Filter navigation" autocomplete="off"><kbd aria-hidden="true" class="border-border bg-muted text-muted-foreground pointer-events-none absolute top-1/2 right-2 flex h-5 min-w-5 -translate-y-1/2 items-center justify-center rounded border px-1 font-mono text-[0.6875rem] leading-none font-semibold transition-opacity duration-150 peer-focus:opacity-0 peer-[:not(:placeholder-shown)]:opacity-0 motion-reduce:transition-none">/</kbd></div></div><div class="px-4 pt-2"><div data-nb-sidebar data-nb-sidebar-hash="194922q" data-nb-sidebar-persist class><ul class="top-level flex list-none flex-col gap-0.5 p-0"><li><a href="/fundamentals/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Concepts</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/concepts/how-cloudflare-works/" data-nb-sidebar-link><span class="break-words">How Cloudflare DNS works</span></a></li><li><a href="/fundamentals/concepts/traffic-flow-cloudflare/" data-nb-sidebar-link><span class="break-words">Traffic flow through Cloudflare</span></a></li><li><a href="/fundamentals/concepts/accounts-and-zones/" data-nb-sidebar-link><span class="break-words">Accounts, zones, and profiles</span></a></li><li><a href="/fundamentals/concepts/cloudflare-ip-addresses/" data-nb-sidebar-link><span class="break-words">Cloudflare IP addresses</span></a></li></ul></div></div></div><script type="module" src="/_astro/Collapsible.astro_astro_type_script_index_0_lang.AUeK72MC.js"></script></li><li><a href="/fundamentals/get-started/" data-nb-sidebar-link><span class="break-words">Get started</span></a></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Accounts</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/account/create-account/" data-nb-sidebar-link><span class="break-words">Create account</span></a></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Account security</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/account/account-security/abuse-contact/" data-nb-sidebar-link><span class="break-words">Add abuse contact</span></a></li><li><a href="/fundamentals/account/account-security/cloudflare-access/" data-nb-sidebar-link><span class="break-words">Allow Cloudflare access</span></a></li><li><a href="/fundamentals/account/account-security/leaked-password-notifications/" data-nb-sidebar-link><span class="break-words">Leaked Password Notifications</span></a></li><li><a href="/fundamentals/account/account-security/manage-active-sessions/" data-nb-sidebar-link><span class="break-words">Manage active sessions</span></a></li><li><a href="/fundamentals/account/account-security/review-audit-logs/" data-nb-sidebar-link><span class="break-words">Review audit logs - v1</span></a></li><li><a href="/fundamentals/account/account-security/audit-logs/" data-nb-sidebar-link><span class="break-words">Audit Logs - v2</span></a></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">SCIM provisioning</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/account/account-security/scim-setup/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><a href="/fundamentals/account/account-security/scim-setup/authentik/" data-nb-sidebar-link><span class="break-words">Authentik</span></a></li><li><a href="/fundamentals/account/account-security/scim-setup/entra/" data-nb-sidebar-link><span class="break-words">Microsoft Entra</span></a></li><li><a href="/fundamentals/account/account-security/scim-setup/okta/" data-nb-sidebar-link><span class="break-words">Okta</span></a></li><li><a href="/fundamentals/account/account-security/scim-setup/troubleshooting/" data-nb-sidebar-link><span class="break-words">Troubleshooting</span></a></li></ul></div></div></div></li><li><a href="/fundamentals/account/account-security/secure-a-compromised-account/" data-nb-sidebar-link><span class="break-words">Secure compromised account</span></a></li><li><a href="/fundamentals/manage-members/dashboard-sso/" data-nb-sidebar-link><span class="break-words">Set up SSO ↗</span></a></li><li><a href="/fundamentals/account/account-security/zone-holds/" data-nb-sidebar-link><span class="break-words">Zone holds</span></a></li></ul></div></div></div></li><li><a href="/fundamentals/account/find-account-and-zone-ids/" data-nb-sidebar-link><span class="break-words">Find account and zone IDs</span></a></li><li><a href="/fundamentals/account/change-super-admin/" data-nb-sidebar-link><span class="break-words">Change Super Administrator</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Organizations</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-warning-muted text-warning px-2 py-0.5 text-xs">Beta</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/organizations/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><a href="/fundamentals/organizations/for-enterprise/" data-nb-sidebar-link><span class="break-words">Organizations for Enterprise</span></a></li><li><a href="/fundamentals/organizations/for-mssp-distributors/" data-nb-sidebar-link><span class="break-words">Organizations for MSSP and Distributors</span></a></li><li><a href="/fundamentals/organizations/policy-sharing/" data-nb-sidebar-link><span class="break-words">Policy sharing</span></a></li><li><a href="/fundamentals/organizations/limitations/" data-nb-sidebar-link><span class="break-words">Limitations and troubleshooting</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Members and permissions</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/manage-members/" data-nb-sidebar-link><span class="break-words">Members and permissions</span></a></li><li><a href="/fundamentals/manage-members/manage/" data-nb-sidebar-link><span class="break-words">Manage</span></a></li><li><a href="/fundamentals/manage-members/policies/" data-nb-sidebar-link><span class="break-words">Policies</span></a></li><li><a href="/fundamentals/manage-members/roles/" data-nb-sidebar-link><span class="break-words">Roles</span></a></li><li><a href="/fundamentals/manage-members/scope/" data-nb-sidebar-link><span class="break-words">Role scopes</span></a></li><li><a href="/fundamentals/manage-members/user-groups/" data-nb-sidebar-link><span class="break-words">User Groups</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-info-muted text-info px-2 py-0.5 text-xs">New</span></a></li><li><a href="/fundamentals/manage-members/dashboard-sso/" data-nb-sidebar-link><span class="break-words">Set up dashboard SSO</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">User profiles</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/user-profiles/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><a href="/fundamentals/user-profiles/verify-email-address/" data-nb-sidebar-link><span class="break-words">Verify email address</span></a></li><li><a href="/fundamentals/user-profiles/login/" data-nb-sidebar-link><span class="break-words">Log in to Cloudflare</span></a></li><li><a href="/fundamentals/user-profiles/customize-account/" data-nb-sidebar-link><span class="break-words">Profile settings</span></a></li><li><a href="/fundamentals/user-profiles/account-recovery/" data-nb-sidebar-link><span class="break-words">Account recovery</span></a></li><li><a href="/fundamentals/user-profiles/delete-account/" data-nb-sidebar-link><span class="break-words">Delete your Cloudflare account</span></a></li><li><a href="/fundamentals/user-profiles/change-password-or-email/" data-nb-sidebar-link><span class="break-words">Email address and password</span></a></li><li><a href="/fundamentals/user-profiles/multi-factor-email-authentication/" data-nb-sidebar-link><span class="break-words">Multi-Factor Email Authentication</span></a></li><li><a href="/fundamentals/user-profiles/2fa/" data-nb-sidebar-link><span class="break-words">Two-factor authentication</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Domains</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/manage-domains/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><a href="/fundamentals/manage-domains/add-multiple-sites-automation/" data-nb-sidebar-link><span class="break-words">Add multiple sites via automation</span></a></li><li><a href="/fundamentals/manage-domains/domain-version/" data-nb-sidebar-link><span class="break-words">Change your domain version</span></a></li><li><a href="/fundamentals/manage-domains/manage-subdomains/" data-nb-sidebar-link><span class="break-words">Manage subdomains</span></a></li><li><a href="/fundamentals/manage-domains/move-domain/" data-nb-sidebar-link><span class="break-words">Move a domain between Cloudflare accounts</span></a></li><li><a href="/fundamentals/manage-domains/add-site/" data-nb-sidebar-link><span class="break-words">Onboard a domain</span></a></li><li><a href="/fundamentals/manage-domains/pause-cloudflare/" data-nb-sidebar-link><span class="break-words">Pause Cloudflare</span></a></li><li><a href="/fundamentals/manage-domains/redirect-domain/" data-nb-sidebar-link><span class="break-words">Redirect one domain to another</span></a></li><li><a href="/fundamentals/manage-domains/remove-domain/" data-nb-sidebar-link><span class="break-words">Remove a domain</span></a></li><li><a href="/fundamentals/manage-domains/star-zones/" data-nb-sidebar-link><span class="break-words">Star domains</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Performance</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/performance/improve-seo/" data-nb-sidebar-link><span class="break-words">Improve SEO</span></a></li><li><a href="/fundamentals/performance/maintenance-mode/" data-nb-sidebar-link><span class="break-words">Maintenance mode</span></a></li><li><a href="/fundamentals/performance/minimize-downtime/" data-nb-sidebar-link><span class="break-words">Minimize downtime</span></a></li><li><a href="/speed/" data-nb-sidebar-link><span class="break-words">Optimize site speed ↗</span></a></li><li><a href="/learning-paths/surge-readiness/concepts/" data-nb-sidebar-link><span class="break-words">Prepare for surges or spikes in web traffic ↗</span></a></li><li><a href="/fundamentals/performance/test-speed/" data-nb-sidebar-link><span class="break-words">Test speed</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Security</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/learning-paths/prevent-ddos-attacks/concepts/" data-nb-sidebar-link><span class="break-words">Prevent DDoS attacks ↗</span></a></li><li><a href="/fundamentals/security/protect-your-origin-server/" data-nb-sidebar-link><span class="break-words">Protect your origin server</span></a></li><li><a href="/fundamentals/security/recovering-from-hacked-site/" data-nb-sidebar-link><span class="break-words">Recovering from a hacked site</span></a></li><li><a href="/fundamentals/security/pci-scans/" data-nb-sidebar-link><span class="break-words">Scan for PCI compliance</span></a></li><li><a href="/learning-paths/application-security/account-security/" data-nb-sidebar-link><span class="break-words">Secure your website ↗</span></a></li><li><a href="/fundamentals/security/under-ddos-attack/" data-nb-sidebar-link><span class="break-words">Under a DDoS attack?</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible data-nb-default-open="true" class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-active data-nb-state="open" aria-expanded="true"><span data-nb-sidebar-group-text><span class="break-words">Cloudflare&#39;s API</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="open"><div><ul data-nb-sidebar-sublist><li><div data-nb-collapsible data-nb-default-open="true" class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-active data-nb-state="open" aria-expanded="true"><span data-nb-sidebar-group-text><span class="break-words">Get started</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="open"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/api/get-started/create-token/" aria-current="page" data-nb-sidebar-link><span class="break-words">Create API token</span></a></li><li><a href="/fundamentals/api/get-started/keys/" data-nb-sidebar-link><span class="break-words">Get Global API key (legacy)</span></a></li><li><a href="/fundamentals/api/get-started/ca-keys/" data-nb-sidebar-link><span class="break-words">Get Origin CA keys</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-danger-muted text-danger px-2 py-0.5 text-xs">Deprecated</span></a></li><li><a href="/fundamentals/api/get-started/token-formats/" data-nb-sidebar-link><span class="break-words">Token formats</span></a></li><li><a href="/fundamentals/api/get-started/account-owned-tokens/" data-nb-sidebar-link><span class="break-words">Account API tokens</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">How to</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/api/how-to/make-api-calls/" data-nb-sidebar-link><span class="break-words">Make API calls</span></a></li><li><a href="/fundamentals/api/how-to/create-via-api/" data-nb-sidebar-link><span class="break-words">Create tokens via API</span></a></li><li><a href="/fundamentals/api/how-to/control-api-access/" data-nb-sidebar-link><span class="break-words">Control API Access</span></a></li><li><a href="/fundamentals/api/how-to/restrict-tokens/" data-nb-sidebar-link><span class="break-words">Restrict tokens</span></a></li><li><a href="/fundamentals/api/how-to/roll-token/" data-nb-sidebar-link><span class="break-words">Roll tokens</span></a></li><li><a href="/fundamentals/api/how-to/account-owned-token-template/" data-nb-sidebar-link><span class="break-words">API token template URLs</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Reference</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/api/" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">REST API ↗</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-info-muted text-info px-2 py-0.5 text-xs">API</span></a></li><li><a href="/analytics/graphql-api/" data-nb-sidebar-link><span class="break-words">GraphQL API ↗</span></a></li><li><a href="/workers/wrangler/api/" data-nb-sidebar-link><span class="break-words">Wrangler API ↗</span></a></li><li><a href="/fundamentals/api/reference/permissions/" data-nb-sidebar-link><span class="break-words">API token permissions</span></a></li><li><a href="/fundamentals/api/reference/deprecations/" data-nb-sidebar-link><span class="break-words">API deprecations</span></a></li><li><a href="/fundamentals/api/reference/template/" data-nb-sidebar-link><span class="break-words">API token templates</span></a></li><li><a href="/fundamentals/api/reference/limits/" data-nb-sidebar-link><span class="break-words">Rate limits</span></a></li><li><a href="/fundamentals/api/reference/sdks/" data-nb-sidebar-link><span class="break-words">SDKs</span></a></li></ul></div></div></div></li><li><a href="/fundamentals/api/troubleshooting/" data-nb-sidebar-link><span class="break-words">Troubleshooting</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">OAuth Applications on Cloudflare</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/oauth/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><a href="/fundamentals/oauth/create-an-oauth-client/" data-nb-sidebar-link><span class="break-words">Create your OAuth client</span></a></li><li><a href="/fundamentals/oauth/integrate-with-cloudflare/" data-nb-sidebar-link><span class="break-words">Integrate your OAuth client with Cloudflare</span></a></li><li><a href="/fundamentals/oauth/authorizing-an-application/" data-nb-sidebar-link><span class="break-words">Authorizing an application</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Reference</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Migration guides</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/reference/migration-guides/scim-virtual-groups-migration/" data-nb-sidebar-link><span class="break-words">SCIM migration</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Policies</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/reference/policies-compliances/cloudflare-cookies/" data-nb-sidebar-link><span class="break-words">Cloudflare Cookies</span></a></li><li><a href="/fundamentals/reference/policies-compliances/compliance-docs/" data-nb-sidebar-link><span class="break-words">Compliance documentation</span></a></li><li><a href="/fundamentals/reference/policies-compliances/content-security-policies/" data-nb-sidebar-link><span class="break-words">Content Security Policies (CSPs)</span></a></li><li><a href="/fundamentals/reference/policies-compliances/delivering-videos-with-cloudflare/" data-nb-sidebar-link><span class="break-words">Delivering Videos with Cloudflare</span></a></li><li><a href="/fundamentals/reference/policies-compliances/licenses/" data-nb-sidebar-link><span class="break-words">Licenses</span></a></li><li><a href="/fundamentals/reference/policies-compliances/cybersafe/" data-nb-sidebar-link><span class="break-words">Project Cybersafe Schools</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Abuse</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/reference/report-abuse/" data-nb-sidebar-link><span class="break-words">Overview</span></a></li><li><a href="https://www.cloudflare.com/trust-hub/abuse-approach/" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Review abuse policies</span></a></li><li><a href="/fundamentals/reference/report-abuse/complaint-types/" data-nb-sidebar-link><span class="break-words">Complaint types</span></a></li><li><a href="/fundamentals/reference/report-abuse/provide-specific-urls/" data-nb-sidebar-link><span class="break-words">Providing specific URLs</span></a></li><li><a href="/fundamentals/reference/report-abuse/abuse-report-obligations/" data-nb-sidebar-link><span class="break-words">Customer abuse report obligations</span></a></li><li><a href="/fundamentals/reference/report-abuse/submit-report/" data-nb-sidebar-link><span class="break-words">View and submit reports</span></a></li><li><a href="/fundamentals/reference/report-abuse/blocked-content/" data-nb-sidebar-link><span class="break-words">Blocked Content</span></a></li></ul></div></div></div></li><li><a href="/fundamentals/reference/sdk-ecosystem-support-policy/" data-nb-sidebar-link><span class="break-words">SDK ecosystem support policy</span></a></li><li><a href="/fundamentals/reference/troubleshooting/" data-nb-sidebar-link><span class="break-words">Troubleshooting</span></a></li><li><a href="/fundamentals/reference/cdn-cgi-endpoint/" data-nb-sidebar-link><span class="break-words">/cdn-cgi/ endpoint</span></a></li><li><a href="/fundamentals/reference/best-practices/" data-nb-sidebar-link><span class="break-words">Account and domain management best practices</span></a></li><li><a href="/fundamentals/reference/google-analytics/" data-nb-sidebar-link><span class="break-words">Cloudflare and Google Analytics</span></a></li><li><a href="/fundamentals/reference/cloudflare-site-crawling/" data-nb-sidebar-link><span class="break-words">Cloudflare crawlers</span></a></li><li><a href="/fundamentals/reference/http-headers/" data-nb-sidebar-link><span class="break-words">Cloudflare HTTP headers</span></a></li><li><a href="/fundamentals/reference/cloudflare-ray-id/" data-nb-sidebar-link><span class="break-words">Cloudflare Ray ID</span></a></li><li><a href="/fundamentals/reference/cloudy-ai-agent/" data-nb-sidebar-link><span class="break-words">Cloudy AI agent</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-warning-muted text-warning px-2 py-0.5 text-xs">Beta</span></a></li><li><a href="/fundamentals/reference/connection-limits/" data-nb-sidebar-link><span class="break-words">Connection limits</span></a></li><li><a href="/fundamentals/reference/cryptographic-personhood/" data-nb-sidebar-link><span class="break-words">Cryptographic Attestation of Personhood</span></a></li><li><a href="/fundamentals/reference/error-responses/" data-nb-sidebar-link><span class="break-words">Error responses</span></a></li><li><a href="/fundamentals/reference/glossary/" data-nb-sidebar-link><span class="break-words">Glossary</span></a></li><li><a href="/fundamentals/reference/markdown-for-agents/" data-nb-sidebar-link><span class="break-words">Markdown for Agents</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-warning-muted text-warning px-2 py-0.5 text-xs">Beta</span></a></li><li><a href="/fundamentals/reference/network-layers/" data-nb-sidebar-link><span class="break-words">Network Layers</span></a></li><li><a href="/fundamentals/reference/network-ports/" data-nb-sidebar-link><span class="break-words">Network ports</span></a></li><li><a href="/fundamentals/reference/partners/" data-nb-sidebar-link><span class="break-words">Partners</span></a></li><li><a href="/fundamentals/reference/redirects/" data-nb-sidebar-link><span class="break-words">Redirects</span></a></li><li><a href="/fundamentals/reference/scans-penetration/" data-nb-sidebar-link><span class="break-words">Scans and penetration testing policy</span></a></li><li><a href="/fundamentals/reference/tcp-connections/" data-nb-sidebar-link><span class="break-words">TCP connections</span></a></li><li><a href="/fundamentals/reference/under-attack-mode/" data-nb-sidebar-link><span class="break-words">Under Attack mode</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">RSS Feeds</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/fundamentals/new-features/available-rss-feeds/" data-nb-sidebar-link><span class="break-words">Available RSS Feeds</span></a></li><li><a href="/fundamentals/new-features/consuming-rss-feeds/" data-nb-sidebar-link><span class="break-words">Consuming RSS Feeds</span></a></li></ul></div></div></div></li><li><div data-nb-collapsible class data-nb-sidebar-group="true"><button type="button" data-nb-collapsible-trigger class data-nb-sidebar-group-label="true" data-nb-state="closed" aria-expanded="false"><span data-nb-sidebar-group-text><span class="break-words">Agent resources</span></span><span data-nb-caret aria-hidden="true"></span></button><div data-nb-collapsible-content class data-nb-state="closed"><div><ul data-nb-sidebar-sublist><li><a href="/agent-setup/" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Agent setup ↗</span></a></li><li><a href="https://github.com/cloudflare/skills" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Cloudflare Skills ↗</span></a></li><li><a href="https://github.com/cloudflare/mcp" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Code Mode MCP Server ↗</span></a></li><li><a href="https://github.com/cloudflare/mcp-server-cloudflare" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Domain-specific MCP Servers ↗</span><span class="inline-flex items-center rounded-full font-medium whitespace-nowrap bg-info-muted text-info px-2 py-0.5 text-xs">MCP</span></a></li><li><a href="/fundamentals/llms.txt" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Cloudflare Fundamentals llms.txt ↗</span></a></li><li><a href="/fundamentals/llms-full.txt" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Cloudflare Fundamentals llms-full.txt ↗</span></a></li><li><a href="/llms.txt" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Cloudflare Docs llms.txt ↗</span></a></li><li><a href="/llms-full.txt" data-nb-sidebar-link target="_blank" rel="noopener"><span class="break-words">Cloudflare Docs llms-full.txt ↗</span></a></li></ul></div></div></div></li></ul></div><script type="module" src="/_astro/Sidebar.astro_astro_type_script_index_0_lang.C_-ZeN4J.js"></script></div></nav></div><div class="from-base pointer-events-none sticky bottom-0 h-8 bg-gradient-to-t to-transparent"></div></aside><script>
	(function () {
		try {
			if (!matchMedia("(min-width: 64rem)").matches) return;
			const sidebar = document.getElementById("desktop-sidebar");
			if (!sidebar) return;
			const content = sidebar.querySelector("[data-nb-sidebar]");
			if (!content) return;

			function setGroupOpen(group, open) {
				group.setAttribute("data-nb-default-open", open ? "true" : "false");
				const trigger = group.querySelector("[data-nb-collapsible-trigger]");
				const panel = group.querySelector("[data-nb-collapsible-content]");
				const state = open ? "open" : "closed";
				if (trigger) {
					trigger.setAttribute("data-nb-state", state);
					trigger.setAttribute("aria-expanded", String(open));
				}
				if (panel) panel.setAttribute("data-nb-state", state);
			}

			const raw = sessionStorage.getItem("sidebar-state");
			let state;
			if (raw) {
				state = JSON.parse(raw);
				if (state && content.dataset.nbSidebarHash === state.hash) {
					const groups = content.querySelectorAll("[data-nb-sidebar-group]");
					for (let i = 0; i < groups.length; i++) {
						if (typeof state.open[i] === "boolean") {
							setGroupOpen(groups[i], state.open[i]);
						}
					}
				}
			}

			// Active page's group must always be open, regardless of stored state
			const active = sidebar.querySelector("[aria-current='page']");
			if (active) {
				let d = active.closest("[data-nb-sidebar-group]");
				while (d) {
					setGroupOpen(d, true);
					d =
						d.parentElement &&
						d.parentElement.closest("[data-nb-sidebar-group]");
				}
			}

			// Restore scroll or center active item
			if (raw && state && state.scroll) {
				sidebar.scrollTop = state.scroll;
			} else if (active) {
				const sr = sidebar.getBoundingClientRect();
				const ar = active.getBoundingClientRect();
				sidebar.scrollTop += ar.top - sr.top - sr.height / 2 + ar.height / 2;
			}
		} catch {
			// Never let state restore break navigation.
		}
	})();
</script><div class="flex min-w-0 flex-1 flex-col"><div class="flex min-w-0 flex-1"><main id="main-content" class="min-w-0 flex-1"><div class="mx-auto px-4 pt-6 pb-12 lg:px-6 max-w-(--nb-content-max)"><nav aria-label="Breadcrumb" class="min-w-0 text-xs font-medium pb-2"><ol class="text-muted-foreground flex items-center"><li class="flex items-center flex-shrink-0"><a href="/" class="hover:text-foreground whitespace-nowrap transition-colors">Home</a></li><li class="flex items-center flex-shrink-0"><span class="text-muted-foreground/50 mx-1.5 flex-shrink-0">/</span><a href="/fundamentals/" class="hover:text-foreground whitespace-nowrap transition-colors">Cloudflare Fundamentals</a></li><li class="flex flex-shrink-0 items-center"><span class="text-muted-foreground/50 mx-1.5">/</span><details class="group relative"><summary class="hover:bg-accent hover:text-foreground cursor-pointer list-none rounded px-1 py-0.5 transition-colors select-none group-open:before:fixed group-open:before:inset-0 group-open:before:z-[39] group-open:before:cursor-default group-open:before:content-[''] [&amp;::-webkit-details-marker]:hidden" aria-label="Show 1 more path segments"><span class="tracking-widest">&hellip;</span></summary><div class="border-border bg-card absolute top-full left-0 z-40 mt-1 max-w-[16rem] min-w-[10rem] rounded-lg border p-1 shadow-lg"><span class="text-muted-foreground block truncate rounded-md px-2.5 py-1.5 text-xs">Cloudflare&#39;s API</span></div></details></li><li class="flex items-center flex-shrink-0"><span class="text-muted-foreground/50 mx-1.5 flex-shrink-0">/</span><span class="text-foreground whitespace-nowrap">Get started</span></li><li class="flex items-center min-w-0"><span class="text-muted-foreground/50 mx-1.5 flex-shrink-0">/</span><span class="text-foreground min-w-0 truncate" aria-current="page">Create API token</span></li></ol></nav><div id="_top"><div class="mt-6 flex flex-wrap items-center gap-3"><h1 class="text-foreground mb-0 leading-tight" style="font-size:var(--nb-h1-size);font-weight:var(--nb-h1-weight);letter-spacing:var(--nb-h1-tracking)">Create API token</h1></div><div data-nb-page-actions class="not-prose -ml-2 flex flex-wrap items-center gap-y-1 text-[0.8125rem] mt-3"><span data-nb-page-actions-updated class="text-muted-foreground inline-flex items-center gap-1.5 px-2 py-1 max-[900px]:hidden"><svg width="1em" height="1em" class="h-3.5 w-3.5" data-icon="ph:clock-counter-clockwise"><symbol id="ai:ph:clock-counter-clockwise" viewBox="0 0 256 256"><path fill="currentColor" d="M136 80v43.47l36.12 21.67a8 8 0 0 1-8.24 13.72l-40-24A8 8 0 0 1 120 128V80a8 8 0 0 1 16 0m-8-48a95.44 95.44 0 0 0-67.92 28.15C52.81 67.51 46.35 74.59 40 82V64a8 8 0 0 0-16 0v40a8 8 0 0 0 8 8h40a8 8 0 0 0 0-16H49c7.15-8.42 14.27-16.35 22.39-24.57a80 80 0 1 1 1.66 114.75a8 8 0 1 0-11 11.64A96 96 0 1 0 128 32"/></symbol><use href="#ai:ph:clock-counter-clockwise"></use></svg>Last updated <time datetime="2026-04-20T15:17:43.000Z">Apr 20, 2026</time></span><span aria-hidden="true" class="select-none text-muted-foreground/40 max-[900px]:hidden">|</span><button type="button" data-nb-page-actions-copy class="inline-flex cursor-pointer items-center gap-1.5 rounded-md bg-transparent px-2 py-1 text-muted-foreground no-underline transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2" aria-label="Copy Page as Markdown"><svg width="1em" height="1em" class="h-3.5 w-3.5" data-nb-page-actions-copy-icon="true" data-icon="ph:copy"><symbol id="ai:ph:copy" viewBox="0 0 256 256"><path fill="currentColor" d="M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z"/></symbol><use href="#ai:ph:copy"></use></svg><svg width="1em" height="1em" class="text-success hidden h-3.5 w-3.5" data-nb-page-actions-check-icon="true" data-icon="ph:check-circle"><symbol id="ai:ph:check-circle" viewBox="0 0 256 256"><path fill="currentColor" d="M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88"/></symbol><use href="#ai:ph:check-circle"></use></svg><span data-nb-page-actions-label aria-live="polite">Copy as Markdown</span></button><span aria-hidden="true" class="select-none text-muted-foreground/40">|</span><a href="index.md" target="_blank" rel="noopener noreferrer" class="inline-flex cursor-pointer items-center gap-1.5 rounded-md bg-transparent px-2 py-1 text-muted-foreground no-underline transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2" data-nb-page-actions-view aria-label="View Page as Markdown"><svg width="1em" height="1em" class="h-3.5 w-3.5" data-icon="ph:markdown-logo"><symbol id="ai:ph:markdown-logo" viewBox="0 0 256 256"><path fill="currentColor" d="M232 48H24A16 16 0 0 0 8 64v128a16 16 0 0 0 16 16h208a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16m0 144H24V64h208zm-104-88v48a8 8 0 0 1-16 0v-28.69l-18.34 18.35a8 8 0 0 1-11.32 0L64 123.31V152a8 8 0 0 1-16 0v-48a8 8 0 0 1 13.66-5.66L88 124.69l26.34-26.35A8 8 0 0 1 128 104m77.66 18.34a8 8 0 0 1 0 11.32l-24 24a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L168 132.69V104a8 8 0 0 1 16 0v28.69l10.34-10.35a8 8 0 0 1 11.32 0"/></symbol><use href="#ai:ph:markdown-logo"></use></svg>View as Markdown</a><span aria-hidden="true" class="select-none text-muted-foreground/40 max-[700px]:hidden">|</span><a href="/agent-setup/" target="_blank" rel="noopener noreferrer" class="inline-flex cursor-pointer items-center gap-1.5 rounded-md bg-transparent px-2 py-1 text-muted-foreground no-underline transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-2 max-[700px]:hidden" data-nb-page-actions-agent aria-label="Setup your agent to build on Cloudflare"><svg width="1em" height="1em" class="h-3.5 w-3.5" data-icon="ph:robot"><symbol id="ai:ph:robot" viewBox="0 0 256 256"><path fill="currentColor" d="M200 48h-64V16a8 8 0 0 0-16 0v32H56a32 32 0 0 0-32 32v112a32 32 0 0 0 32 32h144a32 32 0 0 0 32-32V80a32 32 0 0 0-32-32m16 144a16 16 0 0 1-16 16H56a16 16 0 0 1-16-16V80a16 16 0 0 1 16-16h144a16 16 0 0 1 16 16Zm-52-56H92a28 28 0 0 0 0 56h72a28 28 0 0 0 0-56m-24 16v24h-24v-24Zm-60 12a12 12 0 0 1 12-12h8v24h-8a12 12 0 0 1-12-12m84 12h-8v-24h8a12 12 0 0 1 0 24m-92-68a12 12 0 1 1 12 12a12 12 0 0 1-12-12m88 0a12 12 0 1 1 12 12a12 12 0 0 1-12-12"/></symbol><use href="#ai:ph:robot"></use></svg>Agent setup</a></div><script type="module" src="/_astro/PageActions.astro_astro_type_script_index_0_lang.C4xI5u3H.js"></script><div class="xl:bg-border mt-3 mb-6 h-px w-full bg-transparent" role="none"></div><article class="docs-content max-w-none"><aside role="note" aria-label="Prerequisite" class="aside-card flex items-start gap-3 rounded-lg px-4 py-3 my-4" style="--_c: var(--nb-info); --_t: var(--nb-info-muted);" data-astro-cid-znle5jil><span class="flex h-[1.375em] shrink-0 items-center" aria-hidden="true" data-astro-cid-znle5jil><svg width="1em" height="1em" class="h-[1em] w-[1em]" data-astro-cid-znle5jil="true" data-icon="ph:info"><symbol id="ai:ph:info" viewBox="0 0 256 256"><path fill="currentColor" d="M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m0 192a88 88 0 1 1 88-88a88.1 88.1 0 0 1-88 88m16-40a8 8 0 0 1-8 8a16 16 0 0 1-16-16v-40a8 8 0 0 1 0-16a16 16 0 0 1 16 16v40a8 8 0 0 1 8 8m-32-92a12 12 0 1 1 12 12a12 12 0 0 1-12-12"/></symbol><use href="#ai:ph:info"></use></svg></span><div class="flex min-w-0 flex-1 flex-col gap-0.5" data-astro-cid-znle5jil><p class="m-0 text-base leading-snug font-semibold" data-astro-cid-znle5jil>Prerequisite</p><div class="aside-card-body text-sm leading-normal" data-astro-cid-znle5jil><p>Before you begin, <a href="/fundamentals/account/find-account-and-zone-ids/">find your zone and account IDs</a>.</p></div></div></aside><div><stream-player data-id="4e92423fc9126a22af2b0c37825d4195" data-title="Create an API token"><div style="position: relative; padding-top: 56.25%"><iframe src="https://customer-1mwganm1ma0xgnmj.cloudflarestream.com/4e92423fc9126a22af2b0c37825d4195/iframe?preload=true&amp;letterboxColor=transparent&amp;poster=https%3A%2F%2Fimagedelivery.net%2FxDOJvHcv1KwTQn6S-BGFIw%2Fd1f88307-30b6-40e3-c38e-7cec03e5ed00%2Fpublic" style="border: none; position: absolute; top: 0; left: 0; height: 100%; width: 100%;" allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;" allowfullscreen="true" title="Create an API token" id="4e92423fc9126a22af2b0c37825d4195"></iframe></div></stream-player></div><script src="https://embed.cloudflarestream.com/embed/sdk.latest.js"></script><script type="module">var e=class extends HTMLElement{connectedCallback(){let e=CSS.escape(this.dataset.id),t=this.querySelector(`#${e}`),n=Stream(t),r=this.querySelectorAll(`[data-chapter]`);for(let e of r)e.addEventListener(`click`,()=>{let t=Number(e.dataset.time);n.currentTime=t})}};customElements.define(`stream-player`,e);</script><ol>
<li>
<p>Determine if you want a user token or an <a href="/fundamentals/api/get-started/account-owned-tokens/">Account API token</a>. Use Account API tokens if you prefer service tokens that are not associated with users and your <a href="/fundamentals/api/get-started/account-owned-tokens/#compatibility-matrix">desired API endpoints are compatible</a>.</p>
</li>
<li>
<p>From the <a href="https://dash.cloudflare.com/profile/api-tokens/" target="_blank" rel="noopener">Cloudflare dashboard<span class="external-link"> ↗</span></a>, go to <strong>My Profile</strong> &gt; <strong>API Tokens</strong> for user tokens. For Account Tokens, go to <strong>Manage Account</strong> &gt; <strong>API Tokens</strong>.</p>
</li>
<li>
<p>Select <strong>Create Token</strong>.</p>
</li>
<li>
<p>Select a template from the available <a href="/fundamentals/api/reference/template/">API token templates</a> or create a custom token. The following example uses the <strong>Edit zone DNS</strong> template.</p>
</li>
<li>
<p>Add or edit the token name to describe why or how the token is used. Templates are prefilled with a token name and permissions.</p>
<img src="/_astro/template-customize.Bt5BDoKm_Z9AGqy.webp" alt="Token template overview screen" loading="lazy" decoding="async" width="1677" height="1328"></li>
<li>
<p>Modify the token's permissions. After selecting a permissions group (<em>Account</em>, <em>User</em>, or <em>Zone</em>), choose what level of access to grant the token. Most groups offer <code>Edit</code> or <code>Read</code> options. <code>Edit</code> is full CRUDL (create, read, update, delete, list) access, while <code>Read</code> is the read permission and list where appropriate. Refer to the <a href="/fundamentals/api/reference/permissions/">available token permissions</a> for more information.</p>
</li>
<li>
<p>Select which resources the token is authorized to access. For example, granting <code>Zone DNS Read</code> access to a zone <code>example.com</code> will allow the token to read DNS records only for that specific zone. Any other zone will return an error for DNS record reads operations. Any other operation on that zone will also return an error.</p>
</li>
<li>
<p>(Optional) Restrict how a token is used in the <strong>Client IP Address Filtering</strong> and <strong>TTL (time to live)</strong> fields.</p>
</li>
<li>
<p>Select <strong>Continue to summary</strong>.</p>
</li>
<li>
<p>Review the token summary. Select <strong>Edit token</strong> to make adjustments. You can also edit a token after creation.</p>
</li>
</ol><img src="/_astro/token-summary.BFSJoL8C_ZVOPo8.webp" alt="Token summary screen displaying the resources and permissions selected" loading="lazy" decoding="async" width="1202" height="884">
<ol start="11">
<li>Select <strong>Create Token</strong> to generate the token's secret.</li>
<li>Copy the secret to a secure place.</li>
</ol>
<aside role="note" aria-label="Warning" class="aside-card flex items-start gap-3 rounded-lg px-4 py-3 my-4" style="--_c: var(--nb-warning); --_t: var(--nb-warning-muted);" data-astro-cid-znle5jil><span class="flex h-[1.375em] shrink-0 items-center" aria-hidden="true" data-astro-cid-znle5jil><svg width="1em" height="1em" class="h-[1em] w-[1em]" data-astro-cid-znle5jil="true" data-icon="ph:warning"><symbol id="ai:ph:warning" viewBox="0 0 256 256"><path fill="currentColor" d="M236.8 188.09L149.35 36.22a24.76 24.76 0 0 0-42.7 0L19.2 188.09a23.51 23.51 0 0 0 0 23.72A24.35 24.35 0 0 0 40.55 224h174.9a24.35 24.35 0 0 0 21.33-12.19a23.51 23.51 0 0 0 .02-23.72m-13.87 15.71a8.5 8.5 0 0 1-7.48 4.2H40.55a8.5 8.5 0 0 1-7.48-4.2a7.59 7.59 0 0 1 0-7.72l87.45-151.87a8.75 8.75 0 0 1 15 0l87.45 151.87a7.59 7.59 0 0 1-.04 7.72M120 144v-40a8 8 0 0 1 16 0v40a8 8 0 0 1-16 0m20 36a12 12 0 1 1-12-12a12 12 0 0 1 12 12"/></symbol><use href="#ai:ph:warning"></use></svg></span><div class="flex min-w-0 flex-1 flex-col gap-0.5" data-astro-cid-znle5jil><p class="m-0 text-base leading-snug font-semibold" data-astro-cid-znle5jil>Warning</p><div class="aside-card-body text-sm leading-normal" data-astro-cid-znle5jil><p>The token secret is <strong>only shown once</strong>. Do not store the secret in plaintext where others can access it. Anyone with this token can perform the authorized actions against the resources that the token has access to.</p></div></div></aside><img src="/_astro/token-complete.Dg4S1W72_Qfk9z.webp" alt="Token creation completion screen displaying your API token and the curl command to test your token" loading="lazy" decoding="async" width="1204" height="940">
<p>The token secret page also includes an example command to test the token. Use the <code>/user/tokens/verify</code> endpoint to fetch the current status of the given token.</p>
<figure class="nb-code-figure" data-nb-lang="bash"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="bash" data-nb-lang="bash"><code><span class="line"><span class="nb-shiki-1t8gfj">curl</span><span class="nb-shiki-mdbnqw"> "https://api.cloudflare.com/client/v4/user/tokens/verify"</span><span class="nb-shiki-dzsirb"> \</span></span>
<span class="line"><span class="nb-shiki-140thh">--header </span><span class="nb-shiki-mdbnqw">"Authorization: Bearer &lt;API_TOKEN&gt;"</span></span></code></pre></figure>
<p>The result:</p>
<figure class="nb-code-figure" data-nb-lang="json"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="json" data-nb-lang="json"><code><span class="line"><span class="nb-shiki-140thh">{</span></span>
<span class="line"><span class="nb-shiki-dzsirb">	"result"</span><span class="nb-shiki-140thh">: {</span></span>
<span class="line"><span class="nb-shiki-dzsirb">		"id"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-mdbnqw">"100bf38cc8393103870917dd535e0628"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-dzsirb">		"status"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-mdbnqw">"active"</span></span>
<span class="line"><span class="nb-shiki-140thh">	},</span></span>
<span class="line"><span class="nb-shiki-dzsirb">	"success"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">true</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-dzsirb">	"errors"</span><span class="nb-shiki-140thh">: [],</span></span>
<span class="line"><span class="nb-shiki-dzsirb">	"messages"</span><span class="nb-shiki-140thh">: [</span></span>
<span class="line"><span class="nb-shiki-140thh">		{</span></span>
<span class="line"><span class="nb-shiki-dzsirb">			"code"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">10000</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-dzsirb">			"message"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-mdbnqw">"This API Token is valid and active"</span><span class="nb-shiki-140thh">,</span></span>
<span class="line"><span class="nb-shiki-dzsirb">			"type"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">null</span></span>
<span class="line"><span class="nb-shiki-140thh">		}</span></span>
<span class="line"><span class="nb-shiki-140thh">	]</span></span>
<span class="line"><span class="nb-shiki-140thh">}</span></span></code></pre></figure>
<p>New API tokens use the <code>cfut_</code> prefixed <a href="/fundamentals/api/get-started/token-formats/">scannable format</a>, which allows credential scanning tools to detect leaked tokens.</p>
<p>With this you have successfully created an API token and can start working with the Cloudflare API. After creating your first API token, you can create additional API tokens <a href="/fundamentals/api/how-to/create-via-api/">via the API</a>.</p></article></div><nav aria-label="Pagination" class="border-border mt-12 flex items-center justify-between border-t pt-6"><a href="/fundamentals/security/under-ddos-attack/" class="group text-muted-foreground hover:text-foreground flex items-center gap-2 text-sm transition-colors"><svg width="1em" height="1em" class="h-4 w-4 transition-transform group-hover:-translate-x-0.5" data-icon="ph:caret-left"><symbol id="ai:ph:caret-left" viewBox="0 0 256 256"><path fill="currentColor" d="M165.66 202.34a8 8 0 0 1-11.32 11.32l-80-80a8 8 0 0 1 0-11.32l80-80a8 8 0 0 1 11.32 11.32L91.31 128Z"/></symbol><use href="#ai:ph:caret-left"></use></svg><span><span class="text-muted-foreground block text-xs">Previous</span><span class="text-foreground font-medium">Under a DDoS attack?</span></span></a><a href="/fundamentals/api/get-started/keys/" class="group text-muted-foreground hover:text-foreground flex items-center gap-2 text-right text-sm transition-colors"><span><span class="text-muted-foreground block text-xs">Next</span><span class="text-foreground font-medium">Get Global API key (legacy)</span></span><svg width="1em" height="1em" class="h-4 w-4 transition-transform group-hover:translate-x-0.5" data-icon="ph:caret-right"><symbol id="ai:ph:caret-right" viewBox="0 0 256 256"><path fill="currentColor" d="m181.66 133.66l-80 80a8 8 0 0 1-11.32-11.32L164.69 128L90.34 53.66a8 8 0 0 1 11.32-11.32l80 80a8 8 0 0 1 0 11.32"/></symbol><use href="#ai:ph:caret-right"></use></svg></a></nav><div class="mt-10 flex flex-col gap-5 xl:hidden"><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script><script>(()=>{var g=Object.defineProperty;var w=(a,s,c)=>s in a?g(a,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[s]=c;var l=(a,s,c)=>w(a,typeof s!="symbol"?s+"":s,c);var E=new Set(["__proto__","constructor","prototype"]);{let a={0:t=>y(t),1:t=>c(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(c(t)),5:t=>new Set(c(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in a?a[p](e):void 0},c=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let r=this.querySelectorAll("astro-slot"),n={},d=this.querySelectorAll("template[data-astro-template]");for(let o of d){let i=o.closest(this.tagName);i!=null&&i.isSameNode(this)&&(n[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of r){let i=o.closest(this.tagName);i!=null&&i.isSameNode(this)&&(n[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let i=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(i+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${i}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),r.disconnect(),this.childrenConnectedCallback()},r=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});r.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let r=new URL(e,document.baseURI);return r.searchParams.set("astro-retry",Date.now().toString()),r.toString()}async importWithRetry(e){try{return await import(e)}catch(r){return await new Promise(n=>setTimeout(n,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let r=this.getAttribute("component-url"),n=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:r}});this.dispatchEvent(n)&&console.error(`[astro-island] Error hydrating ${r}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),r=this.getAttribute("client");if(Astro[r]===void 0){window.addEventListener(`astro:${r}`,()=>this.start(),{once:!0});return}try{await Astro[r](async()=>{let n=this.getAttribute("renderer-url");try{let[d,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),n?this.importWithRetry(n):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=d;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=d[h]}return this.hydrator=u,this.hydrate}catch(d){return this.handleHydrationError(d),()=>{}}},e,this)}catch(n){this.handleHydrationError(n)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script><astro-island uid="Z1D1dIe" prefix="r4" component-url="/_astro/FeedbackPrompt.CSrpTRFR.js" component-export="default" renderer-url="/_astro/client.3QzC368V.js" props="{&quot;id&quot;:[0,&quot;feedback-form-content&quot;]}" ssr client="idle" opts="{&quot;name&quot;:&quot;FeedbackPrompt&quot;,&quot;value&quot;:true}" await-children><div id="feedback-form-content"><p class="text-muted-foreground m-0 text-[11px] font-semibold tracking-widest uppercase">Was this helpful?</p><div class="mt-3 flex gap-2"><button class="border-border bg-background text-foreground hover:bg-accent hover:text-foreground inline-flex h-8 cursor-pointer items-center gap-1.5 rounded-lg border px-3 text-[13px] font-medium shadow-none transition-colors duration-150"><span aria-hidden="true" class="size-[18px] opacity-70"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor"><path d="M234,80.12A24,24,0,0,0,216,72H160V56a40,40,0,0,0-40-40,8,8,0,0,0-7.16,4.42L75.06,96H32a16,16,0,0,0-16,16v88a16,16,0,0,0,16,16H204a24,24,0,0,0,23.82-21l12-96A24,24,0,0,0,234,80.12ZM32,112H72v88H32ZM223.94,97l-12,96a8,8,0,0,1-7.94,7H88V105.89l36.71-73.43A24,24,0,0,1,144,56V80a8,8,0,0,0,8,8h64a8,8,0,0,1,7.94,9Z"/></svg></span><span>Yes</span></button><button class="border-border bg-background text-foreground hover:bg-accent hover:text-foreground inline-flex h-8 cursor-pointer items-center gap-1.5 rounded-lg border px-3 text-[13px] font-medium shadow-none transition-colors duration-150"><span aria-hidden="true" class="size-[18px] opacity-70"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor"><path d="M239.82,157l-12-96A24,24,0,0,0,204,40H32A16,16,0,0,0,16,56v88a16,16,0,0,0,16,16H75.06l37.78,75.58A8,8,0,0,0,120,240a40,40,0,0,0,40-40V184h56a24,24,0,0,0,23.82-27ZM72,144H32V56H72Zm150,21.29a7.88,7.88,0,0,1-6,2.71H152a8,8,0,0,0-8,8v24a24,24,0,0,1-19.29,23.54L88,150.11V56H204a8,8,0,0,1,7.94,7l12,96A7.87,7.87,0,0,1,222,165.29Z"/></svg></span><span>No</span></button></div></div><!--astro:end--></astro-island><nav aria-label="Page actions" class="flex flex-col gap-3"><a href="https://github.com/cloudflare/cloudflare-docs/edit/production/src/content/docs/fundamentals/api/get-started/create-token.mdx" target="_blank" rel="noopener" class="group inline-flex items-center gap-2 text-[13px] text-muted-foreground no-underline transition-colors hover:text-foreground"><svg width="1em" height="1em" class="h-3.5 w-3.5" aria-hidden="true" data-icon="ph:pencil-simple"><symbol id="ai:ph:pencil-simple" viewBox="0 0 256 256"><path fill="currentColor" d="m227.31 73.37l-44.68-44.69a16 16 0 0 0-22.63 0L36.69 152A15.86 15.86 0 0 0 32 163.31V208a16 16 0 0 0 16 16h44.69a15.86 15.86 0 0 0 11.31-4.69L227.31 96a16 16 0 0 0 0-22.63M92.69 208H48v-44.69l88-88L180.69 120ZM192 108.68L147.31 64l24-24L216 84.68Z"/></symbol><use href="#ai:ph:pencil-simple"></use></svg><span>Edit page</span></a><a href="https://github.com/cloudflare/cloudflare-docs/issues/new/choose" target="_blank" rel="noopener" class="group inline-flex items-center gap-2 text-[13px] text-muted-foreground no-underline transition-colors hover:text-foreground"><svg width="1em" height="1em" viewBox="0 0 256 256" class="h-3.5 w-3.5" aria-hidden="true" data-icon="ph:github-logo"><use href="#ai:ph:github-logo"></use></svg><span>Report issue</span></a></nav></div></div></main><aside data-nb-toc-scroll-host class="sticky top-14 hidden max-h-[calc(100vh-3.5rem)] w-(--nb-toc-width) shrink-0 overflow-y-auto xl:block"><div class="pt-6 pr-6 pb-8 pl-8"><div data-nb-toc class="toc-container"><h2 id="nb-on-this-page" class="text-foreground mb-2 text-sm font-semibold">On this page</h2><nav aria-labelledby="nb-on-this-page" class="relative"><svg data-nb-toc-rail aria-hidden="true" class="pointer-events-none absolute inset-0 h-full w-full overflow-visible" fill="none"><path data-nb-toc-rail-active class="stroke-primary opacity-0 transition-[stroke-dasharray,stroke-dashoffset,opacity] duration-300 ease-[cubic-bezier(0.32,0.72,0,1)] data-[initial=true]:transition-opacity data-[ready=true]:opacity-100 motion-reduce:transition-opacity" stroke-width="2" stroke-linecap="round"></path></svg><ul class="m-0 flex list-none flex-col p-0"><li><a href="#_top" data-nb-toc-link data-nb-slug="_top" class="border-border text-muted-foreground hover:border-foreground/20 hover:text-foreground aria-[current=true]:text-foreground block border-l-2 py-1.5 pl-5 text-[0.8125rem] leading-snug no-underline transition-colors duration-150" style="margin-left: calc(0rem - 0.125rem);">Overview</a></li></ul></nav></div><script type="module" src="/_astro/TOC.astro_astro_type_script_index_0_lang.DTjdRdNt.js"></script><div class="border-border mt-8 flex flex-col gap-5 border-t pt-6"><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><astro-island uid="Z2j5UfC" component-url="/_astro/FeedbackPrompt.CSrpTRFR.js" component-export="default" renderer-url="/_astro/client.3QzC368V.js" props="{&quot;id&quot;:[0,&quot;feedback-form-toc&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;FeedbackPrompt&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island><nav aria-label="Page actions" class="flex flex-col gap-3"><a href="https://github.com/cloudflare/cloudflare-docs/edit/production/src/content/docs/fundamentals/api/get-started/create-token.mdx" target="_blank" rel="noopener" class="group inline-flex items-center gap-2 text-[13px] text-muted-foreground no-underline transition-colors hover:text-foreground"><svg width="1em" height="1em" viewBox="0 0 256 256" class="h-3.5 w-3.5" aria-hidden="true" data-icon="ph:pencil-simple"><use href="#ai:ph:pencil-simple"></use></svg><span>Edit page</span></a><a href="https://github.com/cloudflare/cloudflare-docs/issues/new/choose" target="_blank" rel="noopener" class="group inline-flex items-center gap-2 text-[13px] text-muted-foreground no-underline transition-colors hover:text-foreground"><svg width="1em" height="1em" viewBox="0 0 256 256" class="h-3.5 w-3.5" aria-hidden="true" data-icon="ph:github-logo"><use href="#ai:ph:github-logo"></use></svg><span>Report issue</span></a></nav></div></div></aside></div></div></div><footer class="nb-footer z-10 w-full overflow-x-clip px-px" data-astro-cid-jo6i4kqk><svg class="block h-px w-full relative left-1/2 w-screen -translate-x-1/2" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--nb-border)" stroke-width="1" stroke-dasharray="16,16"></line></svg><div class="footer-scroll-host bg-background-100 px-section relative mx-auto flex w-full flex-col justify-between overflow-visible bg-linear-to-b pt-8 select-none [@media(max-height:924px)]:min-h-screen" data-astro-cid-jo6i4kqk><div class="pointer-events-none relative mx-auto flex h-full w-full max-w-[1480px] flex-col items-start gap-8 pb-8 lg:justify-between" data-astro-cid-jo6i4kqk><div class="flex justify-start lg:block lg:justify-center" data-astro-cid-jo6i4kqk><div class="flex flex-col items-start justify-start transition-opacity duration-200 ease-out lg:flex-row" data-astro-cid-jo6i4kqk><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 719 59" fill="none" class="footer-cf-wordmark text-foreground-200 h-[12px] w-auto" aria-label="Cloudflare wordmark" role="img" data-astro-cid-jo6i4kqk="true"><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor"></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor"></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor"></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor"></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor"></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor"></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor"></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor"></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor"></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor"></path></svg></div></div><div class="grid w-full grid-cols-1 justify-start gap-8 lg:ml-auto lg:w-auto lg:grid-cols-4 lg:items-stretch" data-astro-cid-jo6i4kqk><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-jo6i4kqk><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Getting started</span></div><a href="https://www.cloudflare.com/plans/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Plans</a><a href="https://www.cloudflare.com/resource/contact-enterprise-sales/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Contact sales</a><a href="https://www.cloudflare.com/partners/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Partners</a><a href="https://partnerlocator.cloudflare.com/dashboard" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Find a partner</a><a href="https://www.cloudflare.com/startups/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Startups</a><a href="https://www.cloudflare.com/under-attack-hotline/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Under attack?</a><a href="https://domains.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Domain name search</a></div><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Company</span></div><a href="https://www.cloudflare.com/about/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>About</a><a href="https://www.cloudflare.com/careers/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Careers</a><a href="https://cloudflare.net/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Investors</a><a href="https://www.cloudflare.com/press/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Press</a><a href="https://www.cloudflare.com/press/press-kit/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Press kit</a><a href="https://www.cloudflare.com/network/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Global network</a></div></div><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-jo6i4kqk><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Public interest</span></div><a href="https://www.cloudflare.com/galileo/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Project Galileo</a><a href="https://www.cloudflare.com/athenian/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Athenian Project</a><a href="https://www.cloudflare.com/campaigns/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Cloudflare for Campaigns</a><a href="https://www.cloudflare.com/fair-shot/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Project Fairshot</a><a href="https://www.cloudflare.com/impact/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Impact/ESG</a></div><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Compliance</span></div><a href="https://www.cloudflare.com/trust-hub/compliance-resources/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Compliance resources</a><a href="https://www.cloudflare.com/trust-hub/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Trust Hub</a><a href="https://www.cloudflare.com/trust-hub/gdpr/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Data Protection</a><a href="https://www.cloudflare.com/trust-hub/responsible-ai/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Responsible AI</a><a href="https://www.cloudflare.com/transparency/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Transparency report</a><a href="https://www.cloudflare.com/trust-hub/abuse-approach/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Report abuse</a></div></div><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-jo6i4kqk><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Resources</span></div><a href="https://www.cloudflare.com/resource/app-innovation-report/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>App innovation report</a><a href="https://radar.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Cloudflare Radar</a><a href="https://www.cloudflare.com/case-studies/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Case studies</a><a href="https://www.cloudflarestatus.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Status</a><a href="https://support.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Support</a><a href="https://www.cloudflare.com/events/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Events</a><a href="https://blog.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Blog</a></div><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Developers</span></div><a href="https://developers.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Documentation</a><a href="https://www.cloudflare.com/learning/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Learning center</a><a href="https://community.cloudflare.com/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Community</a></div></div><div class="grid w-full grid-cols-2 gap-8 lg:h-full lg:max-w-[264px] lg:grid-cols-1 lg:grid-rows-2 lg:gap-y-10" data-astro-cid-jo6i4kqk><div class="flex w-full flex-col lg:min-h-0" data-astro-cid-jo6i4kqk><div class="flex w-full pb-2 lg:pb-3" data-astro-cid-jo6i4kqk><span class="text-tertiary hover:text-foreground-200/70 text-[13px] leading-none font-medium transition-colors duration-200 max-lg:text-xs" data-astro-cid-jo6i4kqk>Solutions</span></div><a href="https://www.cloudflare.com/sase/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>SSE and SASE platform</a><a href="https://www.cloudflare.com/solutions/ai/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Cloudflare AI Cloud</a><a href="https://www.cloudflare.com/solutions/ai-security/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>AI Security</a><a href="https://www.cloudflare.com/solutions/frontends/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Frontend Development Platform</a><a href="https://www.cloudflare.com/solutions/platforms/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Multi-Tenant Platform Development</a><a href="https://www.cloudflare.com/solutions/security/" class="text-foreground-200 hover:text-tertiary pointer-events-auto py-1 text-[15px] leading-snug transition-colors duration-200 ease-out lg:py-1.5" data-astro-cid-jo6i4kqk>Web Security Platform</a></div></div><div class="pointer-events-auto flex flex-col items-start gap-2 lg:hidden" data-astro-cid-jo6i4kqk><a href="https://dash.cloudflare.com/sign-up" class="pointer-events-auto inline-flex w-fit items-center justify-center gap-0 whitespace-nowrap p-0 text-[14px] leading-[20px] font-medium text-foreground-100 underline-offset-2 transition-colors duration-200 ease-out hover:text-accent-100 hover:underline" data-astro-cid-jo6i4kqk>Start Building<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-4 shrink-0" aria-hidden="true" data-astro-cid-jo6i4kqk><path d="M7 17 17 7m0 0H7m10 0v10" data-astro-cid-jo6i4kqk></path></svg></a><a href="https://dash.cloudflare.com/login" class="pointer-events-auto inline-flex w-fit items-center justify-center gap-0 whitespace-nowrap p-0 text-[14px] leading-[20px] font-medium text-foreground-100 underline-offset-2 transition-colors duration-200 ease-out hover:text-accent-100 hover:underline" data-astro-cid-jo6i4kqk>Log In<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-4 shrink-0" aria-hidden="true" data-astro-cid-jo6i4kqk><path d="M7 17 17 7m0 0H7m10 0v10" data-astro-cid-jo6i4kqk></path></svg></a></div></div><div class="pointer-events-none relative flex w-full flex-1 items-end" data-astro-cid-jo6i4kqk><div class="text-accent-100 aspect-561/250 w-full overflow-hidden pb-5 lg:hidden" data-astro-cid-jo6i4kqk><svg aria-hidden="true" viewBox="0 0 561 250" fill="none" xmlns="http://www.w3.org/2000/svg" class="block h-full w-full" data-astro-cid-jo6i4kqk><g opacity="0.42" stroke="currentColor" stroke-width="0.75" stroke-dasharray="3.11 3.11" data-astro-cid-jo6i4kqk><ellipse cx="303.718" cy="134.931" rx="134.906" ry="134.556" data-astro-cid-jo6i4kqk></ellipse><ellipse cx="140.739" cy="138.82" rx="60.8247" ry="60.6667" data-astro-cid-jo6i4kqk></ellipse><ellipse cx="89.2726" cy="238.375" rx="88.8976" ry="88.6667" data-astro-cid-jo6i4kqk></ellipse><ellipse cx="455.776" cy="215.042" rx="106.053" ry="105.778" data-astro-cid-jo6i4kqk></ellipse><circle cx="467.797" cy="264.875" r="71.5" data-astro-cid-jo6i4kqk></circle><ellipse cx="355.961" cy="109.264" rx="71.7419" ry="71.5556" data-astro-cid-jo6i4kqk></ellipse><ellipse cx="358.524" cy="224.375" rx="31.1921" ry="31.1111" data-astro-cid-jo6i4kqk></ellipse><ellipse cx="465.579" cy="149.708" rx="31.1921" ry="31.1111" data-astro-cid-jo6i4kqk></ellipse></g><g fill="none" stroke="currentColor" stroke-width="0.75" data-astro-cid-jo6i4kqk><path d="M452.193 109.264C511.94 109.264 560.375 156.622 560.375 215.042C560.375 225.456 558.837 235.519 555.969 245.025C555.199 247.577 552.76 249.264 550.039 249.264H399.529C397.297 249.264 395.758 247.075 396.559 245.038L399.435 237.713C408.625 214.212 434.844 194.96 459.101 193.832L505.082 191.529C507.538 191.406 509.466 189.422 509.466 187.017C509.466 184.625 507.558 182.646 505.116 182.506L461.938 180.023C438.725 178.868 427.384 158.791 433.627 137.869L440.812 113.789C441.543 111.34 443.728 109.558 446.334 109.42C448.274 109.317 450.227 109.264 452.193 109.264Z" data-astro-cid-jo6i4kqk></path><path d="M302.648 0.375C364.95 0.375 417.285 42.0634 432.087 98.4665C432.709 100.835 432.514 103.334 431.626 105.62L419.772 136.131C410.583 159.631 386.966 180.011 360.244 180.011L154.404 182.323C151.92 182.352 149.921 184.33 149.92 186.759C149.92 189.186 151.916 191.166 154.398 191.198L357.338 193.82C380.602 193.82 391.892 215.052 385.652 235.975L383.033 244.779C382.243 247.436 379.753 249.264 376.922 249.264H6.79428C3.62784 249.264 0.918159 246.989 0.664591 243.902C0.47264 241.566 0.375 239.204 0.375 236.819C0.375 191.386 35.9484 154.08 81.3467 150.07C80.4151 145.946 79.9205 141.662 79.9205 137.264C79.9205 104.618 106.987 78.1528 140.375 78.1528C153.663 78.1528 165.947 82.347 175.925 89.4518C193.691 37.6773 243.713 0.375 302.648 0.375Z" data-astro-cid-jo6i4kqk></path></g></svg></div></div></div><div class="bg-background-100 flex flex-col pb-4" data-astro-cid-jo6i4kqk><svg class="block h-px w-full relative left-1/2 w-screen -translate-x-1/2" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--nb-border)" stroke-width="1" stroke-dasharray="16,16"></line></svg><section class="animate-in mx-auto fade-in transition-opacity delay-100 duration-2000 ease-out relative z-0 bg-background-100 -mt-0.5 flex w-full flex-col overflow-hidden md:hidden "><svg class="corner-line top-line absolute top-0 left-1/2 h-1 -translate-x-1/2 transition-opacity duration-2000 ease-out w-[200dvw]" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--nb-border)" stroke-width="1" stroke-dasharray="16,16"></line></svg><div class="relative mb-2 h-20 w-full"><svg class="pointer-events-none absolute inset-0 z-0 h-full w-full" aria-hidden="true"><pattern id="nb-dots-3ki" x="0" y="0" width="12" height="12" patternUnits="userSpaceOnUse"><circle cx="6" cy="6" r="0.75" fill="var(--nb-grid-line)"></circle></pattern><rect x="0" y="0" width="100%" height="100%" fill="url(#nb-dots-3ki)"></rect></svg></div><svg class="corner-line bottom-line absolute bottom-0 left-1/2 h-1 w-[200dvw] -translate-x-1/2 transition-opacity duration-2000 ease-out" preserveAspectRatio="none" aria-hidden="true"><line x1="0" y1="0.5" x2="100%" y2="0.5" stroke="var(--nb-border)" stroke-width="1" stroke-dasharray="16,16"></line></svg></section><div class="pointer-events-auto relative z-10 mx-auto mt-4 flex w-full max-w-[1480px] flex-col justify-between gap-3 md:flex-row md:items-center md:gap-4 lg:gap-8" data-astro-cid-jo6i4kqk><span class="text-tertiary text-center text-[13px] leading-tight sm:text-left lg:text-[14px]" data-astro-cid-jo6i4kqk>© 2026 Cloudflare, Inc.</span><div class="text-tertiary mr-4 flex flex-col flex-wrap items-center justify-center gap-y-2 text-center text-[13px] leading-tight sm:justify-end sm:text-right md:flex-row lg:text-[14px]" data-astro-cid-jo6i4kqk><div class="max-w-[32ch] sm:max-w-none" data-astro-cid-jo6i4kqk><a href="https://www.cloudflare.com/policies/privacy/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out font-medium text-foreground-100">Privacy policy</a><span class="mx-1.5">|</span> <a href="https://www.cloudflare.com/disclosure/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out">Report security issues</a><span class="mx-1.5">|</span> <a href="https://www.cloudflare.com/policies/terms/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out">Terms of use</a><span class="mx-1.5">|</span> <a href="https://www.cloudflare.com/trademark/" class="hover:text-foreground-100/70 transition-colors duration-400 ease-out">Trademark</a></div><span aria-hidden="true" class="mx-1.5 hidden sm:inline" data-astro-cid-jo6i4kqk>|</span><script src="https://ot.www.cloudflare.com/public/vendor/onetrust/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="b1e05d49-f072-4bae-9116-bdb78af15448"></script><script type="text/javascript">
	// eslint-disable-next-line @typescript-eslint/no-unused-vars
	function OptanonWrapper() {}
</script><!-- OneTrust Cookies Settings button start --><div class="inline-flex items-center gap-2" data-astro-cid-sbh7lytb><img src="/_astro/privacyoptions.BWXSiJOZ_1oqSoo.svg" alt="privacy options" data-astro-cid-sbh7lytb="true" loading="lazy" decoding="async" width="26" height="12"><button id="ot-sdk-btn" class="ot-sdk-show-settings" data-astro-cid-sbh7lytb>Your privacy choices</button></div><!-- OneTrust Cookies Settings button end --></div></div></div></div></footer></div></div><dialog data-mobile-sidebar data-state="closed" class="group fixed inset-0 m-0 h-full max-h-full w-full max-w-full border-0 bg-transparent p-0 data-[state=closing]:bg-black/40 data-[state=open]:bg-black/40" aria-label="Site navigation"><div data-mobile-sidebar-panel class="bg-background h-full w-full -translate-x-full overflow-y-auto shadow-lg transition-transform duration-250 ease-out group-data-[state=open]:translate-x-0 motion-reduce:transition-none"><div class="border-border sticky top-0 z-[1] flex items-center justify-between border-b bg-inherit px-4 py-3"><a href="/" aria-label="Cloudflare Docs" class="group flex items-center gap-2 no-underline"><img src="/_astro/logo.DMYpXs3t.svg" alt="" width="51" height="23" class="h-[20px] w-auto"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 719 59" fill="none" role="img" aria-label="Cloudflare" class="text-foreground group-hover:text-primary hidden h-[11px] w-auto transition-colors sm:block"><path d="M77.1016 1.09961H92.7015V43.5996H119.802V57.1996H77.1016V1.09961Z" fill="currentColor"></path><path d="M135.898 29.3V29.2C135.898 13.1 148.898 0 166.198 0C183.498 0 196.298 12.9 196.298 29V29.2C196.298 45.3 183.298 58.4 165.998 58.4C148.798 58.3 135.898 45.4 135.898 29.3ZM180.498 29.3V29.2C180.498 21.1 174.698 14.1 166.098 14.1C157.598 14.1 151.898 21 151.898 29.1V29.3C151.898 37.4 157.698 44.4 166.198 44.4C174.798 44.3 180.498 37.4 180.498 29.3Z" fill="currentColor"></path><path d="M215.398 32.5996V1.09961H231.198V32.2996C231.198 40.3996 235.298 44.1996 241.498 44.1996C247.698 44.1996 251.798 40.4996 251.798 32.6996V1.09961H267.598V32.1996C267.598 50.2996 257.298 58.1996 241.298 58.1996C225.398 58.2996 215.398 50.1996 215.398 32.5996Z" fill="currentColor"></path><path d="M291.398 1.09961H313.098C333.098 1.09961 344.798 12.5996 344.798 28.7996V28.9996C344.798 45.1996 332.998 57.1996 312.798 57.1996H291.498L291.398 1.09961ZM313.298 43.3996C322.598 43.3996 328.798 38.2996 328.798 29.1996V28.9996C328.798 19.9996 322.598 14.7996 313.298 14.7996H306.998V43.2996L313.298 43.3996Z" fill="currentColor"></path><path d="M367.297 1.09961H412.197V14.7996H382.797V24.2996H409.397V37.1996H382.797V57.1996H367.297V1.09961Z" fill="currentColor"></path><path d="M433.797 1.09961H449.297V43.5996H476.497V57.1996H433.797V1.09961Z" fill="currentColor"></path><path d="M517.097 0.699219H532.097L555.997 57.1992H539.297L535.197 47.1992H513.597L509.597 57.1992H493.297L517.097 0.699219ZM530.797 35.0992L524.597 19.1992L518.297 35.0992H530.797Z" fill="currentColor"></path><path d="M576 1.09961H602.5C611.1 1.09961 617 3.29962 620.8 7.19962C624.1 10.3996 625.8 14.6996 625.8 20.2996V20.4996C625.8 29.0996 621.2 34.7996 614.3 37.6996L627.7 57.2996H609.7L598.4 40.2996H591.6V57.2996H576.1L576 1.09961ZM601.8 28.0996C607.1 28.0996 610.1 25.4996 610.1 21.4996V21.1996C610.1 16.7996 606.9 14.5996 601.7 14.5996H591.5V28.0996H601.8Z" fill="currentColor"></path><path d="M648.203 1.09961H693.303V14.3996H663.603V22.7996H690.503V35.0996H663.603V43.9996H693.703V57.1996H648.203V1.09961Z" fill="currentColor"></path><path d="M43.1 35.9C40.9 40.8 36.3 44.3 30.3 44.3C21.8 44.3 16 37.2 16 29.2V29C16 20.9 21.7 14 30.2 14C36.6 14 41.5 17.9 43.5 23.3H59.9C57.3 9.9 45.5 0 30.3 0C13 0 0 13.1 0 29.2V29.4C0 45.5 12.8 58.4 30.1 58.4C44.9 58.4 56.5 48.8 59.5 36L43.1 35.9Z" fill="currentColor"></path></svg><span class="text-foreground/70 border-border-strong hidden rounded-md border px-1.5 py-0.5 text-[11px] leading-none font-semibold tracking-[0.08em] uppercase sm:inline-block">Docs</span></a><button data-close-sidebar class="text-muted-foreground hover:bg-accent hover:text-foreground flex h-8 w-8 items-center justify-center rounded-md transition-colors" aria-label="Close sidebar"><svg width="1em" height="1em" class="h-5 w-5" data-icon="ph:x"><symbol id="ai:ph:x" viewBox="0 0 256 256"><path fill="currentColor" d="M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z"/></symbol><use href="#ai:ph:x"></use></svg></button></div><div data-mobile-sidebar-slot></div></div></dialog><button type="button" data-nb-scroll-top aria-label="Scroll to top" class="border-border bg-background text-foreground hover:text-primary hover:border-primary focus-visible:ring-primary pointer-events-none fixed right-6 bottom-6 z-40 grid size-11 translate-y-2 place-items-center rounded-full border opacity-0 shadow-md transition-[opacity,transform] duration-200 focus-visible:ring-2 focus-visible:outline-none data-[nb-visible]:pointer-events-auto data-[nb-visible]:translate-y-0 data-[nb-visible]:opacity-100 motion-reduce:transition-none print:hidden" data-astro-cid-yfiougcv><svg class="nb-scroll-ring pointer-events-none absolute inset-0 size-full -rotate-90" viewBox="0 0 44 44" fill="none" aria-hidden="true" data-astro-cid-yfiougcv><circle class="nb-scroll-track" cx="22" cy="22" r="20" stroke-width="2" data-astro-cid-yfiougcv></circle><circle class="nb-scroll-progress" cx="22" cy="22" r="20" stroke-width="2" pathLength="1" data-astro-cid-yfiougcv></circle></svg><svg width="1em" height="1em" class="relative size-4" data-astro-cid-yfiougcv="true" data-icon="ph:arrow-up-bold"><symbol id="ai:ph:arrow-up-bold" viewBox="0 0 256 256"><path fill="currentColor" d="M208.49 120.49a12 12 0 0 1-17 0L140 69v147a12 12 0 0 1-24 0V69l-51.51 51.49a12 12 0 0 1-17-17l72-72a12 12 0 0 1 17 0l72 72a12 12 0 0 1 0 17"/></symbol><use href="#ai:ph:arrow-up-bold"></use></svg></button><script type="module" src="/_astro/BaseLayout.astro_astro_type_script_index_0_lang.ldHViqtN.js"></script><script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"0589387b238e41af8aafea4d88cd2c64"}' crossorigin="anonymous"></script>
</body></html>